这篇文章将会讲解比特币的加密原理。比特币之所以这么安全,就是因为它的加密机制。
比特币常用hash函数:SHA-256 (Secure Hash Alogorithm)
collision resistance 抗碰撞性:
①. collision 指哈希碰撞:
两个不同的值经哈希函数结果相等
X≠Y=> H(X)=H(Y)
②. collision resistence: 没有高效的方法人为制造哈希碰撞,只能蛮力求解(brute-force)
③. 用处:对信息求digist(键),使被篡改的内容没有办法不被检测出来
④. 没有任何一种hash函数能被理论证明是符合collision
resistance的,只能通过实践认定。(但是动态变化的,曾经MD5很安全,现在已经被破茧)
hiding 隐秘性
①. 说明:哈希函数的计算过程是单向、不可逆的,不能从H(X)算回X
②. 条件:
a) 范围空间大,使蛮力取值不可取
b)输入分布均匀,各取值可能性差不多
1+2 -> digital commitment(数字委托书)/equivalent of a sealed envelope
若X比较小时,X后拼接一个随机数nonce 算哈希函数H(X|| nonce)
puzzle friendly 谜题友好
①. 表示:看到X,事先不可预测H(X)
difficult to solve, but easy to verify.
举例:挖矿时,要求H(block header) ≤ target,求block header里的随机数nonce,只能一一枚举。
区块链开户
①. 区块链开户只要设立(public key, private key)公私钥对,技术来源于非对称加密(asymmetric encryption
algorithm)。暂无通过匹配公私钥(枚举来试别人的公私钥对)对来攻击成功的先例,概率太小。
生成公私钥对的要点:有好的随机源,否则可能泄露私钥
②. 先往回看到对称加密(symmetric encryption algorithm):接收方和发送方的密钥(encryption
key)相同,需要分发密钥。
签名
①. 签名加密用私钥,验证签名用公钥
②. 签名的随机源不好也有可能泄露私钥
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.fjxmta.com/chanye/jieneng/3599.html