MoneroSwapper MoneroSwapper

如何设置 Monero 多签钱包 2026 完整指南

MoneroSwapper · · · 2 min read · 9 views

如何设置 Monero 多签钱包 2026 完整指南

2025 年 4 月,一位长期参与 Monero 社区的开发者公开披露:一台被入侵的笔记本电脑差点让一个社区众筹项目损失 47 XMR——按当时汇率约合 8400 美元——原因是整个金库的 Spend key 只存放在一台设备上。最终之所以没有酿成大祸,完全是因为前一晚他临时配置了一个 2-of-3 多签钱包。这件事在 Monero 中文社区(电报群、币乎、知乎)以及 #monero-dev IRC 频道上引发了长时间的讨论,也让"多签"这个曾经只在极客圈里流传的词汇,真正进入了任何持有可观 XMR 数量的人的日常视野。如果你读过关于多签的介绍,但从未亲手走过一遍完整的"轮次仪式",那么这篇指南正适合在你动手时打开放在另一个标签页里参考。本文将带你逐步走完密码学原理、配置选择以及 v0.18.4.x 版本上的精确 CLI 指令序列,并在最后解释当你需要给一个刚刚建好的多签地址充值时,MoneroSwapper 在整个流程中扮演的角色——以及它如何帮助你避免在充值环节牺牲隐私。

为什么多签对 Monero 比对其他币种更重要

比特币的多签早已是成熟方案:硬件钱包出厂即支持,Sparrow 和 Specter 这类客户端会引导你完成 PSBT 流程,脚本标准也稳定了将近十年。Monero 的多签则要年轻得多,也更脆弱,出问题时恢复难度也更高——正因如此,把它做对才显得尤其关键。Monero 用户面对的威胁模型,与典型的比特币持有者也有本质区别。

  • 链上没有公开地址图谱:每一笔交易都使用一次性 stealth 地址,并由环签名加 RingCT 进行混淆。这意味着窃取你 Spend key 的攻击者无法在区块浏览器上被追踪到;也没有任何链上分析公司可以求助。资金一旦被转走,基本就找不回来了。多签是少数几种能阻止"单点密钥泄露 = 全部归零"的机制之一。
  • 助记词泄露是毁灭性的:25 个英文单词组成的 Mnemonic seed 一旦泄露,可以追溯重建整个钱包的全部历史记录——因为 View key 和 Spend key 都从同一棵种子树推导而来。通过多签把这个"根"分散到多个签名人手中,意味着任何单点泄露都不会导致灾难。
  • 遗产继承与团队金库:项目托管、捐赠款、家族遗产等场景都需要 M-of-N 策略:即便某一位持有人意外失能,资金也不会被冻死在某把私钥后面。单签钱包从根本上无法表达这种需求。
  • 托管风险并没有消失:大型中心化交易所仍在持续下架 Monero——Kraken 在 2024 年末对欧盟用户撤下了 XMR 交易对,Binance 则更早一年就完成了同样的动作。对中文区用户而言,2017 年"94"以来本地法币通道早已断绝,把 XMR 长期放在交易所并不是一个可持续的方案。这意味着扎实的自托管能力是必修课。

再叠加欧盟 MiCA 框架与美国 FinCEN 在 2025 年发布的隐私币相关指引,以及香港 VASP 牌照体系对未声明发行人代币的限制,严肃的自托管已不再是可选项。对于任何持有几百美元以上 XMR 又输不起的人来说,多签就是答案。

Monero 多签底层是如何工作的

如果你只玩过比特币多签,Monero 的实现会让你觉得"不太对劲"。Monero 没有类似 OP_CHECKMULTISIG 这样的脚本操作码;它使用的是一种围绕 CLSAG 签名方案构建的多轮交互式密钥交换协议。参与方并不是简单地把各自的公钥拼在一起——他们需要通过若干轮 prepare_multisigmake_multisig,以及当 N 大于 2 时还要执行 exchange_multisig_keys,共同协商出共享的 View key 与 Spend key。

轮次结构

对于最基础的 2-of-2 钱包,仪式非常短:每个参与者运行一次 prepare_multisig,与对方交换得到的 MultisigxV2 字符串,然后用对方的字符串运行 make_multisig,钱包就算建好了。但对于 N 大于等于 3 的 M-of-N 情形,你还必须额外执行 N − M + 1exchange_multisig_keys。换句话说,2-of-3 钱包需要两轮交换;3-of-5 钱包则需要三轮。每一轮都会输出一个新的字符串,必须先与其他参与者交换,才能进入下一轮。

签名交易

钱包建成之后,签名流程同样是交互式的。发起方像普通转账一样调用 transfer,生成一个未签名交易文件。该文件被导出后,通过一个带外通道(加密邮件、U 盘、Signal——绝对不是直接走 mempool)传给另一位共签者,在对方端导入。共签者运行 sign_multisig 后产出已签名文件;如果已满足门限就可提交,否则继续传给下一个签名人。由于每位签名人在每笔交易之后,还必须通过 export_multisig_infoimport_multisig_info 交换最新的输出信息,这个流程注定"话多",但每一句"话"都不可省。

FCMP++ 与 Seraphis 升级会带来什么变化

即将到来的 FCMP++ 升级,以及更长期的 Seraphis / Jamtis 地址改造,都会触及多签的相关代码面。好消息是:多签的密钥交换语义保持兼容——新的环结构和新地址格式不会改变 M-of-N 密钥的聚合方式。坏消息是:一旦网络硬分叉切换到新地址方案,现有多签钱包都需要重新初始化,就像单签钱包也需要迁移一样。任何打算在 2026 年配置多签的人,都应当做好"分叉后再举行一次完整仪式"的心理预算,而不是寄望于原地升级。

多签配置方案对比

选择 M-of-N 数字组合,本质上与密码学无关,而和运营风险一切相关。在打开终端之前,先把下面这张矩阵在脑子里过一遍。

配置 适用场景 优点 缺点
2-of-2 夫妻双签、两位联合创始人、单用户在两台设备上做冷热分离 仪式最简单;只需一轮交换;双方都必须同意才能花费 任一私钥丢失即资金全损;没有冗余
2-of-3 单用户跨地理位置分密;小型团队;遗产继承方案 允许丢失一把备份钥而不丧失访问权;业内公认的合理默认值 两轮交换;协调开销;需三处独立安全存储
3-of-5 DAO、规模较大的金库、签名人会轮换的项目 可承受两把密钥被攻陷或丢失;支持签名人轮换 仪式更繁重;每笔交易需三次签名;物理协调更难
N-of-N(如 3-of-3) 高信任度托管、不需要任何冗余的场景 每个签名人对应最高安全性 任意一把丢失或被攻陷,资金永久冻结

对于绝大多数个人用户来说,2-of-3 都是正确答案。它恰好容忍了现实生活中最常见的几种失败模式——备份丢失、笔记本被偷、忘记密码——同时把签名仪式控制在可管理的复杂度内。本文剩余部分将围绕 2-of-3 逐步演示,但同样的命令在调整轮数后适用于任何 M-of-N。

分步演示:构建一个 2-of-3 多签钱包

你需要三台机器或三个独立的钱包实例。"真正的地理隔离"是关键:把笔记本放在厨房,把另一台放在书房——这不叫"三个地点"。理想情况是至少有一台离线机器,最好是一根 Tails U 盘的气隙系统;如果条件允许,再加一台硬件钱包做签名人。下面的指令默认所有三台机器都已安装 monero-wallet-cli v0.18.4.0 或更高版本。

  1. 分别创建三个全新的标准钱包。在每台机器上执行 monero-wallet-cli --generate-new-wallet=signer1.keys(每个签名人换文件名)。选择强密码短语。把每份 25 词 Mnemonic seed 写在纸上或刻在金属板上离线保管——它们不是多签的备份,但当你将来想要重建某个签名人时仍会用到。
  2. 各自执行 prepare。逐个打开钱包,运行 prepare_multisig。钱包会输出一段以 MultisigxV2 开头的较长 base58 字符串。把三个钱包各自的字符串都复制出来,共得到三段互不相同的准备字符串。
  3. 第一轮交换。在每个签名人那边,运行 make_multisig 2 <来自签名人 A 的字符串> <来自签名人 B 的字符串>,用的是另外两位参与者的字符串(不要把自己的字符串放进去)。每个签名人将产出一段第二轮字符串。再次交换。
  4. 第二轮交换。在每个签名人那边,运行 exchange_multisig_keys <A 的第二轮字符串> <B 的第二轮字符串>。钱包会提示 "Multisig wallet has been successfully created",并显示共享地址。务必核对三位签名人看到的主地址完全一致——只要有一个字符不同,就说明仪式已经失败,必须重做。
  5. 备份多签钱包文件。每台机器上现在的 .keys 文件就代表着该签名人的份额。把它们加密后存到离线介质上。请特别注意:你无法仅凭 Mnemonic seed 恢复一个 2-of-3 多签钱包——你需要至少两台签名机上的 .keys 文件。这一点是社区里造成"全损"的头号原因,务必记牢。
  6. 用小额测试入金。向共享地址发送一小笔资金——0.05 XMR 完全够用——大约二十个确认之后,确认三位签名人都能看到这笔余额。这一步千万不要省。在小额风险下暴露出来的配置错误,远比真金白银下的事故温柔。
  7. 演练一次花费。在任意一台签名机上运行 transfer <目标地址> 0.01。钱包会在 ~/Monero/multisig_monero_tx 下生成一个未签名交易文件。把这个文件搬到第二台签名机(U 盘或加密附件均可),运行 sign_multisig multisig_monero_tx。再用任意签名人通过 submit_multisig 把已签名结果广播出去。确认交易上链。
  8. 编写一份恢复计划。用一页纸写清楚每个签名人的 keys 文件存在哪里、谁掌管哪把密码、以及完整的花费命令序列。把这份文档的副本交给至少两位可信第三方(律师、家人、联合创始人)。文档里只能写存放位置和操作流程,绝对不要写密码本身。
一个你从未真正花费过的多签钱包,等同于一个还不属于你的钱包。把真金白银打进去之前,一定要先做一次完整的"测试入金—测试花费"双向闭环。

在 Stagenet 上预演一次完整仪式

把上述八步直接搬到主网上是最常见的"勇敢但错误"的做法。Monero 提供了一条专门用于演练的测试网络 stagenet,链上代币没有任何价值,水龙头可以免费获取,但交易格式、签名流程与主网完全一致。把 stagenet 当成你的练习场:在 monero-wallet-cli 启动时加上 --stagenet 参数,先用三台"演练"机器走一遍上面所有的交换轮次、备份、入金、签名、广播步骤;失败了就重来,记下每一处自己读不懂的字符串、每一次同步报错的具体提示,以及自己最容易在哪一步搞反 make_multisig 的参数顺序。

真正动手做主网仪式之前,建议至少在 stagenet 上完整跑通两次:一次三人同时在线"快速通道",一次模拟"签名人轮换离线 24 小时"的慢速通道。这一笔时间投入,会在你哪天因为时差、停电、家人临时叫去吃饭等真实因素被迫中断仪式时,救你一次性命。Stagenet 的水龙头可以在 community.rino.io/faucet/stagenet 这类节点上拿到,或者在 #monero-community 频道里直接问。

物理介质与"中转链"操作流程

多签的"轮次字符串"和"未签名交易文件"是这次仪式中最敏感的两类数据。它们本身不能直接被攻击者拿去花钱,但任何泄露都意味着对手能够建立你的金库与设备之间的关联,这是 Monero 整套隐私模型最不希望发生的事。建议把"中转介质"也按一个独立的小流程来处理。

  • 专用 U 盘,且只做这一件事:为每对签名人之间的传输准备一根专用 U 盘,标注用途,不混用做其他文件搬运。每次仪式后用 shredblkdiscard 把分区重置一次,避免残留的字符串在多年后被取证还原。
  • 不用云盘、不用聊天工具:哪怕是加密邮件,只要内容存在第三方服务器上,就构成长期被破解的攻击面。Signal "Note to Self" 也不行——它仍然落地到 Signal 服务器的备份基础设施中。
  • 带外校验字符串校验码:把每段轮次字符串的 SHA256 前 8 个字符通过另一条独立通道(电话、面对面、短信)读给对方,确认 U 盘里的内容没有在搬运过程中被替换。
  • 气隙机器的"导出—导入"动作:对于完全离线的签名人,数据从在线机器流入气隙机器时,U 盘是单向的——同一根 U 盘不应该再带回联网世界。准备两根 U 盘:一根"入"、一根"出",并各自只服务一个方向。

这些规矩看起来繁琐,但每一条都来自真实的事故复盘:有人把 round1 字符串截图发到 Telegram 群求助,有人把未签名交易文件传到了 Google Drive,还有人在公司打印机上把恢复指令打了出来。多签把"私钥泄露"的风险摊薄了,但它没有降低"操作链"上的风险——后者需要你用流程去管理。

每位签名人的设备应该选什么

"三处独立位置 + 三台独立设备"这条原则真正落实下来时,会发现"应该用什么设备"是一个被严重低估的问题。下面这套组合是我们在中文社区里见到稳定运转两年以上的家庭多签的常见配置,供参考。

  • 签名人 1(日常使用):一台运行 Whonix Workstation 的 X1 Carbon 或国产 ThinkBook,启用 LUKS 全盘加密,关闭 swap 或使用加密 swap。日常上网与多签操作分别在不同 Qubes VM 或不同 Whonix Workstation 里完成。
  • 签名人 2(半离线):一台二手 ThinkPad X220/X230,移除无线网卡和摄像头,启用 BIOS 密码,常年放在保险柜内。只在需要签名时取出,通过专用 U 盘进出。
  • 签名人 3(深度离线 / 受托方):一根加密 U 盘内置便携版 Tails,加上一份密封操作指南,交给可信第三方保管。这一份只在恢复场景或继承场景被启用,日常完全不接电。

把所有三个签名人都搞成"高安全"设备并非必要——多签的安全性本来就来自"三处地点要同时被攻陷"这一假设,因此把投入向最薄弱的那个节点倾斜,比把每个节点都拔高到极致更划算。一般来说,签名人 2 的保险柜质量比签名人 1 的笔记本贵不贵更重要;签名人 3 受托方的可信度,比 U 盘是不是 IronKey 更重要。

分叉前后:为 FCMP++ 留好迁移空间

在 2026 年这个时间窗口建多签,有一个必须提前在治理文档里写清楚的安排:FCMP++ 硬分叉一旦激活,你现有的多签地址需要做一次"链上迁移"——把全部余额转到基于新地址格式重新初始化的多签上。这件事不会一蹴而就,而是需要至少 M 位签名人在同一时间窗口内完成新一轮 prepare / make / exchange 仪式。在签名人地理分散的情况下,这一步的协调成本会被显著放大。

建议提前在恢复文档里加入一行:"FCMP++ 激活后 30 天内启动一次迁移仪式",并把届时需要联系的所有人邮箱或电话写在一张实体卡片上,与 keys 文件分别存放。等到分叉真正落地时再去找这些联系方式,往往为时已晚。社区里已经有人在准备一份"迁移日志模板",把每一步的命令、每一位签名人的确认时间、新旧地址的对照关系都按表格记录——可以关注 r/Monero 与官方 GUI 仓库的相关 issue,在合适的时候照抄。

真实案例:基于地理分散的遗产继承方案

我们在 2025 年间常见的一种"中文圈 2-of-3 遗产继承设置"大致是这样的。主持有人长期定居香港。签名人 1 是日常使用的 Whonix 笔记本,放在港岛家中;签名人 2 是一台永久处于飞行模式的旧 ThinkPad,封存在深圳父母家的保险柜里;签名人 3 是一根加密 U 盘,委托给新加坡的律师,并附上一份密封指令,只在死亡证明或失能证明出具之后才能拆封。

日常花费由签名人 1 加签名人 2 完成——持有人每隔几个月往返一次深圳,集中签批攒下来的待发交易。如果签名人 1 出事(笔记本被盗、勒索软件、被胁迫披露密码),窃贼若不能同时接触到深圳保险柜或新加坡律师,就根本无法转移资金。如果持有人意外身故,新加坡的律师持有一把钥匙,深圳家人持有另一把,两者合并即可完成继承,而完全不必找到持有人的密码。多签的 View key 以只读形式分享给律师,因此他能查询余额却无法花费——这一点对受托方非常友好。

当这位持有人需要给多签地址充值时——比如某次自由职业收入以其他币种到账——他会使用 MoneroSwapper 把这些 altcoin 直接兑换成 XMR 并发送至多签地址。无需 KYC、无需注册账户、除交易完成所需的最短日志外不留任何记录。收款地址使用的是从多签主地址派生出来的全新 Subaddress,这样既维持了收款端的隐私属性,又能复用同一个共享金库。通过原子互换或免账户兑换给多签充值,是在整个流程中保持"不可链接性"最干净的方式之一。

常见问题 FAQ

我能用那 25 个英文单词的 Mnemonic seed 恢复 Monero 多签钱包吗?

不行。每个签名钱包在创建之初显示的 25 词种子,只能恢复"该签名人在加入多签前"的钱包状态。真正的多签密钥保存在交换轮次完成之后生成的 .keys 文件中。你必须备份至少 N 位签名人中 M 个的 .keys 文件。如果你手上只有种子词,没有 .keys 文件,钱包就是不可恢复的。

整个设置仪式实际耗时多久?

对于 2-of-3,如果三位参与者同时在视频会议里,大约 20 到 40 分钟即可完成。如果是单人控制三个签名人、用 U 盘在多台机器间倒腾数据,通常会更慢,加上验证步骤和测试交易,接近一小时。第一次做的时候请预留充足时间;第二次会快很多,因为你已经知道每一轮输出的字符串到底意味着什么。

Trezor、Ledger 之类的硬件钱包支持 Monero 多签吗?

截至 2026 年初,硬件钱包对 Monero 多签的支持仍非常有限。Ledger 与 Trezor 都已原生支持 Monero 单签,但都还没有干净地整合进多签仪式。社区正在积极推进——可关注官方 Monero GUI 仓库中围绕 stagenet 多签流程的讨论——但目前最稳妥的方式仍是:在每台签名机上启用强加密的全盘加密,然后使用 monero-wallet-cli,而不是期待硬件背书的多签。

如果某个签名人"失同步"了怎么办?

这是最常见的运维问题。在每笔交易之后,每位签名人都必须运行 export_multisig_info 并把生成的文件分享给其他签名人;其他人再各自运行 import_multisig_info。如果某位签名人跳过这一步,他看到的余额就会陈旧,基于陈旧状态构造的交易会在提交时失败。解决方法是从任意一个仍在同步的签名人重新做一轮 export/import。开启 --log-level 1 之后,日志会清晰地暴露这种状态。

多签可以和子地址(Subaddress)一起用吗?

可以。多签钱包建好之后,你完全可以像单签钱包那样使用 address new 生成 Subaddress 账户和索引。每个 Subaddress 都是从共享多签主地址派生而来的一次性地址,收到的资金仍需满足同一个 M-of-N 门限才能花费。这一点对希望"每位捐赠者一个收款地址""每张发票一个收款地址"的项目金库来说极其实用。

对不到 1 XMR 的金额,做多签是不是过度了?

取决于这 1 XMR 对你的意义。如果这是你"丢了也无所谓"的零花钱,做一个钢制助记词板的单签足够。如果这是你"丢了会肉疼很久"的应急储蓄,那么 2-of-3 多签需要花的几个小时,在你第一次找不到备份或者笔记本被偷时,就会显得非常值得。换句话说,该问的不是"多少美金值得做多签",而是"丢了我会有多难受"。

多签钱包能不能跨操作系统?比如一台 Windows、一台 macOS、一台 Linux?

可以。monero-wallet-cli 是一份跨平台的官方二进制,只要三台机器都使用同一大版本(例如都使用 v0.18.4.x 系列),交换出的字符串就是兼容的。实际操作中我们更推荐三台都使用 Linux——Tails、Whonix 或长期支持的 Debian——因为攻击面最小,且 dm-crypt 与 LUKS 已被验证多年。但跨系统并非禁忌,关键在于版本一致和环境干净,而不是品牌一致。

如何安全地"轮换"签名人?

多签钱包本身没有"替换签名人"的原子操作。正确做法是:用现有的 M 位签名人把全部资金 transfer 到一个新建好的、包含新签名人在内的多签地址。换句话说,"轮换"在协议层面其实是"迁移"。这意味着每一次轮换都伴随一次链上交易,会产生 fee 也会留下时间戳;请将这一点写进治理流程,避免在紧迫情况下临时拍脑袋。

VPN、Tor 或 i2p 是必须的吗?

在仪式进行期间,Monero 节点连接走 Tor 或 i2p 是非常值得的。monerod 启动时加上 --proxy 127.0.0.1:9050 即可走本机的 Tor SOCKS5 代理;如果你的网络对 Tor 不友好,可以使用 obfs4 网桥或选择 i2p。出口节点的元数据本身可能被记录,但 Monero 的隐私保证主要在链上实现——网络层的保护是"锦上添花",不要因为缺少 Tor 就放弃多签,但有 Tor 时也别因图方便而走明文。

共享地址被反复使用会不会降低隐私?

不会。Monero 的 stealth 地址机制保证了即便你把同一个"主地址"公开张贴到多个收款渠道,链上看到的实际接收地址也是每次独立、互不关联的一次性地址。也就是说,无论是单签还是多签的主地址,反复使用本身不会成为攻击者的破口。但出于操作整洁,我们仍建议为每一个独立的收款用途(每个赞助者、每张发票、每个项目子模块)派生一个 Subaddress,这样在内部对账时能更容易地区分资金来源,而不必动到外部隐私属性。

多签的手续费会比单签贵吗?

会贵一些,但差距并没有许多人想象的那么大。Monero 的费用主要取决于交易体积(以 byte 计)与当时的费率档位,多签交易因为携带的环签名结构略大于单签,体积通常会高出 10% 到 30% 不等,具体取决于输入数量和 M-of-N 的具体组合。对个人持有人而言,这一差距完全可以忽略;对每天产生数十笔出账的项目金库,则建议在治理文档里写明"在低峰时段批量出款"以摊平成本。

同一组签名人能不能同时管理多个多签钱包?

可以。每一次仪式都会产生一个全新的多签地址,即使三位签名人完全相同,只要重新跑一遍 prepare / make / exchange 流程,就会得到独立的 keys 文件和独立的链上地址。许多团队会用这种方式拆出"运营金库""应急储备""分红池"三个不同账户,共享同一组签名人,但在链上彼此完全无关——既减少了协调成本,又保留了职责分离。

结语

Monero 多签是任何持有人在隐私和安全两端能做出的杠杆率最高的升级之一,而整个仪式只需花上几个小时的 CLI 操作即可掌握。绝大多数人应当默认采用 2-of-3 配置,把三份密钥分布在真正独立的地理位置,配套写下恢复计划,并在真金白银到位之前完成至少一次测试交易。当你准备好往新建好的多签地址里充值时,MoneroSwapper 让"流入"这一步格外干净:把任何一种 altcoin 免账户地兑换为 XMR,直接送达你的多签主地址或新生成的 Subaddress——从兑换到入库,整个链路的隐私属性都不会被打破。这个周末就把钱包搭起来,下个星期你就能睡得更安稳。

分享这篇文章

相关文章

匿名 门罗币兑换

无KYC • 无需注册 • 即时兑换

立即兑换