40 破解密码的可能性
中本聪对几组帖子所讨论的不同问题给出了相同的解决方案。两组帖子对SHA-256进行了讨论,这是用于创建区块(用作公开账本)“消息摘要”的加密哈希函数,每个函数包含一组比特币交易。SHA-256广泛地应用于银行和其他金融机构。有朝一日,这种加密方法会被发现某种弱点,从而影响到整个金融业,这将迫使全行业转而使用另外一种新方法。中本聪为比特币提出了同样的策略。
第二组讨论是关于发现了某种重要加密方法的弱点。中本聪开始引用了早期关于SHA-256地址冲突的帖子,但是用户llama详述了的一个重要的密码,即用于做比特币私钥的椭圆曲线加密码法中发现了一个重要弱点。
回复:SHA-256地址碰撞的处理
中本聪,2010年6月14日,上午08:39:50
引自:lachesis, 2010年6月14 日,上午01:01:11
我的一位数学家朋友指出哈希协议能存活超过10年实属罕见。如果SHA-256明天被破解,那比特币有什么解决方案?
不像从MD5到SHA1的微创新增长。SHA-256还是相当健壮的。除非有大规模的突破性攻击,否则它能再坚持几十年。
如果SHA-256全面崩溃,我想我们可以达成某种一致,即把在问题开始前的那部分算作是诚实链,并锁定诚实链,然后从那一点采用新的哈希函数往下继续 。
如果哈希协议的解体是渐变的,那就可以有序地过渡到新的哈希。比特币系统被设计成可在某个区块编号之后启用新的哈希。那时每个人都必须升级。同时可以保存所有旧区块的新哈希值,以确保不用具有同样旧哈希的不同区块。
回复:大熔炉
中本聪,2010年7月10日,下午04:26:01
引自:llama, 2010年7月1日,下午 10:21:47
中本聪,如果SHA被攻破(当然更可能的是崩溃),那真是个解决方案,因为仍然可以通过签名(私钥仍然安全)来识别有效的比特币所有者。
然而,如果签名也被攻破了(也许采用量子计算机把整数因式分解问题解决了),那么即使在最后一个有效区块上达成一致也毫无价值。
如果事情是突然发生的,那结果确实如此。如果事情是逐渐发生的,我们还可以切换到更健壮的系统。当首次运行升级后的软件时,将会用新的更强的签名算法为所有的币重新签名。(通过创建一笔交易,用更强的签名把币支付给自己 。)
回复:Hash( )函数不安全
中本聪,2010年7月16日,下午04:13:53
SHA-256的进步不像从128位到160位。
如果要用类比来解释,这更像是从32位到64位地址空间的跃进。16位计算机的地址空间很快就用完了,32位计算机到了4GB内存时地址空间也用完了,但是这并不表示我们很快就会再次用完64位的地址空间。
在我们的有生之年,SHA-256不会被摩尔定律支配下的计算能力的提升所破坏。如果能够被破坏,也应该是通过突破性的破解方法。能够在可计算范围内彻底击败SHA-256的攻击,也同样有很大的可能性会使SHA-512崩溃。
如果发现SHA-256的弱点逐渐显现,就可以在一个特定区块编号后切换到新的哈希函数。每个人都必须在那个区块编号后更新软件。新软件会保留所有旧区块的新哈希值,以确保它们不会被另一个具有相同旧哈希值的其他区块所替代。