解析MPC多方计算钱包:私钥分片与备份的新安全前沿

发布于:2024-04-28 ⋅ 阅读:(23) ⋅ 点赞:(0)

文章目录

  • 前言
  • 什么是MPC钱包

    • 1.1 定义和基本原理
  • 当前用户的困境

  • MPC钱包简介

    • 3.1 工作原理
    • 3.2 解决问题的关键点
  • MPC钱包优势与劣势

    • 4.1 优势
    • 4.2 缺点
  • MPC主流算法实现

    • 5.1 概述不同算法
  • 市场竞品

    • 6.1 竞品列表
  • 个人观点

    • 7.1 安全性评价
    • 7.2 中心化问题
    • 7.3 技术黑盒挑战
    • 7.4 移植性局限
    • 7.5 期望和展望
  • 总结

前言

随着数字资产不断演进,私钥安全和交易授权问题备受关注。传统加密钱包存在单点故障风险,为此出现了多方计算(MPC)钱包。本文深入讨论MPC钱包的核心机制、优势、面临的挑战及未来趋势


什么是MPC钱包

MPC 钱包是一种利用多方计算方法的加密钱包,需要多个参与者一起才能授权交易,完成交易动作。(MPC,即多方计算,全称为 Multi-Party Computation.)

具体的工作原理是:

将一个私钥打碎成多片,分给去中心化的持有者/平台进行计算和加密,当需要交易私钥签名时,则将碎片再拼接起来形成一个完整的私钥以完成签名这个结果,但过程中不会产生完整的私钥,既碎片私钥持有者无法掌握完整的私钥,因为每个碎片私钥持有者都不知道他人所持有的部分

PC的核心思路 :分散控制权以达到分散风险或者提高备灾的目的,有效的避免了单点失败等安全问题.

当前用户的困境

虽然业界已经做出了巨大的集体努力来告知用户保持助记词和密钥安全的重要性,但这个单点故障仍然是广泛采用的一个重要障碍。如果私钥丢失,除了失去所有资产外,用户还必须手动跟踪多个地址、代币批准,并因必须为新地址提供资金而损害隐私。

今天,不可撤销的字符串不仅可以让一个人的毕生积蓄全部被“访问”,而且越来越多地趋势是将用户在线身份的链上历史联系起来。获取私钥访问权的动机就是这么大,以至于黑客们,每个人都投入无限的资源,进行越来越有创意的攻击。现在,仅仅依靠用户已经不够了——我们需要完全消除这个单点故障。

多方计算(MPC)钱包和智能合约钱包帮助我们实现这一目标,并且已经有一个由机构、个人和 DAO 等采用的关于这两类产品和服务的生态系统。虽然这两种类型的钱包都消除了单点故障,但它们有一些基本的技术差异,导致了不同的折衷方案

mpc解决的问题

传统的加密钱包(例如 MetaMask)有一个私钥和一个用于恢复丢失的私钥的助记词。然而,单密钥钱包存在很多问题,一不小心就造成的单点故障。如果用户的私钥丢失或泄露,存储在钱包中的资金可能会被盗或永远无法访问。

MPC 钱包可以通过把私钥分配给不同的人,要签署交易,所有各方都需要将他们的部分私钥拿出来进行多方计算,这是为钱包创建有效数字签名的唯一方式,而且不用透露自己的私钥信息。

因此,只是破坏单个密钥分片的攻击者无法转移资金。只有当所有各方同时受到损害时,攻击者才有可能破解 MPC 钱包。 这样使用 MPC 就能大大降低私钥被盗的风险

同时MPC钱包用独立创建的数学“秘密共享”取代了传统的私钥。MPC钱包一方面实现了私钥分片多方存储,提高了安全;另一方面,使得用户无需管理复杂的私钥或者助记词,让用户使用Web3产品就像可以用web2账户或邮箱关联登陆一样方便,这样一来,大大降低了用户进入Web3的门槛。

多签钱包的区别

MPC钱包使用多方计算技术,将私钥碎片分散存储在多个服务器上,使用这些碎片生成完整的私钥,从而提高了数字货币的安全性,

特征 MPC 钱包 传统 Web3 钱包
私钥管理 使用多方计算(MPC)技术,私钥由多个参与者共同生成,增强安全性。 私钥通常由用户自己生成和管理。
安全性 提供更高级别的安全性,因为私钥不是单一实体所有,防范了单点故障。 安全性依赖于用户的私钥管理和存储实践。
单点故障 避免单点故障,即使一个节点受到攻击或泄露,整体系统仍然安全。 存在单点故障风险,如果私钥泄露或被攻击,资产可能受到威胁。
参与者数量 需要多个参与者进行计算,通常需要阈值签名,提高安全性。 单用户生成和管理私钥,通常由一个实体控制。
使用门槛 可能需要更多的技术知识,因为涉及到 MPC 技术的使用和配置。 相对较简单,用户生成私钥后,就可以使用传统方式管理。
适用场景 更适合需要高度安全性的场景,如大额资产存储、金融交易等。 适用于一般的区块链应用,对安全性要求较低的场景。
用户控制度 用户可能对私钥的生成和管理有限制,需要信任 MPC 提供的系统。 用户完全掌控私钥生成和管理,但需要自己保证安全性。
网络效率 可能会引入额外的计算和通信开销,对网络效率有一定影响。 相对较快,因为仅涉及用户和区块链节点之间的通信。

MPC主流算法类型

算法 交易轮数 全面组合型 冷存储兼容 同行评审 开源 功能 优点 缺点
Gennaro and Goldfeder (GG18) 9 高度安全性、同行评审通过、开源 提供高度的安全性,可信度高,透明可审计性好 交易轮数相对较多,不支持全面组合型
Lindell et al. 8 同行评审通过 在某些方面可能提供较好的性能 交易轮数相对较多,不开源
Doerner et al. 6 同行评审通过 具备同行评审,性能一般 交易轮数相对较多,不开源
MPC-CMP 1 低交易轮数、全面组合型、冷存储兼容 低交易轮数、全面组合型、冷存储兼容 不是全开源的
Shamir's Secret Sharing 取决于具体的协议和应用场景 取决于具体的实现 全面组合型、冷存储兼容 具备全面组合型、冷存储兼容,是经典的、公开的算法 通信开销可能较大,对动态性的支持有限

Shamir 门限算法(缺点:互动性的协议通常是多轮的,每一轮中各个参与者都会向其他参与者发送消息,然后根据接收到的消息做出相应的操作)

MPC钱包的优势

优点

  • 无单点故障。一个完整的私钥在任何时候都不会集中在一台设备上。也没有助记词。
  • 可调整的签名方案。批准固定人数可以随着个人和组织需求的变化而修改,同时保持相同的地址。组织可以动态调整签名方案,而不必每次都通知交易对手一个新地址。
  • 粒度访问控制。机构用户可以为一个策略分配无限数量的交易审批者,并分配能够准确反映组织角色和安全措施(时间锁、MFA、欺诈监控)的权限。个人可以通过MPC钱包即服务(wallet-as-a-service)选择半托管路线,第三方持有其中一个关键共享部分。
  • 更低的交易和回收成本。MPC钱包在区块链上表示为单个地址,其gas费用与常规私钥地址相同。这对于每天进行数百个交易的用户(例如在B2C用例中)来说非常重要。丢失的密钥共享部分也可以进行链下回收。
  • 区块链不可知论者。密钥生成和签名依赖于链下的纯密码学。将兼容性扩展到新的区块链很简单,因为钱包只需要能够使用该链识别的算法生成签名。

缺点

  • 链下问责制。签署授权政策和批准固定人数是在链下管理的,因此这些自定义规则仍然容易出现中心化问题。密钥共享仍然是加密秘密,应该像处理整个私钥一样处理。链下规则和签名阻碍了透明度,需要更严格的运营审计。
  • 与许多用户采用的大多数传统钱包不兼容(没有助记词,没有完整的私钥存储在单个设备上)。MPC算法也没有标准化,也没有得到机构级安全设备(如iPhone SEP和HSM)的原生支持。
  • 大多是孤立的定制产品。许多MPC库和解决方案都不是开源的,因此,如果出现问题,生态系统很难独立审计和集成它们。

钱包中需要考虑的属性

  • 安全。从简单攻击到复杂攻击的保护程度。“良好的密钥管理”需要选择一系列解决方案,其加入和运营成本与链上活动的性质和风险金额相匹配。
  • 成本。创建帐户、管理访问和执行交易的成本有多高。
  • 用户体验和灵活性。访问控制管理、开销策略、限制和权限的粒度。
  • 可恢复性。在受到威胁或造成损失的情况下,有能力恢复资产和访问权。
  • 可扩展性。可以为核心产品带来新功能,以及能够建造出综合的产品和服务生态系统。
  • 隐私。地址可以轻松链接到个人

目前市面上的竟品

  • fireblocks
  • safeheron
  • zengo
  • bitzen
  • qredo
  • coinbase wallet
  • openblock

个人看法:

原因(个人感觉目前的 MPC 钱包安全性还不如传统的 Web3 钱包):

  1. 业务中心化
    • 中心化依赖过重。
    • 将私钥打碎分给其他人,与多签方案相比差异不大。
  2. 技术黑盒
    • 将私钥打碎分给其他人的操作是否安全难以验证,因为私钥生存过程是黑盒,而且只有这些操作者参与。
    • 许多 MPC 钱包的解决方案不开源,存在安全隐患,缺乏机构审计。
  3. 移植性差
    • 仅能使用指定的 DApp,无法灵活移植到其他环境使用。
    • 对方服务器故障可能导致资产丢失,或者在三签中的某一个服务商故障或丢失主要碎片也会造成资产丢失。

总结:

如果 MPC 的私钥分片技术能够开源并保持透明,MPC 钱包将更具可信度,使用户更加相信其安全性。这将有助于提高 MPC 钱包的广泛应用


以上是个人的观点, 有不同的看法或者想了解更多可以DM微信: luo425116243


网站公告

今日签到

点亮在社区的每一天
去签到