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