解析 MPC 和智能合约两种钱包方案:我们为何选择后者?

MarsBit
媒体专栏
热度: 18416

本文探讨了自主托管中MPC钱包的挑战以及团队转向安全智能合约的决策,强调智能合约的优势与其为用户带来的安全性和附加功能。

原文标题:The Risks of MPC and the Shift to Smart ContractWallets

原文作者:Sukhans Asrani

原文来源:mirror

编译:MarsBit,MK

自主托管目前令人不满意。像Ledger、Metamask和其他外部拥有账户(EOA)等默认解决方案让加密原生用户面临真正的问题。

作为用户,您必须:

1. 找出如何保护您的助记词。如果攻击者获得您的24个单词助记词,他们可以窃取您的所有资产。

2. 在交易时避免出错。签署恶意交易或将资产发送到错误的地址太常见了。

3. 建立自定义的恢复和继承计划,以防您或您的亲属无法访问您的助记词。

多方计算(MPC)和智能合约钱包是可以解决这些问题的两种解决方案。它们允许钱包提供者在EOA之上构建诸如社交恢复、交易限制、双重身份验证等功能。在Waymont,我们最初采用了MPC。表面上,它似乎灵活高效。然而,随着我们深入研究,我们发现MPC固有的一些安全漏洞和攻击途径,我们无法否认这些问题的存在。

因此,我们最终决定将基础设施转移到Safe的智能合约上,目前Safe的智能合约已经安全保管了超过1000亿美元的资产。本文将详细介绍:1)MPC钱包的工作原理;2)我们发现的MPC问题;3)我们转向智能合约的原因。

1)MPC钱包的工作原理

在高层次上,MPC钱包生成一个私钥,该私钥被预先分为多个密钥份额并分发给不同的参与方。这些密钥份额可以独立签署交易,每个密钥份额的离线签名可以组合成一个有效的以太坊签名。

MPC模型通常是相似的,但其持有密钥份额的参与方可能不同。

中心化MPC:所有密钥份额由单个实体(例如Coinbase)控制,但在隔离且安全的云环境中处理。这种方法通常由机构托管提供者用于操作效率,但它可能使资产容易受到内部人员的攻击和单点故障的影响。这也可能需要提供者注册为法定托管人。

混合MPC:密钥份额在用户、钱包提供者和第三方之间进行分配。像Fireblocks和ZenGo这样的提供者使用这种方法,这样您就不必信任一个集中化的提供者持有所有密钥份额。虽然这提供了更多的安全性,但仍需要一个集中化的参与方来安全地分发、管理和撤销密钥份额。

2)MPC钱包的挑战

无论您使用哪种模型,基于MPC的托管设置都有三个主要问题。

问题1:您必须信任一个集中化的参与方来安全地协调签名和密钥生成。

任何混合或中心化MPC设置都必然需要一个值得信赖的集中化参与方来安全地保护一个或多个密钥份额(以及潜在的备份密钥份额)。

保护这些密钥份额需要复杂且可信的云基础设施。分布式密钥生成、密钥轮换和密钥撤销所涉及的复杂性会使您面临因内部威胁和中间人攻击而导致密钥份额暴露的风险。足够数量的密钥份额曝露将使攻击者完全控制您的资产。

问题2:您必须相信旧的密钥份额在密钥撤销时被正确丢弃。

如果您希望撤销MPC签名者的访问权限,您需要能够撤销密钥,并且需要信任所有参与方能够丢弃旧的密钥份额。鉴于密码学的确定性特性,撤销密钥份额可能是具有挑战性的。如果钱包提供者的密钥份额基础设施受到病毒攻击,病毒可以保持休眠状态,在每次密钥撤销时收集旧的密钥份额,直到攻击者拥有足够的密钥份额来转移所有资产。

问题3:您必须相信您的MPC算法没有漏洞

MPC算法涉及复杂的密码学,算法会定期更新以提高性能和功能。在行业标准算法中已经发现了漏洞,而MPC的实现错误可能导致攻击者利用漏洞完全丧失资金。

例如,在加密货币领域最近发现了两个漏洞:

1. GG18和GG20的私钥信息泄漏(Fireblocks在2019-2021年间使用的MPC算法)

2. BitGo的MPC实现中最近发现的漏洞,该漏洞将使黑客只需单个签名即可完全访问您的资金。

3)智能合约 > 基于MPC的钱包

转向智能合约解决方案(Safe)让我们能够消除我们担心的每一个问题:

问题1:您必须信任一个集中化的参与方来安全地协调签名和密钥生成。

Safe的解决方案:透明+可验证的签名和密钥生成。您的Waymont保险库是一个2对2的Safe多签钱包。您可以在链上验证,签署者1是您注册的移动设备,签署者2是您的Waymont策略保护人。Waymont从不持有任何密钥份额,这样即使暴露,也无法发起交易并危及您的资产。

问题2:您必须相信旧的密钥份额在密钥撤销时被正确丢弃。

Safe的解决方案:您可以在链上自由地进行密钥轮换、删除和添加签署者。无需丢弃密钥份额,也没有恶意方累积旧的密钥份额的风险。

问题3:您必须相信您的MPC算法没有漏洞。

Safe的解决方案:Safe的智能合约保护了超过1000亿美元的资产。自2018年以来,Safe的智能合约通过了业界最高的安全标准,包括形式验证,并在11+次安全审计中表现出色。

然而,使用Safe并非没有牺牲。通过优化安全性,我们接受了增加的燃料成本,并暂时锁定在EVM链上。我们认为这是一个不言而喻的抉择。我们的绝对优先事项是安全。智能合约还能为我们的用户提供其他好处:

1. 链上时间锁 - 用于恢复和延迟操作的时间锁,用户可以取消

2. 批量交易 - 用户可以将多个交易批处理在一起以节省燃料费用

3. 赞助交易 - 其他方可以为用户赞助交易(还可以用任何ERC20代币支付燃料费)

4. 可编程安全性 - 链上密钥轮换和可编程密钥管理(例如,对于超过10,000美元的交易,需要额外或不同的签名密钥)

MPC在未来的自主托管中可能仍然发挥作用。对于希望与托管人合作的机构可能是一个合理的选择。或者如Safe的创始人Lukas Schor所指出的,MPC可以用作提高智能合约钱包签名密钥安全性的解决方案。

总的来说,通过正确的实现,MPC设置可以是安全的。但正如上面所述,MPC需要固有的信任假设,并引入了Waymont和我们大部分加密原生用户宁愿避免的风险向量。因此,Waymont目前通过Safe智能合约自信地保护着超过1000亿美元的资产。

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。