谷歌的 Quantum AI 团队本周早些时候表示,未来的量子计算机或许能够在大约九分钟内由公钥推导出比特币的私钥。这个数字在社交媒体上传播并引发恐慌,让市场受惊。
但在实际中,这到底意味着什么?
先从比特币交易如何运作说起。你发送比特币时,钱包会用私钥对交易进行签名,私钥是一个秘密数字,用来证明你拥有这些币。
该签名也会暴露你的公钥——一个可共享的地址——并将其广播到网络中,然后在一个叫作 mempool(内存池)的等待区域中“排队”,直到矿工把它打包进区块。平均来看,这个确认过程大约需要 10 分钟。
你的私钥和公钥通过一种称为椭圆曲线离散对数问题的数学难题相互关联。经典计算机无法在任何有用的时间内反转这种数学,而一台足够强大的、运行名为 Shor’s 的算法的未来量子计算机可以。
这就进入“九分钟”这一说法了。谷歌的论文发现,量子计算机可以通过提前“预处理”来完成不依赖任何特定公钥的攻击部分,从而在真正攻击时更快。
一旦你的公钥出现在 mempool 中,机器只需大约九分钟就能完成工作并推导出你的私钥。比特币的平均确认时间是 10 分钟。这让攻击者大约有 41% 的机会在原始交易完成确认之前推导出你的密钥并把资金重定向走。
把它想象成一个小偷花费数小时打造一台通用的开锁/破解保险柜机器(预计算)。这台机器对任何保险柜都能工作,但每次出现一台新的保险柜时,它只需要做一些最后的调整——而最后那一步就是大约需要九分钟的部分。
这就是 mempool 攻击。它很令人不安,但需要一台尚不存在的量子计算机。谷歌的论文估计,这样一台机器所需的物理量子比特数会少于 500,000 个。今天最大规模的量子处理器大约只有 1,000 个。
更大、更迫在眉睫的担忧是:已有 6.9 million 比特币——约占总供应量的三分之一——已经存放在那些其公钥已被永久暴露的地址/钱包中。
这包括网络最早几年里的早期比特币地址:它们使用一种称为 pay-to-public-key 的格式,在这种格式下公钥会默认在区块链上可见。它也包括任何重复使用了地址的钱包,因为从该地址进行花费会暴露出所有剩余资金对应的公钥。
这些币不需要“九分钟竞赛”。一名拥有足够强大的量子计算机的攻击者可以慢慢破解它们,按顺序逐一攻破那些已暴露的密钥,不必承受时间压力。
正如 CoinDesk 在周二早些时候报道的那样,比特币的 2021 Taproot 升级让情况变得更糟。Taproot 改变了地址的工作方式,使得公钥默认在链上可见,从而在无意中扩大了将来会面临量子攻击风险的钱包池。
比特币网络本身仍会持续运行。挖矿使用的是另一种名为 SHA-256 的算法,当前的量子计算机无法用现有技术手段在有意义的程度上加速它。区块仍会被生产。
账本仍然会存在。但如果私钥能够从公钥推导出来,比特币之所以有价值的所有权保障就会崩解。任何拥有已暴露密钥的人都面临被盗风险,而机构层面对网络安全模型的信任也将土崩瓦解。
修复方案是后量子密码学(post-quantum cryptography),它用量子计算机无法破解的算法来替换易受攻击的数学问题。以太坊为推动迁移已经花了八年时间。比特币甚至还没有开始。