PACTs:保护你的比特币免受量子日落威胁

本文探讨了量子计算机对比特币的潜在威胁,特别是对暴露公钥地址的数百亿美元比特币的威胁。作者提出了一种名为PACT(可证明地址控制时间戳)的协议,允许比特币持有者在不公开移动币的情况下,通过时间戳证明他们在量子计算机能够破解之前就已拥有私钥。该协议利用OpenTimestamps和零知识证明,使得未来协议升级后可以安全地转移这些币,而不需要在链上公开行动。文章分析了PACT的实现步骤、优点和风险,并强调了它为长期持有者(包括中本聪)提供了一种保护隐私和资产安全的路径。

一个拥有足够强大量子计算机的攻击者可以窃取数千亿美元的比特币。

为了防止这种情况发生,比特币社区或许有一天会选择升级协议,以终止从暴露公钥的地址进行支出的能力。

这样的升级将会充满争议,部分原因是比特币重视休眠持有者的权利——包括中本聪本人,据估计他在易受攻击的地址中持有约750亿美元的比特币——他们有权在链上保持不活跃。

如果升级终止了对这些地址的支持,这些休眠持有者将被迫公开转移他们的币,或者让它们被冻结。但如果量子计算机即将到来,而我们不终止这些地址,这些持有者将被迫转移他们的币,或者让它们被窃取。无论哪条路,似乎都迫使长期持有者通过公开转移资金来放弃部分隐私。

本文提出了一条摆脱这种困境的途径,让比特币持有者能够在不产生任何成本、无声无息地保护自己免受最终终止的影响,而无需公开转移他们的币。

关键在于,持有者可以利用比特币本身来秘密地为他们的私钥知识打上时间戳。未来的协议升级可以接受这些可证明地址控制时间戳(PACT)的零知识证明,作为从终止地址中支出的替代路径。

这个协议可以比替代方案更好地保护现有比特币持有者的隐私和安全。现在采用这些证明的标准将有助于给持有者尽可能多的时间来保护他们的币免受紧急终止的影响,同时允许我们将更困难的决定——包括终止是否必要或可取——留到以后决定。

背景

最近的进展提出了一个疑问:与密码学相关的量子计算机(CRQC)是否可能比大多数人希望的要来得更早。

关于量子准备有许多难题,但房间里的大象是如何处理存储在暴露公钥地址中的数千亿美元比特币,这些地址因此容易受到CRQC的窃取。

比特币社区对于如何应对这一风险存在分歧。Neha Narula最近撰写了一份有用的总结来介绍这场辩论。

什么都不做

默认的路径是无所作为。如果与密码学相关的量子计算机永远不会到来,这将被证明是正确的做法,这也是推迟最极端措施的一个合理理由。本文的其余部分将讨论其他可能的世界——在这些世界里,我们最终会到达一个点,即CRQC显然不可避免,我们需要决定是否进行紧急分叉。

如果CRQC在协议升级之前到来,那么高达数千亿美元的比特币最终可能落入攻击者手中。即使比特币社区愿意承受盗窃及其对市场的影响,所涉及的金额在地缘政治上也是重大的,而且——特别是如果攻击者是犯罪组织或敌对国家——可能会导致对比特币的灾难性监管反弹。

终止

另一个选择是软分叉,最终终止从暴露公钥的地址进行支出的能力,如 BIP-361 草案中所提出的。

这条路径充满争议,因为它违反了一个重要原则——人们应该能够将他们的比特币存放在冷钱包中数十年而不用担心失去访问权限。但在CRQC即将到来的情景下,没有一条路径可以保证完全离线的持有者能够保住他们的比特币,因为他们的资金面临被窃取的风险。

然而,终止会给持有者带来一些重大不便:

  • 首先,它将迫使离线持有者转移他们的币,这是一个昂贵且公开的链上操作。他们将不得不支付费用,透露他们仍然活跃,并可能泄露关于他们自己的其他信息,如时间模式、钱包之间的关联,甚至他们的IP地址。对于像中本聪这样的早期持有者来说,这将是一个巨大的曝光——他们将不得不告诉世界他们还活着,并且仍然拥有他们的密钥。
  • 其次,升级的时间可能有限。比特币尚未支持后量子地址,并且可能直到量子威胁更加明朗后才会采用它们。如果量子计算机的进展足够快,我们可能最终陷入一个尴尬的境地:后量子地址从被支持到被强制使用之间的间隔时间短得令人不安。

救援协议

出于上述原因,许多持有者很可能无法在终止日期之前完成升级。是否有办法让他们向协议证明他们是其地址的合法所有者?

对于某些地址,答案已经是肯定的。例如,如果私钥是从父密钥派生出来的(如 BIP-32 标准),持有者可能能够提供一个零知识证明,证明他们知道那个父密钥,而这是量子攻击者无法做到的。这种“救援协议”在 BIP-361 中进行了讨论,甚至已经实现了一个原型证明器。甚至可能有一种方法可以将特定救援规则的实现推迟到随后的分叉。

中本聪问题

这些是有希望的逃生舱口,但它们无法拯救最早的比特币地址。

有数百万个比特币具有暴露的公钥并且早于BIP-32(因此无法使用上述路径进行救援)。最著名的是,被认为属于中本聪的钱包持有约110万BTC,今天价值超过750亿美元。

本文描述了一种终止的逃生舱口,它可能为那些离线持有者提供最佳可实现的保护——一种他们今天就可以采取的自我保护措施,无需对比特币进行任何更改,也无需进行链上操作,这样可以在终止后保持他们支出的能力,同时还能实现终止对量子攻击者所提供的安全性。

PACT

假设我们处于2040年,中本聪决定通过最终出售部分比特币来资助他的退休生活。与密码学相关的量子计算机在2030年到来,而推导中本聪的私钥现在已经成为MIT大一新生的标准作业。幸运的是对于中本聪,该协议在2029年通过紧急软分叉终止了从ECDSA密钥进行支出的能力。

中本聪想要以一种后量子和算法可验证的方式证明,他在CRQC能够推导出私钥之前就已经知道了他的私钥。他能做什么?

如果他今天必须从头生成那个证明,他运气不佳。因为现在每个人都知道他的私钥,而且由于他没有使用BIP-32或任何其他确定性方案推导它们,这些密钥无法提供任何他可用于密码学证明的非对称私有信息。

然而,如果他能够以密码学方式证明他在CRQC能够推导出这些密钥之前就知道了它们,那么协议就可以让他取出这些币。如果他在2026年就有先见之明,他可以使用密码学时间戳服务为签名打上时间戳,从而证明他在CRQC存在之前就知道了私钥。

方便的是,他在2008年就已经发明了一种无需信任的方式来对知识证明打时间戳。比特币白皮书将比特币网络描述为“分布式时间戳服务器”。开发者早就认识到,虽然它主要设计用于对交易打时间戳,但可以轻松地用于对任何哈希打时间戳——而且由于哈希可以高效聚合,运行一个免费提供此类时间戳的服务成本低廉。OpenTimestamps 是一个开源协议,允许任何人将任意哈希的时间戳标记到比特币区块链上,方法是将它们包含在OP_RETURN输出的Merkle树中。

如果中本聪在CRQC出现之前使用OpenTimestamps对一个标准化的地址控制证明的加盐承诺打了时间戳,那么他就可以向比特币协议提供一个后量子安全的 STARK 证明,以证明该时间戳的存在。

可证明地址控制时间戳(PACT)正是这样一种带有时间戳的承诺。

步骤 1:承诺

以下描述是PACT协议可能如何设计的说明性示例,而非正式提案。它需要专家和社区的大量意见,欢迎反馈。

为了创建PACT,持有者生成一个256位的随机盐,并使用BIP-322完整消息签名来证明对易受攻击的未花费交易输出(UTXO)的scriptPubKey的控制。

BIP-322消息应承诺PACT目的、比特币网络、易受攻击的scriptPubKey和盐:

设:

然后持有者使用OpenTimestamps对承诺打时间戳。他们将盐、BIP-322控制证明和OTS证明文件存储在一个安全位置。

这不需要持有者进行任何比特币交易,并且是离链的。时间戳不会透露控制证明、盐、公钥、地址或持有者拥有哪些币的任何信息,但注重隐私的持有者在与时间戳服务交互时仍应保护网络元数据。

步骤 2:救援

如果后来比特币终止了对暴露公钥的UTXO的支出支持,该分叉也可以为PACT定义一个救援协议。

为了花费一个被终止的UTXO,索赔人将提供一个后量子安全的证明(例如 STARK),证明:

  • 他们知道一个秘密盐和一个BIP-322完整消息证明 (control_proof)
  • SHA256("PACT/v1 commitment" || salt || SHA256(control_proof)) 等于在PACT截止时间之前打了时间戳的承诺,其中该截止时间设定在CRQC被认为能够从暴露公钥推导出私钥之前;
  • control_proof 是控制被冻结UTXO的scriptPubKey的一个有效BIP-322完整消息证明,消息中包含了该盐;
  • 救援证明被绑定到特定的救援交易,因此不能复制并重用来重定向币。

盐和BIP-322控制证明本身不会被公开。时间戳证明持有者在截止时间之前有能力生成该控制证明。交易绑定证明了持有者授权了这一特定的救援支出。

在高层面上,最终的共识证明需要展示一个完整的锚定链:隐藏的盐和BIP-322控制证明哈希到公开的PACT承诺;OpenTimestamps认证通过其哈希操作将该承诺带入一个日历Merkle根;该根出现在某个比特币交易的OP_RETURN输出中;该交易通过交易Merkle证明被包含在一个区块中;并且该区块被救援规则认定为PACT截止时间之前活跃比特币链的一部分。一个实际的设计需要指定如何在交易的上下文中验证的证明锚定到链的历史中(可能通过一个最近的区块哈希)。

这不需要比特币今天决定终止是否是必要的。它只给持有者提供了一种无声、无链上成本的方式来保存证据,如果将来采用了这样的终止,这些证据可能会变得有用。

优势

  • 今天不需要分叉。持有者不必等待比特币采用量子安全地址或决定如何处理不安全的UTXO。一旦我们就PACT的标准化格式达成一致,持有者就可以开始对它们打时间戳。
  • 注意,虽然PACT的承诺协议相对简单,并使用了像OpenTimestamps这样成熟的原始工具,但最终验证它们的协议将不会简单。验证STARK以允许从被终止的UTXO中支出将需要在比特币协议中进行大量新的管道构建。
  • 静默。除了持有者本人,没有人知道持有者做了承诺。即使当持有者花费这些币时,他们可能不必透露时间戳是什么时候做的——协议可以只要求一个零知识证明,证明它足够早。
  • 承诺没有链上成本。OpenTimestamps是免费使用的,并且可以将许多承诺批处理到单个比特币交易中。
  • 低风险。虽然该协议要求持有者使用其密钥生成一个BIP-322控制证明——这会带来一定风险——但证明和盐都不会广播或与OpenTimestamps共享;只有不透明的承诺被公开。然而,持有者确实需要保护盐、证明和OTS文件作为恢复工件。

风险和缺点

  • 持有者无法保证这个救援舱口一定会被实施。比特币有可能永远不会终止量子不安全的密钥(要么因为CRQC永远不会到来,要么因为比特币决定硬扛它们)。即使它终止了,也可能不会实施这个特定的救援路径。在救援协议被纳入协议之前,持有者不应仅依赖PACT进行保护。但由于做出承诺的成本很低,对于长期持有者来说,一旦标准达成一致,就立即创建一个PACT可能仍然值得。
  • 并非通用。虽然这个协议应该适用于许多单密钥钱包,并且可以使用BIP-322风格的证明格式进行泛化,但多重签名、复杂脚本、托管钱包和硬件钱包支持需要进行仔细的标准化。此外,PACT假设能够在非常特定的消息上生成有效的BIP-322证明等同于能够控制这些币。这与消息签名证明背后的实际假设相同,但正如BIP-322中所讨论的,从一个地址签署消息的能力不一定等同于从该地址签署交易的能力。

结论

与密码学相关的量子计算可能很长时间都不会威胁到比特币,或者可能永远不会发生。用户可能永远不需要做任何事情。

但比特币是关于为长期做准备、对冲尾部风险和自力更生。如果有一种方法现在播下一颗种子,在未来可能的时刻给我们带来对抗密码学攻击者的优势,那么长期持有者应该抓住它。而协议开发者在决定如何实现可能的量子终止时,应该考虑大型、长期、休眠持有者的隐私利益——包括,可能是最大、最长期、最休眠的持有者。

致谢:Eli Ben-Sasson, Avihu Levy, Abdelhamid Bakhta, Jameson Lopp, Neha Narula, Nic Carter, Arjun Balaji.

1

正如 BIP-361 早期草案中所讨论的,这些阶段的共识部署是很微妙的。如果阶段B永久地宣布所有传统密钥支出永远无效,那么后续的救援路径使其中一些再次有效将是一次硬分叉,这在现代比特币历史中从未发生过,并且通常被比特币社区认为是不可接受的。因此,BIP-361 目前提议将救援路径作为阶段B的一部分。一个可能的替代方案是将阶段B设计为带有明确到期时间的临时冻结(到期后UTXO将再次可支出),这样后续的阶段C软分叉可以要么永久延长冻结,要么引入新的救援规则。

PACT/v1: 比特币量子终止地址控制证明
network=bitcoin-mainnet
scriptPubKey=<易受攻击的输出scriptPubKey>
salt=<32个随机字节>
salt = random(32 bytes)
msg = Encode("PACT/v1", "bitcoin-mainnet", scriptPubKey, salt)
control_proof = BIP322_FULL_SIGN(scriptPubKey, msg)
commitment = SHA256("PACT/v1 commitment" || salt || SHA256(control_proof))

隐藏脚注

  • 原文链接: paradigm.xyz/2026/05/pac...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Paradigm
Paradigm
Paradigm 是一家研究驱动型技术投资公司 https://www.paradigm.xyz/