Cointime

扫码下载App
iOS & Android

解析 MPC 和智能合约两种钱包方案

媒体

MPC 表面上灵活高效,然而,随着我们深入研究,发现 MPC 固有的一些安全漏洞和攻击途径,我们无法否认这些问题的存在。

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

撰文:Sukhans Asrani

编译: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 亿美元的资产。

评论

所有评论

推荐阅读

  • 美SEC:流动性质押活动不被视为证券

    据市场消息,美国证券交易委员会(SEC)发布关于流动性质押活动的声明,称流动性押活动不被视为证券。

  • Coinbase将上线Succinct(PROVE)

    Coinbase交易所宣布将支持以太坊网络上的Succinct(PROVE)代币。该代币将以"实验性"标签推出,PROVE-USD交易对将在满足流动性条件后分阶段开放交易。

  • 京东币链:正在进行香港稳定币牌照申请的准备工作

    市场传闻称,京东等或退出香港稳定币业务。对此,京东币链表示,已关注到市场上的不实报道和谣言,京东币链特此回应,正在进行香港稳定币牌照申请的准备工作。(每经)

  • 美CFTC考虑允许期货交易所开展现货加密货币交易

    美国商品期货交易委员会(CFTC)表示,正在考虑允许在已注册的期货交易所开展现货加密货币交易,并寻求利益相关方的意见,以落实总统特朗普提出的加密货币发展目标。CFTC 代理主席 Caroline Pham 于周一发表声明称,该机构希望利益相关方协助其就如何在 CFTC 注册的期货交易所(也称为指定合约市场,DCM)上挂牌现货加密资产提供监管明确性。

  • 企业加密资产储备突破千亿美元大关

    随着企业大军涌入加密货币市场,银河研究最新报告显示:当前数字资产储备公司的比特币持仓达930亿美元,占流通总量近4%;以太坊持仓41亿美元,占比1%;资产负债表新增SOL、XRP、BNB等10种新兴加密货币;其中Strategy公司以718亿美元比特币持仓(含280亿美元浮盈)稳居榜首。

  • 巴西将举行听证会探讨建立战略性比特币储备

    巴西计划于2025年8月20日召开公开听证会,讨论建立战略性比特币储备事宜。

  • ETH跌破3600美元

    行情显示,ETH跌破3600美元,现报3597.36美元,24小时跌幅达到1.43%,行情波动较大,请做好风险控制。

  • BNB跌破750美元

    行情显示,BNB跌破750美元,现报749.9美元,24小时跌幅达到1.94%,行情波动较大,请做好风险控制。

  • CEA Industries 完成 5 亿美元私募并将更名为 BNB Network Company,YZi Labs 领投

    CEA Industries(纳斯达克:VAPE)今日宣布完成 5 亿美元私募融资,并将更名为"BNB Network Company",股票代码将于 8 月 6 日变更为"BNC"。该公司计划将所得资金用于购买 BNB,作为其主要储备资产。 此次私募由 YZi Labs 领投,吸引了包括 Pantera Capital、Blockchain.com 等超过 140 家机构参与。同时,公司任命前 Galaxy Digital 联合创始人 David Namdar 为首席执行官,前加州公务员退休基金(CalPERS)首席信息官 Russell Read 担任首席信息官。

  • 以太坊核心开发者最新会议摘要:Pectra升级、重新建立PeerDAS

    8月15日,以太坊所有核心开发人员参加了第194次All Core Developers Execution(ACDE)电话会议。