比特币改进提案 BIP 360 近日更新,提出通过软分叉引入一种新的输出类型 P2MR(Pay-to-Merkle-Root)。这项设计瞄准 Taproot 中最容易受到量子攻击的部分:依赖椭圆曲线密码学(ECC)的密钥路径花费。P2MR 的处理���式很直接,去掉这条路径,只保留脚本树路径。
提案由 Hunter Beast、Ethan Heilman 和 Isabel Foxen Duke 共同撰写。其目标不是立刻把比特币全面改造成“后量子系统”,而是在不强制全网迁移的前提下,先增加一层可选防护,并为后续整合后量子签名方案预留接口。
核心改动:保留脚本树,拿掉密钥路径
现行 Taproot(P2TR)有两条花费路径,其中密钥路径依赖 ECC,理论上可能被量子计算机借助 Shor 算法 破解。BIP 360 认为,这类威胁首先可能体现在“长期暴露攻击”上,也就是攻击者针对链上已经暴露的公钥或已花费脚本,花较长时间进行密钥恢复。
P2MR 与 P2TR 结构相近,但不再承诺内部密钥,而是直接承诺至脚本树的 Merkle 根。提案还指出,P2MR 仅针对长期暴露攻击提供保护;如果要应对交易在内存池等待确认期间的“短期暴露攻击”,仍可能需要未来引入后量子签名,如 ML-DSA 或 SLH-DSA。
地址前缀为 bc1z,兼容现有 tapscript
按照提案,P2MR 是一种原生 SegWit 输出,采用 版本 2 见证程序和 32 字节 见证数据,主网地址前缀为 bc1z。其 ScriptPubKey 形式为 OP_2 OP_PUSHBYTES_32 <hash>,其中哈希值对应脚本树的 32 字节 Merkle 根。
P2MR 完全兼容现有 tapscript,已有的 tapscript 程序无需修改即可使用。这也是提案强调的一个方向:尽量复用 P2TR、tapleaf 和 tapscript 的现有代码,降低钱包、交易所和库的接入复杂度。
代价与限制已经写明
这套方案不是没有取舍。P2MR 的每次花费都走脚本路径,所以其见证数据会比 P2TR 的密钥路径花费更大。提案给出的对比是,P2MR 深度 0 树见证为 103 字节,而 P2TR 密钥路径花费见证为 66 字节,前者多出 37 字节。但若与等效的 P2TR 脚本路径花费相比,P2MR 反而会少 32 字节,因为控制区块中省略了内部公钥。
隐私方面,使用 P2MR 的用户会直接暴露自己采用了脚本树花费,无法像 Taproot 密钥路径那样隐藏。不过,提案认为它与 P2TR 的脚本路径在隐私水平上相当,并优于会暴露未使用脚本路径的 P2SH。
定位是第一步,不是完整后量子方案
BIP 360 没有引入后量子签名,也不对量子计算时间表做判断。它给出的定位很明确:先以最小改动移除 Taproot 中量子脆弱的密钥路径,让开发者和用户能选择一种更偏防御性的输出类型。
提案同时提到,旧版节点和钱包若不支持 SegWit v2,将无法识别 P2MR 输出;用户若要接收和验证相关交易,需要更新钱包和节点软件。文末显示,当前翻译基于 BIP 360 v0.11.0(2024-12-18)。

