当前用户的困境
虽然业界已经做出了巨大的集体努力来告知用户保持助记词和密钥安全的重要性,但这个单点故障仍然是广泛采用的一个重要障碍。如果私钥丢失,除了失去所有资产外,用户还必须手动跟踪多个地址、代币批准,并因必须为新地址提供资金而损害隐私。
今天,不可撤销的字符串不仅可以让一个人的毕生积蓄全部被“访问”,而且越来越多地趋势是将用户在线身份的链上历史联系起来。获取私钥访问权的动机就是这么大,以至于黑客们,每个人都投入无限的资源,进行越来越有创意的攻击。现在,仅仅依靠用户已经不够了——我们需要完全消除这个单点故障。
多方计算(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
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数网络安全工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年网络安全全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上网络安全知识点,真正体系化!
由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新
如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注网络安全获取)
给大家的福利
零基础入门
对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。
同时每个成长路线对应的板块都有配套的视频提供:
因篇幅有限,仅展示部分资料
网络安全面试题
绿盟护网行动
还有大家最喜欢的黑客技术
网络安全源码合集+工具包
所有资料共282G,朋友们如果有需要全套《网络安全入门+黑客进阶学习资源包》,可以扫描下方二维码领取(如遇扫码问题,可以在评论区留言领取哦)~
一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算
5ecb71ac0)
AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算