比特币中运用到的密码学原理
哈希函数
性质1:哈希碰撞 Collision resistance
- 输入空间无限,而输出空间有限。因此hash碰撞一定存在。
- 但是在给定x的情况下,很难找到一个y,使h(x) = h(y)
性质2:单向性 hiding
- 给定x的情况下,能计算出其hash值h(x);但是在给定hash值h(x)的情况下,不可以计算出x
- 前提:输入空间足够大且分布均匀
性质3:puzzle friendly
哈希值的计算,事先是不可预测的。如果希望哈希值落在某个范围内,则只能进行一次一次的计算。
比特币挖矿的本质就是找一个随机数nonce,使该随机数与区块块头的其他信息合在一起做为输入,其哈希值小于等于指定的阈值。工作量证明。
比特币中用的哈希函数为:SHA256 (Secure Hash Algorithm)
签名
比特币开户:本地生成一个公私钥对。比特币发起一笔转账时,使用自己的私钥进行加密(签名),其他人使用我的公钥进行解密(验证)。
没有评论