区块链入门 | 量子计算机新进展,钱包还安全吗?
作者 / JackyLHH
出品/ 白话区块链(ID:hellobtc)
几乎每隔一段时间,便会传出量子计算机的“突破性进展”。进而引起业内部分用户的恐慌:量子计算机的出现会破解比特币的加密算法,加密世界即将崩塌。
这里先说结论:至少目前阶段大家不需要担心,即便将来通用的量子计算机大规模出现,比特币也不一定会被“杀死”。
接下去,我们说说相关的原因。
比特币用到的加密算法主要有 2 种: 椭圆曲线数字签名算法(ECDSA),SHA256 哈希算法。 其中,ECDSA 主要用于私钥、公钥的生成;SHA256 主要用于公钥生成钱包地址,以及 挖矿时的工作量证明(PoW) 。
量子计算机会威胁到 ECDSA 的安全性。 1994 年,设计出了专门用来分解因数的 Shor 算法,足够强的量子计算机(硬件)加上 Shor 算法(软件), 可以通过公钥破解出私钥。
当然,量子计算机的这个破解过程也需要花费比较长的一段时间,况且量子计算机的发展也不是一帆风顺,刚开始的性能也没那么强大。
即便量子计算机足够强大了,也有办法保护自己的比特币安全: 每次只使用一次性比特币地址。
这要感谢 中本聪 当初在设计比特币的时候,没有直接将公钥当作比特币的收款地址。比特币的公钥和对应的地址之间,做了 SHA256 加密, 而目前并没有可以有效破解 SHA256 的算法。
举个例子,如果大白需要给小黑转 1BTC,大白的钱包地址里有 3BTC,只要在转账的时候,将比特币的找零地址设为一个自己掌握私钥的、全新的比特币地址即可。这样,转账的时候,1BTC 进入到小黑的地址,找零的 2BTC 进入到了大白的新地址。关于比特币的找零机制和 UTXO 模型,可以阅读白话区块链之前的推文《 没有UTXO,比特币或不能如此稳定运行10年 》。
在区块链浏览器上查询这笔交易时,可以看到大白转出的地址和对应公钥,小黑的地址,找零的新地址。由于转出地址用完即废弃,里面没有任何 BTC,所以即使看到了公钥,用量子计算机破解出了私钥也没关系。
至于暴露的小黑收款地址和找零的新地址, 由于量子计算机缺乏有效破解 SHA256 的算法,无法通过地址破解出公钥,所以是安全的。
现在的计算机符合“摩尔定律”,即计算机芯片的晶体管密度每 18 个月翻一番,算力增长一倍。但是近年来,晶体管的尺寸逐渐逼近物理极限,计算机算力的指数级增长在放缓,摩尔定律逐渐失效中。 量子计算机厉害的地方在于,它是以双指数的速度增长, 即算力的增长指数也是指数级增长。这让传统计算机需要几万年的计算量,量子计算机可以在短时间内完成。
但是,量子计算机做到的只是大幅削减计算时间,它还是要花时间计算的。
前文我们提到,目前并没有可以有效破解 SHA256 的算法,所以利用量子计算机挖比特币时,也只能和 其他矿机一样,一个一个地找随机数去试, 只不过是量子计算机运算速度更快而已。 比特币有难度调整机制, 可以通过调整难度对抗来自量子计算机的算力增长,还可以通过升级 SHA256 算法(比如升级到 SHA384、SHA512),来增加挖矿难度。
需要注意的是,以上的讨论都是建立在“量子计算机已经非常成熟了,而且还价格低廉”的前提假设。
现实的情况是,量子计算机还处于实验室阶段。目前量子计算机只能进行单一的、技术性很强的计算,使用它解决实际问题还需要数年时间。截至目前,还没有一个通用的量子计算机出现,可靠的专用量子计算机也还没有问世。
魔高一尺,道高一丈,量子计算机在向前发展的同时,加密算法亦会持续进步。
在「得到」的《卓克·密码学 30 讲》中,著名科普作者卓克就提到了对抗量子计算机的第七代加密法—— 量子加密 。
量子加密和其他加密法不同,不但使用了数学,还使用了理中的量子理论。 量子计算机也很有可能无法破解,因为如果破解了,就违反了量子力学的基本原理。
看了这篇文章,你还担心手里的加密资产吗? 欢迎在留言区分享你的观点。
——End——
『声 明: 本系列内容仅供区块链科普入门学习,不构成任何投资意见或建议。如有任何错漏,敬请留言指出。 』