如今不存在能够破解比特币区块链的量子计算机。不过,开发者已经在考虑一波升级,以建立针对潜在威胁的防御,而且这是理所当然的,因为这种威胁已经不再是纯假设。
本周,Google 发布了研究,暗示一台足够强大的量子计算机可能在不到九分钟的时间内攻破比特币的核心加密——比平均比特币区块结算时间快一分钟。一些分析师认为,这种威胁可能在 2029 年成为现实。
风险很高:约 6.5 million 比特币代币,价值数百亿美元,位于一台量子计算机可以直接瞄准的地址中。其中一些币属于比特币的匿名缔造者中本聪(Satoshi Nakamoto)。此外,这种潜在的被攻破还会损害比特币的核心准则——“信任代码”和“健全货币”。
下面是这种威胁的样子,以及正在考虑的缓解方案。
在讨论这些提案之前,先理解漏洞。
比特币的安全性建立在一种单向的数学关系上。当你创建一个钱包时,会生成一把私钥和一个秘密数字,据此得到一个公钥。
花费比特币代币需要证明你拥有私钥,并不是通过暴露它,而是通过使用它生成一个加密签名,让网络可以验证该签名。
这种系统是无懈可击的,因为现代计算机要破解椭圆曲线密码学——具体而言是椭圆曲线数字签名算法(Elliptic Curve Digital Signature Algorithm,ECDSA)——从而从公钥反向推导出私钥,需要数十亿年的时间。因此,区块链被认为在计算上不可能被攻破。
但未来的量子计算机可以把这条单向通路变成双向通路:从公钥推导你的私钥,然后把你的币转走。
公钥会通过两种方式暴露:来自链上处于闲置状态的币(长暴露攻击),或来自正在流动的币或等待在内存池中被纳入区块的交易(短暴露攻击)。
支付给公钥(Pay-to-Public Key,P2PK)地址(中本聪和早期矿工使用的)以及 Taproot(P2TR,2021 年启用的当前地址格式)容易受到长暴露攻击影响。这些地址中的币不需要移动来暴露它们的公钥;暴露早已发生,并可被地球上任何人读取,包括未来的量子攻击者。大约有 1.7 million BTC 存在旧的 P2PK 地址中——包括中本聪的币。
短暴露与内存池(mempool)相关——未确认交易的等待室。交易在其中等待被包含进一个区块时,你的公钥和签名对整个网络都是可见的。
量子计算机可以访问这些数据,但它只会有一个短暂窗口——在交易得到确认并被额外区块掩埋之前——从而推导出对应的私钥并对其采取行动。
如前所述,今天使用 Taproot 创建的每一个新的比特币地址都会永久在链上暴露公钥,从而给未来的量子计算机提供一个永远不会消失的目标。
比特币改进提案(Bitcoin Improvement Proposal,BIP)360 通过引入一种名为“支付给 Merkle 根”(Pay-to-Merkle-Root,P2MR)的新输出类型,移除永久嵌入在链上且对所有人可见的公钥。
回想一下:量子计算机会研究公钥,反向工程出私钥的精确形态,并伪造一份可用的拷贝。如果我们移除公钥,攻击就没有可依赖的起点。与此同时,其它所有内容——包括 Lightning 支付、多重签名设置以及其他比特币功能——都保持不变。
不过,如果该提案被实施,它只能保护面向未来的新币。已经存在于那些旧的、已暴露地址中的 1.7 million BTC 是一个单独的问题,下面还有其他提案来解决它。
SPHINCS+ 是一种建立在哈希函数之上的后量子签名方案,它避免了比特币所使用的椭圆曲线密码学面临的量子风险。尽管 Shor 算法威胁 ECDSA,但像 SPHINCS+ 这样的基于哈希的设计并未被认为有同样程度的脆弱性。
该方案在经过多年的公开审查后,于 2024 年 8 月由美国国家标准与技术研究院(National Institute of Standards and Technology,NIST)标准化为 FIPS 205(SLH-DSA)。
以安全性换取的是体积。当前比特币签名是 64 字节,而 SLH-DSA 的大小是 8 KB 或更多。因此,采用 SLH-DSA 会显著增加对区块空间的需求,并推高交易费用。
因此,像 SHRIMPS(另一种基于哈希的后量子签名方案)和 SHRINCS 这类提案已经被提出,以在不牺牲后量子安全性的前提下减小签名尺寸。这些方案以 SHPINCS+ 为基础,同时力求以更实用、对空间更高效的形式保留其安全性保证,适用于区块链使用。
该提案由 Lightning Network 的联合创作者 Tadge Dryja 提出,旨在保护内存池中的交易免受未来的量子攻击者的侵害。它通过将交易执行拆分为两个阶段来实现:提交(Commit)与揭示(Reveal)。
想象一下,你先告知对方你将给他们发邮件,然后你再真正发送邮件。前者是提交阶段,后者是揭示阶段。
在区块链上,这意味着你首先发布一份关于你意图的封闭指纹——只是一段哈希,它不会透露任何关于交易的信息。区块链会把该指纹永久打上时间戳。随后,当你广播实际交易时,你的公钥会变得可见——是的,正在观察网络的量子计算机可能会从中推导出你的私钥,并伪造一笔竞争交易来窃取你的资金。
但那笔伪造的交易会立刻被拒绝。网络会检查:这次花费是否在链上注册过先前的承诺?你的确有;攻击者的没有——他们刚刚才创建的。你事先注册的指纹就是你的不在场证明(alibi)。
然而,问题在于,由于将交易拆成两个阶段,成本会上升。因此,它被描述为一座临时桥梁——在社区着手构建量子防御的同时,实用且可部署。
该方案由开发者 Hunter Beast 提出,针对与大约 1.7 million BTC 相关的量子漏洞——这些币持有在更老、已被暴露的地址中。
该提案接受:这些币可能会在未来的量子攻击中被偷走,并试图通过限制每个区块最多出售 1 个比特币来减缓“失血”,以避免可能在一夜之间发生的灾难性大规模清算,从而将市场打到崩盘。
这个比喻是银行挤兑(bank run):你无法阻止人们取款,但你可以限制取款的速度,以防止系统在一夜之间崩溃。该提案颇具争议,因为即便是这种有限的限制,也被比特币社区中的一些人视为违反了“任何外部方都不应干涉你花费自己币的权利”这一原则。
这些提案目前尚未启用,而比特币的去中心化治理覆盖开发者、矿工和节点运营商,这意味着任何升级都可能需要时间才能真正落地。
不过,尽管本周的 Google 报告带来了新信息,但在此之前就源源不断提出的提案表明,这个问题早就进入了开发者的视野,这或许有助于缓和市场方面的担忧。
相关文章