多签开通前的那场点名:BIP-129 BSMS 怎么核对签名人名单 图 1
多签开通前的那场点名:BIP-129 BSMS 怎么核对签名人名单 · 图 1

多签的最大风险在装配线上

多签钱包的日常安全被讨论得很多——阈值、密钥备份、撤销轮换。但规范作者指出真正的薄弱环节在开通那一刻:多台设备、多个厂商,公钥和配置要经过邮件、二维码、复制粘贴这些不可靠通道。一个能篡改配置的对手不需要偷到任何私钥:把名单里某个公钥换掉,用户就会往一个”自己不在名单里”的钱包打款,钱从此需要攻击者配合才能取出;就算篡改不了,光听见配置也足够让第三方永久监听你的收支。

BIP-129(Bitcoin Secure Multisig Setup,BSMS)在 2020 年 11 月定稿,目标明确到只解决三件事:配置没被篡改、密钥没在安装期泄露、每台签名设备都把配置存了下来。设备存储防不防篡改、日后收付款验证对不对,规范明确划出范围之外。

一轮点名:协调者与签名者

BSMS 把安装画成一次点名。一台设备或一个人当协调者:定好脚本形态、阈值 M 和签名人总数 N,开一个有时限的会话(建议二十四小时)。协调者可以给每人发一个 TOKEN,作为后续加密的共享秘密;不用加密时 TOKEN 置零、整段跳过。每台签名设备当签名者:从自己密钥树的一条派生路径取一个公钥(或整条 XPUB),连同”我是谁”装进密钥记录交回去。

协调者把 N 份记录汇齐,生成一份描述符记录——底层站在 BIP-380 到 BIP-383 的输出描述符上,多签脚本、阈值、每个人的公钥与派生路径全写进一行可校验的文本——再分发给每台设备。每台设备要做的关键动作只有一句:确认自己的 KEY 出现在记录里,然后把整份记录持久化存进本机。

核对发生在哪一步

规范对加密、字段、换行符都写得极细(记录用 .bsms 后缀、LF 换行、AES 按 RFC 3686),但普通用户视角只需要抓住一个动作:在自己那台设备上亲眼确认”名单里第 i 个就是我”。二维码对拼、文件转发的攻击都藏在你没核对的那一眼里。会话限时、TOKEN 可换,则保证即便传输通道事后泄露,旧的会话密钥也过期作废。

这套流程与 PSBT 的分工值得记清:BIP-174 管的是日常——一笔交易怎么在设备间传递签名而不暴露内部状态;BSMS 管的是开通前——那台设备将来怎么知道”该收到的钱长什么样”。前者每天在用,后者一生只跑几次,恰恰是后者更值得按流程走完。

一次安装的时间账

值得给安装过程本身留时间:发 TOKEN、逐台出密钥记录、汇总描述符、逐台核对入库、再做一次小额收支测试——每一步都是流程的一部分,跳过哪一步,那一步防的事故就归你承担。如果有人催促你”跳过核对直接建钱包”,或者整套流程几分钟收工,那多半是省事的服务端代建,核对的责任被整体转移到了服务商的账上——不是不能接受,但要清楚你接受了什么。

和以太坊多签的差别

比特币多签配置写在链上的脚本(或描述符)里,链上地址本身就是配置的哈希承诺——改一个公钥地址就变。以太坊的多签是合约,成员名单存在合约状态里,可被治理流程改。所以 BSMS 式的”安装期核对”在比特币上对应的是”地址承诺不可变”的安心,而在以太坊上核对的重心会移到”合约谁能改”。两种多签读起来像同一件事,风险模型完全不同。

落地现状

BSMS 是完整状态的规范、由几家硬件钱包厂商推动,但并非所有多签软件都实现它;很多服务商用自家格式导出配置。没有 BSMS 不等于不安全,但它给出的检查清单——配置可校验、每台设备存副本、成员自证在列——是通用的。本文只讨论协议机制,不构成任何投资建议。