返回博客
多签

MPC 与多签(MultiSig):一次坦诚的对比

扁平风格插图,对比两种方案:MPC 的密钥分片在链下合成一个签名,多签则由链本身核验三把密钥中的两把。

去问十位安全工程师来裁决 MPC 与多签之争,你会听到一种熟悉的分裂:托管技术厂商偏爱 MPC,比特币老兵拥护多签,两个阵营各说各话。这个话题值得更认真的对待,因为两种方案解决的是同一个问题——任何单个人、单台设备或单台服务器都不应能独自转移资金——只是解决的位置截然不同。MPC(多方计算)拆分的是密钥本身,靠的是链下密码学;多签拆分的是花费的权限,靠的是由区块链自身强制执行的规则。

这一个设计选择,驱动了几乎所有的实际差异:你要付多少手续费、外部人能验证什么、厂商消失时会发生什么、一笔错误签名之后谁能被追责。两种方案谁也不是对另一方的全面升级。截至本文撰写的 2024 年 4 月,两者都各自守护着数百亿美元的资产,也都曾酿成代价高昂的失败。下面是这场对比的坦诚版本。

拆分花费权力的两种方式

MPC 钱包通常构建在门限签名方案(TSS)之上。它把一把私钥拆分成由不同参与方或设备持有的数学分片;签名时,各分片持有者运行一个交互式协议,共同计算出一个普通的单一签名。完整的私钥在任何时刻都不会出现在任何一个地方——即便在钱包创建的那一刻也不例外。区块链看到的是一个普通地址和一个普通签名,完全不知道背后有一组门限参与其中。

多签走的是相反的路线。每位参与方持有一把完整、独立的密钥,而花费规则——比如 2-of-3——被写在网络能够看见并强制执行的地方:在比特币中是 Bitcoin 脚本(比特币自 2012 年起就原生支持多签),在以太坊等链上则是智能合约。一个 2-of-3 多签,在三把已登记密钥中至少有两把各自给出有效签名之前,绝不会放行资金。这个门限不是你所运行的软件许下的承诺,而是由链上共识强制执行的规则。

两种模型顶着同一个词——“钱包”——对外销售,这掩盖了它们在信任假设上的巨大差异。一种模型的保证,来自一套外部无法审视的高级密码学实现;另一种的保证,来自人人都能查验的共识规则。

MPC 把签名门限搬进密码学,要求你信任一套实现;多签把门限写进链里,让任何人都能验证它。
示意图:MPC 的密钥分片在链下完成签名,链上只看到一个签名;多签则由各把密钥分别签名,并由链本身强制执行 2-of-3 规则
同样的 2-of-3 策略,在两个不同的位置强制执行:链下协议 vs 链上规则。

支持 MPC 的理由

MPC 的优势是实打实的,这也解释了为什么大量机构托管业务运行在 MPC 之上。

  • 多链覆盖几乎零成本。一套门限 ECDSA 实现,原则上可以覆盖所有接受 ECDSA 签名的链。不需要为每条链编写、审计和部署合约——这对多签产品来说是一笔真实的成本,它们必须在所支持的每一个网络上重新实现自己的模型。
  • 地址看起来平平无奇。MPC 钱包支付的是单签名的手续费,也不会在链上泄露任何策略信息。在 taproot 于 2021 年激活之前,比特币多签花费明显比单签名花费更大、更贵;MPC 从来没有这个问题。
  • 分片可以轮换。主动刷新(proactive refresh)让持有者无需移动资金、无需更换收款地址,就能重新随机化各自的分片,因此攻击者必须在一个轮换窗口之内攻破门限数量的分片,而不是可以花上数年时间慢慢积累。
  • 没有智能合约风险。链上不部署任何东西,因此不存在可被利用的合约代码。2017 年的 Parity 事件——一个共享多签库中的漏洞冻结了数亿美元的 ETH——是每家 MPC 厂商都会引用的前车之鉴,而这个教训确实成立。

MPC 的破绽在哪里

它的弱点同样是结构性的,只是被宣传得少得多。

这套密码学是真的难。门限 ECDSA 是一个多轮交互式协议,处处是锋利的边角,而失误已经流入过生产环境。2023 年,安全研究人员披露了针对多个广泛部署的门限签名实现的可实施密钥提取攻击——缺陷出在代码而非底层数学,但受影响钱包的用户同样暴露在风险之中。多签用户的核心假设是“链会正确地验证签名”;MPC 用户的核心假设是“我的厂商正确地实现了一个精妙的密码学协议”。这两个假设的分量并不相同。

外部没人能验证门限。MPC 地址看起来和其他任何地址一样,这意味着宣传材料里的门限无法在链上得到核验。2023 年 7 月的 Multichain 事件把这一点变得具体:约 1.25 亿美元从该项目的地址中转出,而团队随后的声明表明,存放其密钥材料的服务器一直处于一个人的实际控制之下。无论架构图承诺了什么,运营现实就是一个单点故障——而任何外部人都不可能从链上察觉这一点。

恢复通常绕不开厂商。大多数生产环境的 MPC 系统都是厂商专有的:分片以私有格式存储,签名需要厂商的协调服务,恢复依赖于厂商工具的继续存在。有些提供商支持离线导出,很多则不支持。如果“脱离厂商也能恢复”对你很重要,请在向钱包注入资金之前——而不是之后——要求对方演示一遍。

可追责性更薄弱。MPC 签名仪式的产出是一个聚合签名。链无法展示是哪些参与方批准了一笔交易;仅有的归因信息存放在厂商的日志里,而日志由厂商掌控。

记分板:多签让门限、签名人身份与脱离厂商的恢复都可以验证,MPC 则无法验证这些,但换来了策略的私密性
外部观察者真正能核验的内容。两种方案各自赢下不同的行。

支持多签的理由——以及它的真实代价

在 MPC 与多签的对比中,链上多签几乎把上述所有性质都反转了过来。策略公开且由共识强制执行,因此审计师、联合创始人或法庭都可以确认门限,而无需信任任何人的控制面板。每一次批准都是来自一把独立密钥的一个独立签名,因此事故发生之后,你能确切知道是哪些密钥签了名。而且由于这些密钥就是普通密钥——在 Ownbit 多签中,每位参与方都是一份标准 BIP39 助记词——恢复不依赖任何公司的继续存在。比特币多签以这种方式守护资金已经超过十年。

代价同样具体。更多的签名意味着更大的交易和更高的手续费,尽管 taproot 已经在比特币上收窄了这一差距。审计师喜爱的公开策略,在对手眼里同样一览无余:一个 2-of-3 钱包等于在昭告自己是什么。多签必须逐链实现——Bitcoin 脚本、EVM 合约、TRON 的原生方案、Solana 程序——而各家实现的质量参差不齐。在智能合约链上,合约本身就是攻击面,这正是多签合约代码应当开源并可独立审计的原因;Ownbit 公开自己的多签合约,正是出于这个考虑。

MPC 与多签:如何选择

当工作流本身就是产品时,选 MPC:一个交易台每天要在几十条链上推送数百笔自动化签名,配有运营团队、厂商合同和 SLA。在这种场景下,链无关的签名与分片轮换真正配得上它们的复杂度,厂商依赖也是一段谈出来的商业关系,而不是一场意外。同样的逻辑适用于交易所和支付处理商——签名量之大,使得任何模型下的逐笔人工审核都不现实。

当策略必须能被彼此并不完全信任的人验证——联合创始人、生意伙伴、家庭成员——或者必须比所有相关公司都活得更久时,选多签。如果两位合伙人想要的是证明而非口头保证,确认谁都无法独自动用金库资金,链上 2-of-3 就能提供这种证明——多年以后,他们中的任何一位都可以用区块浏览器确认这套安排,无需征得任何人的许可。对于需要在门限之上叠加组织结构的机构,企业多签提供所有者与签名人角色、签名人权重、支出限额和地址白名单。

还有两点能让这个选择保持坦诚。第一,两种方案可以组合:链上多签中的一个签名人本身就可以是一套 MPC 配置,一些团队正是这样运行混合架构的。第二,两种方案治的都是同一种病根——单一助记词构成的单点故障——但它们换上的东西不同:多签换成几份你可以随意备份的标准助记词,MPC 换成只能按厂商条款备份的厂商格式分片。

于是,MPC 与多签之争的坦诚总结是:MPC 买到了运营灵活性和隐私,付出的是可验证性和厂商依赖;多签买到了可验证性和独立性,付出的是手续费、隐私和逐链的工程投入。想清楚你更愿意用哪种货币付账——只有当失败模式是你能理解的失败模式时,资金才真正属于你。

常见问题

MPC 比多签更安全吗?

两者都谈不上绝对更安全;它们的失败方式不同。MPC 消除了链上合约风险,却把信任集中到厂商的协议实现和基础设施上,而且它的门限无法从外部验证。多签让门限公开可验证、由链强制执行,但手续费更高,并且在智能合约链上增加了合约风险。评判一套方案,要看它最坏的失败模式,而不是它最好的营销话术。

MPC 钱包有助记词吗?

通常没有标准意义上的助记词。密钥只以分布式分片的形式存在,因此没有一份可以抄写下来的 BIP39 助记词。这消除了一个单点故障,但备份和恢复随之要遵循厂商的私有格式和工具,而不是开放标准。在依赖任何一款 MPC 钱包之前,先问清楚:如果厂商消失了,你该如何恢复。

没有开发它的公司,多签钱包还能恢复吗?

可以——只要它构建在标准之上。链上多签由普通密钥加上公开的脚本或合约来定义,任何兼容软件都能重建它并从中花费。Ownbit 多签的密钥是标准 BIP39 助记词,合约完全开源,而且正是为这种场景准备了自助恢复指南。

MPC 和多签可以一起用吗?

可以。两者工作在不同的层面,因此链上多签的一位参与方完全可以把自己的密钥拆成 MPC 分片,分散在多台设备上。一些机构把用于日常运营的 MPC 签名集群与用于最深层冷存储的链上多签结合起来,让每种方案都用在其取舍最合适的地方。

如果你的落点在这组取舍中“可验证”的一端,Ownbit 多签是亲手尝试它的实用途径:在两台手机和一位家人的设备上组成 2-of-3,每把密钥都是标准助记词,合约开源,新用户还有 7 天免费试用。无论会员状态如何,你的密钥和资产始终属于你。