作者:Shinobi

来源:https://bitcoinmagazine.com/technical/the-quantum-bitcoin-summit-a-grounded-look-at-the-issues

原文出版于 2025 年 7 月。

Quantum-Bitcoin-Summit-1024x538

我不会假装自己深入理解了量子力学(哪怕是量子计算这一部分),我真的不懂,不过我捕捉了许多碎片,因此知道它背后的理论是可靠的。

对于特定类型的可并行化的计算,“量子比特(qubits)” 的物理性质允许量子计算机在一个非常大的空间里搜索正确答案时指数快于传统的计算机。我们已经证明了,对于一些计算问题,存在这样更快计算的数学算法;还有许多问题则尚未有证实的算法。

问题在于,从工程的角度看,实现这些算法是不是现实的 —— 我们是不是真的能造出足够高效、可靠而且强大的机器,真正利用量子理论的优势、解决真实的问题?

这就是我参加在旧金山的 Bitcoin Presidio 的 “量子比特币峰会(Quantum Bitcoin Summit)” 的原因。

这个小型的、为期一天半的峰会,汇集了量子计算行业和比特币开发两个领域的专家。会议演示了量子计算的现状、在实用的量子计算机发明之后比特币就不得不面对的具体风险、关于后量子密码学的可能解决方案,以及关于如何处理这个问题的不同侧面的辩论。

量子计算的现状

正在开发量子计算项目的公司们采取了 4 种不同的架构:中性原子(neutral atoms)、囚禁离子(trapped ions)、超导电路(superconducting circuits)和光子学(photonics)。每一种物理平台在计算速度、稳定性和底层物理架构的可扩展性上都有取舍。

AD_4nXdeGlR1IrTAiQeU

尽管平台不同,到目前为止,绝大部分研究都主要集中在一个问题上:纠错(error correction)。量子计算的全部概念都基于量子比特 —— 量子版本的比特。在传统计算机中,物理硬件使用电压来表示 0 或 1,从而保持 1 个比特的信息。而量子比特可以存在两种状态的叠加态(superposition),所以在特定类型的并行化问题中有用。

error-correction-codes

然而,问题在于,设计用来实现量子比特的物理装置对(物理学)噪声非常敏感,会干扰计算,因此要注意纠错。因此,物理量子比特的实现是高度冗余的,在某些情况下,需要高达一千个物理量子比特,才能实现一个在计算期间保持稳定和连贯的 “逻辑量子比特”。

最近出现了降低物理量子比特到逻辑量子比特比例的进展,但另一个重大挑战还在前面:连接多个逻辑比特,从而真正拓展到驾驭大量的逻辑量子比特。现在,关于这一难题,还没有公开的重大进展。

对比特币的威胁

“Shor 算法” 是一种基于量子计算的算法,只要开发出一台性能足够强、可以在合理时间内运行该算法的量子计算机,就可以打破椭圆曲线密码学(ECC),然后比特币就有了一个需要担心的严重问题。当前,比特币有多种脚本模板和地址类型,但在考虑量子计算时,可以分成两类:在钱币被花费之前就已经暴露出裸公钥的地址,以及没有暴露裸公钥的地址。

没有暴露公钥的地址(钱币),在被花费之前,面对量子计算机的盗窃都是安全的,但是,当它的主人要花费它的时候,就必然会暴露出公钥;如果量子计算机足够强大,能够在花费它的交易被区块确认之前搜索出其私钥,这个钱币就不安全了。这是因为,这些地址使用的是公钥的哈希值,而非公钥。这些钱币面对的是 “短程攻击”。而已经暴露出公钥的钱币,(在量子计算机足够强大的前提下)将随时面对盗窃,它们面对的是 “长程攻击”。

面对长程攻击风险的钱币包括 P2PK 地址、P2MS 地址、P2TR 以及任何重复使用过的地址。其它地址则只具有短程攻击风险。

这说明,这个问题需要两个必要的解决方案:具备量子抗性的密码学方案,让用户能够迁移到这样的密码学方案;以及,一种方法,在威胁突然出现或者在威胁已然成熟、用户却还没有迁移时,能够保护易受短程攻击的钱币的用户。

对于比特币用户而言,其实还有一个大问题:在问题已然显现的时候,如何处理那些易受长程攻击、却还没有迁移的钱币。

没收?

当前,大约有 200 万 BTC 锁定在 P2PK 地址中,容易受到长程的量子攻击。这几乎是比特币所有供应量的 10% 。许多比特币人都非常担心这样大规模的钱币盗窃可能对比特币的价格造成的影响(如果它导致公开市场上的抛售的话)。

因此,许多人已经提出了在足以攻击比特币的量子计算机出现之后烧掉这些钱币(让它们永远无法被花费)的想法。这已经转变成了一个道德难题:我们是否应该采取没收行动,来保护整个生态系统?还是应该允许受到量子计算威胁并且不迁移的钱币被一个攻击者全部盗走?

还有一些折中方案,比如 Hunter Beast 和 Michael Casey 提出的 “Hourglass(滴漏)”。该提议的想法是不冻结量子易感的钱币,而是做一个简单的流量限制。在激活之后,Hourglass 将允许每个区块花费 1 个量子易感的钱币(UTXO),从而限制被盗的钱币可能对市场造成的影响;并且,钱币的真正主人如果持有私钥,就还有一线希望,能够找回他们的钱币。

无论如何,如果一个攻击者真的拿到了一台够强的量子计算机,这个问题就一定要解决。

我们拥有的工具

就量子安全的密码学而言,我们有两大类选择:基于格(lattice)的密码学方案,以及,基于哈希函数的密码学方案。基于格的方案引入了新的密码学假设,但它支持我们在开发过程中已经假设会有的特性,比如密钥聚合方案。基于哈希函数的方案不支持密钥聚合方案,甚至如果没有私钥材料的话连确定性的公钥生成都做不到,但不引入新的密码学假设。哈希函数已经众所周知是抗量子计算的,而所使用的哈希函数的强度,将是相关密码学安全性的唯一假设。

基于哈希函数的签名方案,将产生比基于格的方案大得多的签名,但两者都显著大于 ECC 签名。无论我们选择什么方案,采用后量子签名方案都将大大削减区块链的吞吐量。我们要么接受这个现实,要么就得按比例增加区块的重量、并让后量子签名获得更大的见证数据折扣,从而让运行一个全节点的代价大大增加。

至于迁移方案,有两种主要路径可以采用:承诺-揭晓 方案,或者一种零知识证明方案,证明用户控制着某个跟私钥相关的秘密值。后者仅对存储在使用助记种子词的确定性层级式钱包中钱币有用。

承诺-揭晓方案要求短程攻击风险钱币先承诺花费交易的一个哈希值,然后再花费,否则花费交易无效。因此,用户可以使用量子安全的钱币来承诺即将被花费的量子易感钱币,只有经过足够多的工作量证明之后,迁移到量子安全地址的交易才能被确认。

零知识证明方案可以用来生成一个零知识的证据,证明你控制着一个从你的种子词经过一条派生路径而生成的私钥(但不会揭晓那个公钥)。所有量子易感的钱币都可以限制为需要这样的一个证据才能花费。因为这样的证据需要一个攻击者无法发现的密钥来生成(公钥不公开,攻击者就无法凭借这个公钥来反算私钥),攻击者是无法生成这样的证据的。然而,这种方法对于那些在层级式钱包发明之前创造的地址上的钱币,是不安全的。

该做什么呢?

量子计算的理论是合理的,而且对于一台足够强大的量子计算机,比特币整个系统都是脆弱的,那么我们应该做什么呢?

我个人并不相信量子计算的重大突破就在眼前,但我也不相信它绝无可能出现。坦白说,独立地评估它超出了我的能力方案。我所知道的仅仅是,我们只拥有防御发生这种突破的可能性的最基本工具。

不重复使用地址、不使用易感的地址类型,可以保护你的钱币免于长程攻击,而且让你有机会使用迁移协议。这对于大型的交易所和经济活动参与者极为重要。如果你也有此担心,那么就采取这样的行动,或者等到担忧可能成为现实之时,就迁移到这样的地址类型。

至于可以主动采取的协议变更,已知基于哈希函数的签名方案是量子安全的,而且无需引入新的假设;Hourglass v1 和其它直接没收钱币的方案,实现起来都非常简单,而且足以应对这样的系统性市场风险(甚至,对这个问题不采取任何行动,是更加容易的),而且,承诺-揭晓 方案和零知识证据迁移方案,还给了我们在威胁已成现实之后迁移钱币的工具。

我们应该让这些简单的协议准备好部署,或者只需少量的工作就能部署,然后只需密切关注事态的发展,同时让担心这个问题的人持续辩论和研究这个主题。

天还没塌下来,而且可能永远不会塌。没必要夜里睡不着觉,但也不是可以完全无视的问题。我们已经能够推出最小可行的解决方案,应该让这些解决方案推进到合理的状态,然后继续监控状况,等待我们应该集体分配更多资源给这个问题的信号。

唯一一个我们不应该的事情是,恐慌,然后盲目地投入大量时间和资源到这个问题上、忽视所有其它问题。

如果你希望了解更多,请关注即将到来的与会者访谈。也可以在这里观看演讲的录播:Quantum Bitcoin Summit

(完)