本手册是《冷钱包终极指南》系列第三篇。第一篇讲威胁模型与方案选型,第二篇是方案一(SLIP39 + Passphrase)的落地清单,这篇是方案二的落地清单。
架构:2-of-3 P2WSH 多签,两台硬件设备 + 一把纯种子钥匙
预计耗时:设备到位后一个完整的独处日,外加隔天一次恢复演练
原则贯穿全程:秘密零数字化 / 设备屏幕是唯一真相 / 不验收不入金
多签最常见的归零方式,不是被破解。
是三把助记词全在手上,钱包打不开。
单签世界里「记住那几个词就够了」是对的,多签把这条直觉废掉了。你还需要一份叫描述符(descriptor)的东西——它不在任何一台设备里,也不在任何一份助记词里。丢了它,三把钥匙齐全也算不出自己的地址,更别提花钱。
这篇不重复讲多签为什么值得上(那在第一篇),直接进落地。
一、三把钥匙的角色不是平均分配的
很多人一想到 2-of-3 就是买三台设备。其实更聪明的配法是这样:
第三把不触电、不联网、不依赖任何厂商固件,反倒是三把里最冷的一把。日常花钱用手头两台,保险箱那把纯粹是灾难恢复。
这样配有个隐藏好处:任何一家厂商出致命固件漏洞,你都还安全。 攻击者拿到一把钥匙不够用,而第三把根本不在任何厂商的攻击面里。
反过来也得说清楚:如果两家厂商同时被攻破,攻击者就凑齐了两把,2-of-3 的门限被满足,币会被拿走。异构买的是「不会被一击全穿」,不是「刀枪不入」——这也是三台必须来自三家的原因。
还有个反直觉的点,第一篇提过但值得再说一遍:
多签下各设备不需要 passphrase。
容错已经从备份层上移到了签名层,没必要再往脑子里塞一个「忘了就完蛋」的秘密。硬要叠加,只会让恢复流程多一个失败点。
门限为什么必须是 2-of-3
配置 | 判断 |
1-of-N | 等于单签,只是多了几个备份入口,反而扩大泄露面 |
2-of-2 | 丢一把即归零,容错比单签还差,别碰 |
2-of-3 | 个人自托管的标准解 |
3-of-5 | 仓位很大或需要跨司法辖区分散时才有必要,日常操作成本明显上升 |
二、选设备:看能力,不看牌子
这一节不点任何品牌名,因为固件迭代很快,今天的结论半年后可能就不成立。给你的是一张能力清单,拿着它自己去核对手头的候选设备。
三条硬性要求:
1. 三台设备来自三家不同厂商,且固件代码库互相独立。 同品牌三台,一个固件漏洞一击全穿,多签直接退化成单签。这是买多签唯一不能省的钱。
2. 能被同一个协调软件识别。 协调软件(Sparrow、Nunchuk、Specter 这一类)不持有私钥,它只负责组装交易和收集签名,所以随时可以换。但三台设备必须都在它的支持列表里。
3. 至少两台能在设备端登记多签配置。 这条最容易被忽略,下面单独展开。
加分项:
- 支持空气隔离(QR 码或 SD 卡传 PSBT),比 USB 直连的攻击面小
- 有安全芯片,且芯片方案与另外两台不同
- 固件开源可审计
- 有 Bitcoin-only 固件版本
减分项:
- 只能通过厂商自家 App 使用,不支持第三方协调软件
- 蓝牙常开且不可关闭
- 官方 App 本身不支持多签(这很常见,不算硬伤,走协调软件即可)
⚠️ 一个行业普遍没说透的坑:设备屏幕显示地址 ≠ 设备验证过这个地址
多签地址是由「三个 xpub + 门限 + 脚本类型」一起算出来的。一台设备如果只知道自己那一个 xpub,它根本没有能力独立复算这个地址——屏幕上显示的东西,只是把电脑传过来的内容照搬了一遍。
攻击者可以利用这一点:拿你的公钥再配两个自己的公钥,另建一个多签钱包。你的设备会照样显示那个地址,并且「确认」它属于自己——这不算完全错,那个地址确实用到了你的密钥,但它属于另一个描述符,钱进去了你一分也拿不出来。
更危险的是花钱时的找零:一笔交易通常有两个输出,给对方的和退回自己的。没登记配置的设备分不清哪个是找零,攻击者可以把 99% 的余额以「找零」名义发到自己控制的地址,而设备屏幕上只显示那 1% 的转账金额。
所以选设备时,「支持多签」和「能验证多签地址」是两件事,别混为一谈。
10 分钟自测法
任何厂商的宣传页都不如这个测试可信。买之前先问客服要个明确答复,设备到手立刻自己跑一遍——客服说支持不算数,跑出来才算:
- 用测试网(signet / testnet)在协调软件里建好正确的 2-of-3,记下第一个地址
- 再建一个「假钱包」——用同一台设备的 xpub,另外配两个随便来的 xpub,凑成另一个 2-of-3
- 让设备显示这个假钱包的地址
设备照样显示、不报警 = 它没存配置,验证能力等于零。
三台都跑一遍,把结果记在你的验收清单上。至少要有两台通过——那两台就是你日后的地址验证锚点,第三台降级为纯签名器。
阶段 0:采购与前置清单
设备
硬件设备 A —— 厂商官网直购,不要第三方/二手/赠送
硬件设备 B —— 另一家厂商,同样官网直购
一台干净可信的电脑(理想:专用旧笔记本)
纯种子钥匙
一台第三方设备,用来生成第三把种子并读出 xpub
备选(坚持随机源完全离设备才需要):六面骰子 + 一个能离线算 BIP39 校验和的工具,或一台支持骰子熵输入的设备——不是词表打印件,理由见阶段 1
这台设备的身份要提前想清楚。不要用设备 A 或 B —— 读完 xpub 要擦除,擦掉的就是你的 Key 1 或 Key 2。买第三台留着最省事(阶段 5 演练还要再用一次),或者借一台事后彻底擦干净。
金属备份(买成品,不自己敲)
金属助记词备份板 × 3(三把钥匙各一块),另多买 1 块试手
材质 304 不锈钢即可,厚度 ≥1.5mm,容量能放下 12 词 × 4 字母 + 一行元数据
三把都是 12 词 BIP39,打点式产品可用;但若日后可能改用 SLIP39,选支持任意字母的更保险
任何要求你把助记词发给供应商代刻的产品,一律拉黑
油性记号笔、编号防篡改袋 ≥4 个、干燥剂
选购标准、采购隐私、填写要领在第一篇第六节讲得很细,这里不重复。
描述符载体
防水打印纸 3 份(想做到极致就再加 3 块金属板,注意上面那条里的 3 块是给助记词用的)
一个加密云盘账户(可选,理由见阶段 6)
存放准备
确定三个存放地点,需要银行保险箱的提前办好
阶段 1:三台钥匙各自独立生成
设备 A 和 B:
- 官网下载各自的官方软件,能校验签名的都校验一遍
- 开箱检查封条。盒里如果附了「已经写好助记词」的卡片 —— 100% 骗局,立即停手联系官方
- 首次连接完成设备验真,装 Bitcoin-only 固件
- 各自全新生成种子,不要用同一份种子派生,不要互相恢复
- 各自设 PIN(8 位以上,只在设备触屏输入)
- 不启用 passphrase
- 助记词逐份抄纸稿,在设备上完成回验
- 记下各自的主密钥指纹(8 位十六进制),这个数字后面每一步都要用来对账
第三把(纯种子钥匙):
- 断网环境,手机关机放另一个房间
- 用阶段 0 准备的那台第三方设备全新生成一组 12 词种子(用设备自带的硬件随机数发生器)
- 屏幕上逐词抄在纸上,标注「Key 3」,在设备上完成回验
- 读出 BIP48 路径下的 xpub 和指纹,记录
- 立即 wipe device,这台设备之后只在演练时临时借用
想用骰子自己投熵?先搞清楚校验和这件事。
12 词 BIP39 = 128 bit 熵 + 4 bit 校验和。前 11 个词可以自由投,第 12 个词的后 4 位是校验和,必须算出来,不能投。硬投一个词大概率导入时直接报错;更糟的是有人会一直换词换到「能通过校验」为止——那一刻熵就塌了。
想做的正确流程:约定映射(骰子 1-3 = 0,4-6 = 1),投 128 次得到二进制串,再用离线工具或支持骰子熵输入的设备算出完整的 12 词。
不打算折腾这一步的话,直接用设备自带的硬件随机数就够了——它本来就是为这件事设计的。
不管走哪条路,有一条不变:第三把种子从头到尾不碰联网电脑。 这是它比另外两把更冷的原因。
阶段 2:收集三个 xpub
多签用的衍生路径和单签不一样,这里错了后面全错:
操作:
- 协调软件里选 Multi Signature 策略,脚本类型 Native Segwit (P2WSH),门限 2 of 3
- 三个 Keystore 依次导入 xpub
- 支持空气隔离的设备走 QR / SD 卡
- 只支持 USB 的设备直连(能力所限,接受它)
- 第三把用阶段 1 读出来的 xpub 手动粘贴
- 每导入一个,立刻核对指纹与阶段 1 记录的一致
- 确认路径显示为
m/48'/0'/0'/2'
指纹核对这一步别嫌烦。导错一个 xpub 的后果是:钱包能建、地址能生成、钱能进去,但你永远签不出来——而且这个错误要到第一次转账时才暴露。
阶段 3:创建钱包并导出描述符
- 三个 Keystore 齐了,Apply,给钱包文件设一个强密码
- 立刻导出描述符(Settings → Export → Output Descriptor)
- 存成三种形态:纯文本、PDF、QR 码
描述符长这样(这里是脱敏示例):
它包含门限、三个 xpub、每个 xpub 的来源指纹和路径。
注意末尾那个
<0;1>:0 是收款链,1 是找零链。有些软件导出成 /0/* 和 /1/* 两条独立描述符,有些用上面这种合并写法。两条链都必须备份到——只存收款链那条,你的找零会变成一笔看不见也花不出的钱。导出后自己数一遍。📌 描述符是你的第二个种子
它只含公钥,泄露不会丢币,但会暴露你的全部余额和交易历史——所以是半机密,不是公开信息。
真正的风险在另一头:丢了它,三份助记词齐全也重建不出这个钱包。 这是多签最常见的翻车方式——种子一份不缺,就是找不到描述符。
备份成本几乎为零,所以多打几份,每个存放点都放一份。别用管助记词的思路管它——助记词是「越少人知道越好」,描述符是「越不容易丢越好」,方向相反。
阶段 4:回注册描述符到设备
把描述符导回每一台支持登记的设备上。这一步做完,那台设备才真正具备验证能力。
- 描述符文件存到 SD 卡 / 显示为 QR / USB 传输,按各设备支持的方式来
- 设备上找到多签钱包导入入口,逐屏核对三个 xpub 后确认
- 第二节「10 分钟自测法」中没通过的那台,跳过——它不支持,这是已知限制
- 记录清楚:哪几台是验证锚点,哪台只是签名器
之后的日常纪律:
- 收款地址,必须在验证锚点设备上核对
- 签名顺序固定为:验证锚点先签,纯签名器后签
- 只有纯签名器在手边时,不做任何收款和转账操作
阶段 5:验收演练(不跑通不入金)
分三轮,每轮不通过就回头排查,绝不带病往下走。
第一轮:地址一致性
- 生成第一个接收地址
- 在每一台验证锚点上分别显示、逐字符核对
- 全部一致才继续
第二轮:真实签名
- 小额转入一笔
- 用设备 A + 设备 B 签名转出,走完完整 PSBT 流程
- 再用设备 A + 第三把钥匙签一笔(第三把临时装入阶段 0 那台第三方设备,不要装进设备 B,用完立即擦除)
- 两种组合都跑通,说明三把钥匙都是活的
第三轮:模拟丢失(最关键的一轮)
- 换一台干净电脑,重装协调软件
- 只用描述符 + 其中两把钥匙重建钱包
- 确认地址与原钱包完全一致,且能成功签出一笔
第三轮跑通,这套方案才算成立。跑不通就说明某个环节有问题,而现在发现的成本,比三年后发现要低几个数量级。
阶段 6:金属板填写与三地分发
先填板
- 三块板分别填入三把钥匙的助记词:2 列 × 6 行,每词只填前 4 字母(BIP39 词表前 4 字母唯一)
- 元数据行分别写
BIP39 2OF3 KEY1/KEY2/KEY3——不写的话,三年后你分不清哪块是哪把
- 填写手法、试手、改错方式见第一篇第六节,试手板用完销毁
再做端到端验证(烧纸之前必做)
到这一步为止,三块板只被肉眼核对过,从来没被真正用过。而你以后要依赖的恰恰是它们,不是纸稿。
- 把所有纸稿扣过去,移出视线范围
- 只看金属板,逐块把助记词输入阶段 0 那台第三方设备,读出主密钥指纹
- 指纹与阶段 1 记录的一致 → 通过 → wipe device,换下一块
- 用第三方设备做这件事,就不用擦除设备 A 和 B
- 三块全部通过,才烧纸稿——现在还有纸稿可对,烧了就没了
- 验证通过后,所有纸稿当场烧毁,灰烬捻碎
最后分发
地点 | 存放内容 |
地点 1(家中隐蔽处) | 设备 A 的助记词金属板 + 描述符副本 |
地点 2(银行保险箱 / 异地) | 设备 B 的助记词金属板 + 描述符副本 |
地点 3(第三处 / 律师 / 异地亲属) | 纯种子钥匙金属板 + 描述符副本 |
检验标准和第一篇不一样,这点必须说清楚。第一篇是 SLIP39 3-of-5,两个地点凑不出门限;2-of-3 下两个地点凑齐两把,钱就能被花走。
所以这里的硬性标准是:
任何单一地点被烧、被偷、被抄,你的损失是零;任何两个地点同时失守,资金即暴露。
这意味着三个地点的独立性要格外讲究。家里和车里不算两个地点,你和配偶各拿一把也不算。真正的独立是:一场火灾、一次入室、一个认识你所有社交圈的人,都只能碰到其中一处。
描述符三处都放。它泄露只损失隐私,丢失才是灾难,这个权衡怎么算都值。想做双保险的话,再加密存一份云盘也合理——注意是加密后再上传,不是直接丢进去。
金属板上不出现的内容: bitcoin / BTC / wallet / 任何品牌名 / 姓名 / 任何资产与身份指向词。标签写给恢复它的人看,不写给捡到它的人看。
分发途中一次只携带一块板,分发完成前板不离身。
阶段 7:日常签名流程
每笔转账要跑两台设备,比单签慢得多。这是多签的真实成本——它把被盗风险换成了操作复杂度风险。 如果你不做定期演练,后者可能更致命。
日常铁律:
- 收款:地址必须在验证锚点设备屏幕上核对(防剪贴板劫持)
- 付款:核对金额 + 收款地址首尾各 6 位 + 找零是否被正确识别
- 固件更新前,先确认三份备份都还在、都还能读
- 永不:向任何人、任何网站、任何「客服」提供助记词或描述符
- 任何声称「安全漏洞请立即迁移资产」的邮件短信,一律是钓鱼
阶段 8:继承说明书
多签的继承比方案一简单得多,值得单独说清楚这个差异。
Passphrase 方案的死穴是:那串词活在你脑子里,继承人不但要拿到备份,还得理解「隐藏钱包」这个概念,任何一环断掉币就永久锁死。
多签的继承是纯物理的:拿到任意两处的钥匙材料加描述符,用任何一个支持描述符的软件就能恢复,不依赖任何「只有死者知道」的信息。
写一份不含秘密的路线图,密封交给遗嘱执行人:
- 声明资产存在及架构(2-of-3 多签,需要凑齐任意两把)
- 三个存放位置及获取方式
- 说明描述符是什么、长什么样、缺了它无法恢复
- 恢复步骤概述:任意两块金属板 + 描述符 → 任何支持输出描述符的钱包软件
- 推荐几个具体的软件名(描述符是通用标准,不会被任何一家锁死)
- 可求助的可信技术人 / 律师联系方式
- 每年与继承人做一次口头演练,只讲流程不暴露内容
把「描述符」三个字在说明书里加粗。你的继承人大概率没听过这个词,而它是整份文件里最容易被当成废纸扔掉的东西。
阶段 9:年检日程(现在就设提醒)
每年固定一个月份,日历提醒文案写「年度检查」即可:
巡检三个存放点:板在、封条完好、无锈蚀、描述符副本可读
完整跑一次模拟丢失演练:默认用 A + B 组合;第三把每三年验一次即可(每验一次就要把纯种子装进设备一次,那是它唯一的暴露窗口,不必年年做)
三台设备固件更新,更新前确认备份可用
重跑一遍「假钱包」自测,确认设备验证能力没有因固件变更而退化
继承路径复核:人、权限、位置是否有变
第四项是多签特有的。固件更新偶尔会改变多签行为,而这种变化不会有人通知你。
完工标准(全部打勾才算上线)
三台钥匙来自三个独立厂商 / 独立生成路径,无共享种子
全部为 Bitcoin-only 固件,设备验真通过
三个 xpub 指纹逐一核对无误,路径确认为
m/48'/0'/0'/2'「假钱包」自测跑过,明确记录了哪几台是验证锚点
描述符已导出,三种形态存档,已回注册到所有支持的设备
描述符含收款链和找零链两条,已逐条确认
三块金属板填写完成、逐字核对、密封编号,试手板已销毁
金属板端到端验证已做:三块板都做过「只看板 → 导入 → 指纹比对」
三轮验收演练全部通过,含「只用描述符 + 两把钥匙」的异地重建
所有纸稿已烧毁
三地分发完成,拓扑满足「单点全灭损失为零」
描述符每个存放点各一份
继承说明书密封交付,「描述符」已加粗
年检提醒已设置
尾声
方案一的容错在备份层,方案二的容错在签名层。
上移一层,东西反而更少:从七个存放点降到三个,从「记忆 + 金属板」的双重依赖降到纯物理材料,继承说明书从「需要理解隐藏钱包」降到「凑齐两块板就行」。
代价只有一个——每次花钱要多按一台设备。
真正会咬你的从来不是这个代价。是三年后你打开电脑,发现描述符不知道被收到哪去了,而三块金属板还整整齐齐躺在保险箱里。
系列文章
- 第一篇:《冷钱包终极指南 1:从一台 Trezor 到没人能偷走你的币》——威胁模型与方案选型
- 第二篇:《冷钱包终极指南 2:Trezor Safe 5 自托管实施手册》——方案一落地
- 第三篇:本文——方案二落地
参考资料
- Marko Bencun:Multisig xpub verification(benma.github.io)