解析 MPC 和智能合约两种钱包方案:我们为何选择后者?
本文探讨了自主托管中MPC钱包的挑战以及团队转向安全智能合约的决策,强调智能合约的优势与其为用户带来的安全性和附加功能。
![MarsBit](/wp-content/themes/zhtcw/assets/images/logo-icon.png)
原文标题: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 和智能合约两种钱包方案:我们为何选择后者?】的延伸阅读
ZKPs、FHE、MPC:区块链中的私有状态管理
比特币和以太坊消除了金融交易中的中介机构,但牺牲了隐私。随着零知识证明技术的发展,链上隐私成为Web 3的核心主题。Aztec和Aleo是两个具有潜力的网络。ZKP适用于私有状态的更改,保护用户隐私,可用于匿名社交媒体和企业发票/付款等用例。FHE方法可解决共享私有状态的问题,适用于无抵押DeFi贷款和链上KYC等用例。MPC方法可保护私钥和私有数据的隐私,适用于去中心化人工智能训练和推理。这些技术可以结合使用,如Renegade Finance和zkHoldem等应用。Alliance致力于支持以隐私为中心的网络发展,欢迎创始人加入。
长推:深入对比 ZK、FHE 和 MPC 技术
MohamedFFouda探讨了ZKP、FHE和MPC技术,以解决链上隐私问题。ZKP用于处理个人隐私,FHE用于处理共享隐私,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亿美元的资产。
免责声明:本文仅代表作者个人观点,不代表链观CHAINLOOK立场,不承担法律责任。文章及观点也不构成投资意见。请用户理性看待市场风险,以及遵守所在国家和地区的相关法律法规。
图文来源:MarsBit,如有侵权请联系删除。转载或引用请注明文章出处!