在每一个步骤中,我都在强化安全的概念,并彻底消除伪造的可能性。我们花了一些时间来探索这个设计,研究伪造行为以及其在实际情况中的表现。对于签名,我能够在舞台上描述一个安全比赛,而不需要到处使用图表和箭头。多重签名则更加复杂。
当你谈论零知识证明——包含一个零知识证明和一个模拟器和所有不同的规则——试图证明这些复杂系统的独特性,部署更理想的模型等等,直到你得到一些具体的东西。然而,在现实生活中,拥有可证明的安全性具有巨大的价值。
可证明的安全性
接下来我想谈谈可证明安全的概念,尽管我告诉过你们这很难。其中一件事就是随机数生成的概念。我将把话题从定义安全性切换到部署安全系统实操。
基于ECDSA或Schnorr,生成这些签名需要生成一致随机数据。一致随机是指你可以选择所有可能的随机数——实际上是在0和某个固定的大素数之间。如果你没能随机生成数字,你在多个签名中重复使用相同的数字或相同的nonce,那么你的币就会被盗。这种情况已经发生过几次了,比如有人用这个小问题破解了ps3。2012年比特币就发生了这种情况,一些安卓钱包重复使用了nonces,并且生成了一个糟糕的随机数生成器。最终很多人的密钥及币都丢了。
并不是nonce被重用了。随机的nonces是存在的,但是有一些软件生成的nonces在某种程度上是有偏差的,比如前几位始终是0。即使与随机数无关,只要有足够的签名,也足以泄露你的私钥。所以我们有这些在学术模型中被证明是安全的签名方案,但他们总是需要一致的随机性。直觉告诉我们随机不能被猜出来,但这里随机和一致随机没有区别。把两者区分开来就足以打破学术证明,而在实践中,你会丢失密钥和币。
总结
这些东西是困难而微妙的,对于那些自称能够创造神奇事物的新项目,你不应该感到兴奋,而是保持怀疑态度。比特币的发展速度非常快。我们需要慢下来,保持警惕。
本文采摘于网络,不代表本站立场,转载联系作者并注明出处:http://www.longfuchaju.com//chuangye/qiuzhi/1063.html