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

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

随着数字资产不断演进,私钥安全和交易授权问题备受关注。传统加密钱包存在单点故障风险,为此出现了多方计算(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-CMP1低交易轮数、全面组合型、冷存储兼容低交易轮数、全面组合型、冷存储兼容不是全开源的
Shamir’s Secret Sharing取决于具体的协议和应用场景取决于具体的实现全面组合型、冷存储兼容具备全面组合型、冷存储兼容,是经典的、公开的算法通信开销可能较大,对动态性的支持有限

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

MPC钱包的优势

优点

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

缺点

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

钱包中需要考虑的属性

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

本人从事网路安全工作12年,曾在2个大厂工作过,安全服务、售后服务、售前、攻防比赛、安全讲师、销售经理等职位都做过,对这个行业了解比较全面。

最近遍览了各种网络安全类的文章,内容参差不齐,其中不伐有大佬倾力教学,也有各种不良机构浑水摸鱼,在收到几条私信,发现大家对一套完整的系统的网络安全从学习路线到学习资料,甚至是工具有着不小的需求。

最后,我将这部分内容融会贯通成了一套282G的网络安全资料包,所有类目条理清晰,知识点层层递进,需要的小伙伴可以点击下方小卡片领取哦!下面就开始进入正题,如何从一个萌新一步一步进入网络安全行业。

学习路线图

其中最为瞩目也是最为基础的就是网络安全学习路线图,这里我给大家分享一份打磨了3个月,已经更新到4.0版本的网络安全学习路线图。

相比起繁琐的文字,还是生动的视频教程更加适合零基础的同学们学习,这里也是整理了一份与上述学习路线一一对应的网络安全视频教程。

网络安全工具箱

当然,当你入门之后,仅仅是视频教程已经不能满足你的需求了,你肯定需要学习各种工具的使用以及大量的实战项目,这里也分享一份我自己整理的网络安全入门工具以及使用教程和实战。

项目实战

最后就是项目实战,这里带来的是SRC资料&HW资料,毕竟实战是检验真理的唯一标准嘛~

面试题

归根结底,我们的最终目的都是为了就业,所以这份结合了多位朋友的亲身经验打磨的面试题合集你绝对不能错过!

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 OpenSSL 中,你可以使用以下命令来解析不同格式的: 1. 解析 PEM 格式的: ```bash openssl rsa -in private_key.pem -text ``` 将 `private_key.pem` 替换为你实际的 PEM 格式文件路径。 2. 解析 DER 格式的: ```bash openssl rsa -inform DER -in private_key.der -text ``` 将 `private_key.der` 替换为你实际的 DER 格式文件路径。 3. 解析 PKCS#8 格式的: ```bash openssl pkcs8 -in private_key.pk8 -inform DER -nocrypt -topk8 -outform PEM -out private_key.pem openssl rsa -in private_key.pem -text ``` 将 `private_key.pk8` 替换为你实际的 PKCS#8 格式文件路径。 在上述命令中,`openssl rsa` 是用于解析 RSA 的命令,该命令可以解析 PEM 格式和 DER 格式的。`-inform` 参数用于指定输入文件的格式,`-in` 参数用于指定输入文件的路径,`-text` 参数用于以文本形式显示细信息。 对于 PKCS#8 格式的,你需要先将其转换为 PEM 格式,然后再使用 `openssl rsa` 命令解析。第二个命令将 PKCS#8 格式的转换为 PEM 格式的,并且 `-nocrypt` 参数表示没有加密,`-topk8` 参数表示将转换为 PKCS#8 格式,`-outform` 参数用于指定输出文件的格式,`-out` 参数用于指定输出文件的路径。 请注意,上述命令中的示例是针对 RSA 的。如果你有其他类型的文件(如 DSA 或 ECDSA),请使用相应的命令替换 `openssl rsa`。 希望这些命令可以帮助你解析。如果你有其他问题,请提供更多细信息,我将尽力帮助你。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值