
MPC 钱包解释:阈值签名如何取代单钥保管
MPC 钱包的解释:它们将“拥有私钥”转变为一个审批系统,其中多个独立的密钥份额共同创建有效签名。区块链仍然接收标准的单签名支出,但链下签名工作流程可能需要多个人、设备或系统参与。
关键要点
- MPC 钱包使用 MPC 阈值签名,因此多个密钥份额可以共同授权交易,而无需任何设备持有完整的“私钥”。分布式密钥生成(DKG)是关键的设置步骤:如果任何一方曾经生成或看到完整的密钥,单点故障问题就会回归。与“多重签名”相比,MPC 可以在链上作为正常的单签名交易结算,保持审批规则的私密性,避免多重签名的链上开销。
- 恢复不是自动的。丢失设备或丢失份额是否可恢复取决于在资金进入钱包之前设计的冗余和政策。
- MPC 钱包与密钥钱包的区别标准钱包将权力集中在一个秘密上:生成数字签名(通常是 ECDSA)以授权支出的私钥。这个设计在遇到操作时是干净的。一个被攻破的笔记本电脑,一个泄露的“种子短语”,一个内部人员的导出,账户就会消失。这个单点故障就是为什么“加密钱包类型解释”最终更多地关注签名权威的位置而不是用户界面。多方计算钱包将保管的敏感部分从“保护一个密钥”转变为“协调多个审批”。签名权威不再是一个私钥坐落在一个设备上,而是以多个加密份额的形式表示。每个份额由不同的方或环境持有,只有当达到这些方的阈值时,交易才会被签名。
- 这就是心理模型需要精确的地方。MPC 不是魔法,不会消除签名的需求。硬币仍然会移动,因为为链的规则生成了有效的签名。MPC 改变了签名的生成方式以及谁必须参与。
操作后果才是真正的重点。MPC 钱包可以将“谁可以批准”与“链上看到的内容”分开。在链下,钱包可以要求两个人和一个服务合作。在链上,它看起来像一个正常的单签名“钱包地址”,正常支出。这个差异就是为什么 MPC 出现在机构保管设计中,也出现在像 Zengo 钱包这样的消费产品中,后者将这个理念宣传为无钥匙,同时仍然依赖于结算时的标准签名验证。
MPC 阈值签名背后的机制用户按下“发送”和网络接受交易之间发生三件事,其中只有一件在链上可见。1. 分布式密钥生成创建份额。DKG 是现实阈值保管和“密钥分片”营销之间的分界线。在适当的 DKG 流程中,没有任何一方生成或看到完整的私钥。每个参与者最终得到一个与其他人数学相关的份额,但单独不足以使用。2. 向份额持有者呈现交易请求。钱包的控制平面决定哪些方需要参与这个特定操作,基于 m-of-n 阈值和其上方的任何政策。3. 阈值签名生成部分签名并将其组合。每个参与者在本地使用其份额计算部分签名。这些部分随后组合成一个最终签名,区块链接受,而在任何时候都没有重构完整的私钥。
最后一个细节是核心属性:完整的密钥从未在任何设备上重新组合。系统将签名计算为对秘密输入的分布式函数,这正是当各方不想彼此透露秘密或依赖受信任的第三方时,MPC 设计的目的。
输出故意是无聊的。链上看到的是标准签名,而不是特殊的“MPC 交易”。这对于希望拥有机构控制而不公开其安全姿态的团队来说是优势。这也意味着链无法拯救操作员免受糟糕的内部流程。如果达到阈值且签名有效,则会发生结算。
MPC 钱包与多重签名和硬件多重签名和 MPC 都旨在解决同一个商业问题,即减少单方面控制。它们在不同的层面上解决这个问题。多重签名使用多个独立的私钥,通常使审批结构在链上可见。链强制执行“2-of-3”,因为支出脚本或“智能合约”需要多个签名。这样的可见性可以作为透明度的特征,但这也意味着链上的开销。更多的签名通常意味着更大的交易和更高的费用,尤其是在这些因素重要的链上。
MPC 阈值签名将审批结构保持在链下。链验证一个最终签名,因此交易看起来像正常的单签名支出。此数据包中的来源将其框架视为相对于多重签名的成本和兼容性优势,特别是在多链操作中,多重签名的支持各不相同。
硬件钱包
属于不同的类别。硬件钱包通常是将一个完整的私钥隔离在一个物理设备内。这对于个人来说可能是极好的,但它仍然是一个单一的签名权威。如果设备丢失且恢复材料处理不当,失败模式是残酷的。
MPC 可以作为“非托管钱包”或作为共同管理的保管设置进行部署。无论哪种方式,交易并不是“默认更安全”。交易是将单密钥风险交换为设计的审批加可用性系统。如果份额在设备、网络和位置之间真正独立,相关故障就会减少。如果份额最终位于同一爆炸半径内,MPC 就变成了一种更复杂的方式来重现同样的旧问题。
治理、政策和机构用例
机构关注 MPC 的原因不是数学,而是数学所能实现的控制平面。阈值方案为职责分离、可审计性和政策驱动的审批提供了加密基础,同时仍然作为标准签名在链上结算。
典型的治理设计从 m-of-n 阈值开始,然后在其上层叠加规则。来源描述了政策概念,例如要求更多的审批者进行更大转账、基于时间的控制和目的地白名单。这些不是区块链特性,而是在允许部分签名形成最终签名之前强制执行的工作流程特性。
这就是为什么 MPC 出现在交易所、保管提供商和财务操作中的原因。热钱包风格的操作希望程序化速度,但它们无法容忍“一个服务器的妥协等于完全损失”。MPC 使团队能够在不同的安全域之间分配份额,并在适当的法定人数到位时快速签名。这也解释了为什么 MPC 在“智能合约钱包”设计中被讨论。智能合约钱包可以在链上强制执行规则,这在透明度和“可组合性”重要时非常好。MPC 在生成正常签名的同时在链下强制执行规则,这在内部控制的隐私和广泛链兼容性重要时非常有吸引力。治理的要点很简单:MPC 将签名转变为一个受管控的过程。链不知道审批是来自两个高管、一个手机加一个服务器,还是来自不同地区的三台机器。这个分离就是特征,同时也是责任。
恢复设计和操作注意事项
最昂贵的误解是将恢复视为加密保证,而不是产品决策。MPC 只能容忍缺失的参与者,如果阈值设计能够容忍它们。如果钱包配置为 3-of-3 且丢失一个份额,系统可能会崩溃。一些 MPC 设计支持恢复路径,如冗余或托管的备份份额和基于政策的恢复流程,包括基于时间延迟或法定人数的恢复。关键点是时机。这些机制必须在事件发生之前存在。如果份额在没有预配置冗余的情况下丢失,恢复可能是不可能的,因为 DKG 被设计为防止任何人在事后重构完整密钥。这也是“密钥分片”这个流行词可能会误导的地方。在生成密钥后进行分割与分布式密钥生成(DKG)并不是同一回事。如果任何一方在设置过程中曾拥有完整的密钥,那么该方在最糟糕的时刻就成为了单点故障。还有一个实际的实现差异问题。一种来源声称可以通过协议重新生成或轮换份额,而另一种则强调缺失的份额不能在没有事先设计的情况下简单重建。根据系统的不同,这两者都可能是正确的,但都不是“始终可恢复”的普遍承诺。
在操作上,清晰的思路是将阈值设计得像桌子设计限制一样。从失败假设开始,然后进行测试。签名演练应模拟一个签名者离线和一个签名者被妥协,并确认政策仍然阻止不良发送,同时允许合法发送。链不会警告任何人钱包是MPC的。它只会接受或拒绝签名。关于MPC钱包的常见误解“MPC意味着没有私钥”是第一个陷阱。网络仍然需要有效的签名来授权支出,而该签名是在与任何其他钱包相同的加密规则下生成的。MPC改变了签名权威的表示和使用方式,而不是对签名的需求。
“MPC只是更好的多重签名”是第二个陷阱。多重签名是一种具有多个独立密钥和可见批准结构的链上执行模型。MPC-TSS是一种链下签名模型,其中一个签名权威的份额生成一个最终签名。工作流程、隐私和故障模式有所不同,因此“更好”取决于操作员的优化目标。
“MPC钱包是自动可恢复的”是第三个陷阱。恢复取决于钱包的前期设计,包括冗余、备份份额和基于政策的恢复流程。如果没有这种设计工作,丢失份额可能是无法恢复的。
最后一个误解是微妙的:“MPC消除了信任。” MPC减少了对任何单一方持有完整密钥的信任需求,但并没有消除对系统和流程的信任需求。如果两个份额位于同一个云账户中,或者同一个人控制多个批准者,那么阈值就是表面现象。
总结
我看到团队相信“没有单一私钥”的故事,然后对MPC的真实含义感到惊讶:它是一个链下风险引擎。链并不关心签名是如何产生的。它只看到一个有效的签名并进行结算。这就是重点,也是为什么治理和可用性设计比营销更重要的原因。反复出现的故障模式是相关控制。两个份额最终在同一个管理员的设备上,或在同一个云爆炸半径内,m-of-n阈值变得毫无意义。清晰的姿态是将MPC视为限制框架:决定哪些故障和妥协必须是可生存的,设置匹配的阈值,并在重要资金到达地址之前进行签名演练。这就是MPC钱包在钱包类型中赢得其地位的地方。来源BlockdaemonCobo
ChainUp
mmasmoudi.medium.com
Frequently Asked Questions
MPC 钱包如何签署交易?
参与者的阈值使用他们的密钥份额计算部分签名,这些部分签名在数学上组合成一个最终签名。在签署过程中,完整的私钥从未被重构或暴露。区块链接收到一个标准的签名,可以正常验证。
MPC 钱包中的分布式密钥生成是什么?
分布式密钥生成(DKG)是创建参与者之间相关密钥份额的设置过程,因此没有单一方会生成或看到完整的私钥。每个参与者最终只持有一个份额。这防止了在钱包创建过程中出现单点故障。
MPC 钱包比多重签名钱包更好吗?
它们在不同层面上解决类似的批准问题。多重签名在链上强制执行多个签名,并使结构可见,而 MPC 可以生成一个链上的单一签名并将批准规则保持在链外。哪个更可取取决于链上透明度还是链外政策控制的优先级。
MPC 钱包可以是非托管的吗?
可以。MPC 设计可以部署,使用户或组织控制所需的密钥份额,从而使其成为非托管钱包。其他部署是共同管理的,提供者持有一个份额,客户持有其他份额。
如果我丢失设备,MPC 钱包会自动恢复吗?
不会。恢复取决于在丢失之前如何设计冗余和恢复政策,例如备份或托管份额以及基于政策的恢复流程。如果份额在没有预配置冗余的情况下丢失,钱包可能无法恢复。