协议演进 / BIP/比特币改进提案 / BIP-361

BIP-361 后量子迁移与旧签名退役

在后量子输出落地之后,预先公告旧签名退役时间表:先禁止向量子脆弱地址付款,再用救援协议收紧旧签名的花费条件。本 BIP 目前处于草案状态。

一、档案卡

档案卡
编号BIP-361
标题Post Quantum Migration and Legacy Signature Sunset
作者Jameson Lopp <[email protected]>, Christian Papathanasiou <[email protected]>, Ian Smith <[email protected]>, Joe Ross <[email protected]>, Steve Vaile <[email protected]>, Pierre-Luc Dallaire-Demers <[email protected]>
指定日期2026-02-11
层级Consensus (soft fork)(共识(软分叉))
类型Informational(信息类)
状态Draft(草案)
依赖TBD Post Quantum Signature BIP
阅读版https://bips.dev/361
官方原文https://github.com/bitcoin/bips/blob/master/bip-0361.mediawiki

二、放在哪一族

量子防御与迁移路线图族。注意它的定位很特殊:类型是信息类(Informational),它自己不定义任何新的签名算法、输出类型或验证规则的具体细节,而是排一张“等后量子方案就位之后,全网如何分阶段退掉旧签名”的时间表。

它依赖一个尚不存在的前置件:档案卡“依赖”行原文写的是 TBD Post Quantum Signature BIP——后量子签名 BIP 还没定。没有这个前置件,本 BIP 无从启动。

同族关系:

BIP-360:Pay-to-Merkle-Root,先提供一种不受长期暴露攻击的脚本树输出;属于“先把新地址类型备好”的一步

BIP-32:分层确定性钱包,它的硬化派生被本 BIP 举为救援协议可以利用的知识不对称之一

BIP-361 自己在原文里还提到与 Hourglass 风格提案的兼容:针对无法构造救援协议的 P2PK 资金,可由那类提案在阶段 B 激活前处理。

与 BIP-360 的分工:360 是给愿意自保的用户多一个选择(自愿迁移);361 是给全网设最后期限(到期收紧规则),力度完全不同,这也是它争议最大的地方。

三、它要解决什么

原文的判断是:量子计算对比特币的威胁与以往任何威胁都不同——这是比特币第一次面对密码学原语本身的存在性威胁。一旦有人用足够强的量子计算机从公钥反推私钥成功,经济扰动会波及整个生态,连矿工提供安全的能力都会受冲击。

它列出的紧迫性论据(均为原文主张,数字以原文为准):

而比特币的历史经验是:协调钱包、交易所、矿工、托管商升级要花很多年,越晚开始迁移、协调越难。作者的核心主张因此不是“量子计算机明天就来”,而是:只有一条公开、限时、预先公告的迁移路径,才是可信的防御;把量子安全变成每个持币人自己的利益——不升级,就会实实在在地遇到花费障碍。

原文还逐项反驳了“听之任之”的三种结局:任由先有量子能力者窃取脆弱币(制造再分配难题)、节流式窃取(引发 RBF 抢跑与矿工补贴问题)、或谁也不许窃取(本 BIP 的选择)。它引中本聪“丢失的币只会让其他人的币略微更值钱,相当于捐赠给所有人”,推出对偶命题:“被量子找回的币只会让其他人的币贬值,相当于从所有人手里偷窃。”

四、规则本身

4.1 前提

整套时间表以前置的后量子输出类型落地为起点。原文标题即写明:本提案跟在“任一后量子输出类型实现之后”(follows the implementation of any post-quantum output type)。后量子签名方案本身不在本 BIP 内。

4.2 阶段 A:止血——不再往脆弱地址里放钱

激活后约 160,000 个区块(约 3 年)的时间窗内,规则收紧的方向是:禁止再向量子脆弱的地址发送资金。合规的资金流向被限定为从旧脚本流向后量子脚本。

效果是双重的:每产生一个新 UTXO,攻击面就缩小一分;同时全网(钱包、交易所、托管)被明确的期限推着完成向后量子地址类型的迁移。阶段 A 之后,未升级的钱包不能再从任何钱包收款,只能向已升级钱包付款(按原文向后兼容一节)。

4.3 阶段 B:落日——收紧旧签名的花费验证

阶段 A 激活两年后(摘要口径为激活后五年设一个广而告之的“旗日” flag-day),节点收紧对 ECDSA/Schnorr 签名的验证要求:旧签名花费要额外通过一道量子安全的救援协议(rescue protocol)。

救援协议的设计思想是利用“知识不对称”:量子攻击者只有公钥,而真实持有者还知道些别的东西。原文举的例子是:2012 年以来绝大多数钱包用 BIP-32 硬化派生,只要密钥路径中用了硬化步骤,持有者就能以“知道父扩展私钥”来证明自己是真主,而量子攻击者几乎不可能知道这个信息。原文还提到 ZK-STARK 式与 commit/reveal 式救援协议的研究进展,认为前者可高效扩展、后者可能更高效但安全模型更复杂。

原文对覆盖率保持诚实:救援协议最终能覆盖多大比例的旧币,尚待研究;若能覆盖多数供给,收紧验证“至多是轻微没收性质的”(at most mildly confiscatory)。对 P2PK 这类找不到知识不对称的 UTXO,作者认为可能构造不出救援协议,并表态支持用 Hourglass 式提案处理 P2PK,前提是它在阶段 B 激活前已激活。

两个阶段的受益表在原文里逐方列过:矿工(后量子签名更大带来更多区块空间需求与手续费,且阶段 B 后不升级的矿工出的是无效块)、机构持有者(受托责任)、交易所与托管商(集中风险,一次量子攻破可能致命)、个人持有者(明确期限治拖延)、攻击者(落日临近,被盗币在 Q-Day 后花不出去,动机递减)。

4.4 向后兼容的说法

原文称整套安排是一系列软分叉:旧节点不升级也能继续运行,只是会把后量子见证程序看成 anyone-can-spend,因此强烈建议升级以完整验证新程序。阶段 B 之后,发送与接收双方都需要已升级的钱包。

需要点明:这里的“向后兼容”是节点软件层面的说法;对没迁移的持币人而言,阶段 B 意味着其旧 UTXO 的花费条件被实质改动——这正是本提案最核心的取舍,原文自己也用“没收性质”一词来掂量它。

五、谁必须动

普通持币人:本 BIP 若推进,持币人是动作最大的一方——要在期限内把资金从旧地址迁入后量子地址;逾期未迁的,阶段 A 后收不了新款,阶段 B 后花费要多过一道救援协议。原文把“丢失且永不迁移的密钥保持不可花费”也列为预期结果之一(供给纪律)。

钱包开发者:要支持后量子地址类型的收付、迁移工具、以及阶段 B 的救援协议证明流程;硬件钱包厂商也在原文点名的协调名单内。

交易所与托管商:原文点名其风险最集中,必须在期限内完成钱包系统与托管流程的迁移。

全节点与矿工:阶段式软分叉需要节点升级执行新规则;阶段 B 后,未升级矿工产出的区块可能因不执行收紧后的验证而无效(按原文受益表口径)。

共识层:改动落在共识层(提案 Layer 标注为 Consensus (soft fork)),但本文件类型是信息类——具体的后量子签名与验证规则细节,要由它依赖的那份尚未出现的后量子签名 BIP 以及后续提案来承载。

六、现在算不算数,以及一个常见误读

状态为 Draft(草案),且是信息类文件。它依赖的后量子签名 BIP 尚不存在(依赖行原文即 TBD),没有激活高度、没有已确定的旗日日期,时间表里的“约 3 年 + 2 年”都是以未来某次激活为起点的相对时间。今天它不改变任何规则,不算数;它的作用是把一种激进的迁移主张完整写下来,供社区争论。

常见误读:“BIP-361 已经定了,某年某月旧地址里的币就会被冻结/没收。”不对。本文件是草案、是信息类提案,前置的后量子签名 BIP 还没影,任何阶段都未激活;而且按它自己的设计,阶段 B 也不是简单的冻结,而是给旧签名花费加一道为真实持有者设计的救援协议,目的恰是“挡住量子小偷、放行真主”。当然也要看到另一面:原文自承救援协议覆盖率未知、对无法覆盖的部分带有“轻微没收性质”——这部分争议是真实存在的,不是误读能消解的,社区是否接受这种取舍,正是这份草案要面对的问题。

七、延伸

本页内容整理自 bitcoin/bips 仓库与 bips.dev,事实已与仓库核对;解读仅供学习参考。