多签派生不再按脚本分叉:BIP-87 把脚本长相交给描述符 图 1
多签派生不再按脚本分叉:BIP-87 把脚本长相交给描述符 · 图 1

多签钱包的派生路径这些年换过三代方案:BIP-45 给每个共同签名人排一个序号层(三个合伙人怎么共用一条派生路径:BIP-45 给多签钱包排的门牌号),BIP-48 在账户层后面插入一位脚本类型编号(多签钱包的第六级门牌:BIP-48 与 m/48 派生路径的脚本类型位)。2020 年 3 月,Robert Spigler 提交 BIP-87,主张这两层补丁在描述符时代都该退休:钱的脚本长什么样,交给描述符表达式去说;密钥派生只管密钥,五层结构与单签钱包完全同形。状态 Complete。

路径本身:m / 87’ / coin_type’ / account’ / change / address_index

逐层读:用途层固定 87 撇,沿用 BIP-43 的”用途号声明子树归属”惯例;币种层 0 是主网、1 覆盖测试网家族(提案把 testnet、regtest、signet 归在同一个 1 下);账户层从 0 顺序编号,全硬化;change 层 0 对外收款、1 找零;地址索引公开派生。与前两代真正的区别不在层数——恰恰是层数与 BIP-44 单签结构完全一致——而在每一层的职责被重新划干净了。

为什么”按脚本分叉派生”被点名批评

单签钱包可以一个脚本一个用途号(44、49、84、86 各管一种地址格式),因为恢复只需要私钥,派生错了还能挨个试。多签不行:M-of-N 的恢复除了 M 份种子还要全部 N 个共同签名人的公钥,信息量根本装不进一条助记词。BIP-45 的 cosigner 序号层和 BIP-48 的 script_type 层,本质都是在密钥树里为”脚本格式”留位置;而 BIP-87 的论证是:描述符表达式(wsh(...)、sh(...)、tr(...))本身就写明了脚本,键排序也由 sortedmulti 按 BIP-67 词法序自动完成——密钥树里再留脚本分叉,就是把同一件事登记两次,还得维护一张不断膨胀的类型编号表。提案给出的标准姿势是一段模板:wsh(sortedmulti(2,[xfpForA/87'/0'/0']XpubA/**,[xfpForB/87'/0'/0']XpubB/**)),两条通配展开成收款与找零两个描述符,发现地址时一起导入、按间隔上限扫描。

备份纪律:描述符必须和私钥一起存

文档有句话写得很直白:让共同签名人同时备份私钥信息和描述符,不该算用户负担——因为任何 M-of-N 恢复本来就要求交出全部共同签名公钥,与其到时候满世界收集,不如平时一起存。描述符的价值在这一步集中体现:密钥来源指纹、派生前缀、sortedmulti 的排序规则全部写进一行字符串,还带 BIP-380 校验和兜底手抄错误;配合 BIP-129 那类安全初始化流程,多方协作可以只交换一段模板加两个开关参数。提案明确钱包应当尊重 20 的地址间隔上限,连续 20 个未使用地址就停扫,并且当用户大量预生成地址逼近窗口时应当发出警告——恢复时钱”少了”,多数就是栽在这条线上(恢复助记词后账户找不到怎么办? 处理过同款现场)。

与描述符语言怎么分工

BIP-87 不是孤立提案,它踩在描述符栈上:底层是 BIP-380 定义的表达式与校验和语法(比特币钱包描述符是什么? 讲过描述符语言本身),外层的多路径写法 <0;1> 由 BIP-389 一类后续规范处理(一条描述符管两条地址线?BIP-389 多路径键表达式)。分工线因此非常清楚:密钥树负责”这把钥匙沿哪条路径长大”,描述符负责”长大的钥匙配成什么形状的合同”。读一份 87 风格备份时,m/87'/0'/0' 前缀只告诉你密钥出处,脚本门槛——几签、谁签、有没有 Taproot 分支——全在 sortedmulti 或 tr 的括号里。两半信息缺一不可:只有路径没有描述符,恢复出的钱包不知道该看哪些地址;只有描述符没有密钥来源指纹,签名器接不上正确的硬件设备。这也是为什么提案反复强调键来源信息(xfp 方括号段)要写进模板:它是 BIP-174 未签名交易能自动对号入座的前提。

Complete 之后的现实版图

状态 Complete 描述的是提案流程的终点,不是行业坐标。现实里 m/48 的脚本类型层仍被主流协调器与多家硬件钱包界面广泛展示,m/87 更多出现在描述符钱包阵营的配置选项里。这给使用者的提醒非常具体:恢复多签时照抄备份里给出的完整路径,不要因为”文档推荐 87”就把钱包里的 48 路径改掉——两代方案对同一颗种子派生出完全不同的密钥,扫错子树只会得到一份空账本。读一份多签备份是否合格,检查点也从三条就够:描述符原文在不在、密钥来源指纹全不全、扫描起点写没写。

风险提示:本文是钱包机制科普,不构成投资建议;多签恢复流程复杂、容错窗口小,正式使用前建议用小额资金完整演练一次建钱包、收发与换设备恢复。