crypto-currency 密码货币
cryptographic hash function 加密哈希函数三大性质:
collision resistance 哈希碰撞
x!=y, H(x) = H(y)
应用:上传云文件先算Hash,下一次用再算一次,看是否相等
hiding
x->H(x) 单向不可逆(输入空间足够大,蛮力求解无法实现)
digital commitment
digital equivalent of a sealed envelope
H(x||nonce) 拼接一个nonce保证输入随机和均匀
puzzle friendly
H(block header)<=target (target space)
proof of work(工作量证明)
挖矿很难,但是验证很容易
difficult to solve, but easy to verify
比特币中用的Hash函数:SHA-256(secure Hash Algorithm)
签名开户: 独立生成公私钥(public key, private key)(公钥,私钥)
asymmetric encryption algorithm(非对称加密算法)
两个人进行网络通信:公钥加密,私钥解密(都用接收方的进行加密和解密)
私钥保存在本地,双方都不需要知道对方的私钥。
签名用的是私钥,验证签名用的是公钥,这样保证交易是本人。
256位的哈希值,产生相同公钥私钥的概率几乎不可能
a good source of randomness
随机元要选好
Bite币中:先对message ->取Hash->再对Hash值签名