文章学习:MPC 是下一代私钥安全的7大原因

前言

多重签名钱包与单一密钥钱包相比,因其提升了资产安全性,如今已成为机构管理加密货币的标准做法。然而,最近在多方计算(MPC)领域的密码学突破正引领私钥安全的新一代发展。

麻省理工学院数字货币倡议部门的区块链研究高级顾问迈克尔·J·卡西(Michael J. Casey)将MPC誉为“可用性和私钥安全的圣杯”。但就像大多数技术发展一样,初期常伴有误解和混淆。

本文将深入探讨MPC的关键优势,以及为何MPC和阈值签名已超越了多重签名技术,成为私钥安全的下一代解决方案。

好多圣杯了。

无单点故障的MPC

与多重签名相似,基于MPC的解决方案确保私钥永远不会在单一地点创建或存储。通过保护密钥免受网络犯罪、内部欺诈和串谋威胁,MPC技术确保私钥安全,防止员工或员工组窃取数字资产。

私钥不在一个地点存储和创建。

MPC解决方案与协议无关

并非所有加密货币协议都支持多重签名,且不同协议的多重签名实现方式差异较大,这使得多重签名提供商难以支持新的区块链。并非所有钱包都支持从多重签名智能合约转移资金,这会在与某些交易所进行资金转移时产生问题和摩擦。

多方计算基于标准化的加密签名算法(如ECDSA或EdDSA),在大多数区块链上得到应用,从而使得在不同区块链之间实现MPC成为可能。因此,借助MPC,机构能够快速轻松地将新的加密货币纳入其平台。

MPC技术经过学术验证和实际实施

尽管MPC技术在加密货币钱包环境中的应用相对较新,但早在上世纪80年代初就是学术研究的焦点,并经过广泛的公开同行评审。鉴于此,所有采用MPC的供应商都与加密评估和渗透测试提供商(如NCC Group)紧密合作和投资以审查其实施。

由于MPC在实现区块链协议之间无关,攻击面较小,每次审查都能修复所有协议的实施问题。但对于基于链上的多重签名解决方案来说情况并非如此,因为每个协议都要求钱包提供商实现不同的代码。

一些众所周知的多重签名实现失败案例包括:

  • 多重签名Parity钱包:糟糕的实现导致恶意行为者窃取了价值约3000万美元的以太币,成为迄今为止最大的钱包黑客事件之一。
  • Parity钱包再次遭受黑客攻击:黑客再次访问了钱包并冻结了价值3亿美元的以太币,一些客户因此损失了高达30万美元的数字资产。
  • 比特币多重签名中的漏洞:Fireblocks研究团队发现了比特币多重签名检查实现中的漏洞,尽管这个代码库很受欢迎但漏洞仍然存在。

MPC技术提供更好的操作灵活性

随着组织的发展,必然需要调整访问和转移数字资产的流程。这包括决定签署交易所需的员工数量,随新员工加入逐步添加新的密钥份额,以及在员工离职时撤销密钥份额,并调整所需的阈值以进行交易签署。

然而在这种情况下,多重签名地址会给您的组织带来各种挑战,因为它们是预先设定的。一旦钱包创建完成,"M of N"结构便是固定的。例如,若要从"4中的3"设置更改为"5中的3",您需要执行以下步骤:

  1. 创建一个新的采用新方案的钱包
  2. 将所有资产转移到新的钱包
  3. 通知所有合作伙伴钱包地址已更改

然而,步骤3充满了挑战和风险,因为合作伙伴可能意外地向旧的存款地址发送资金,导致这些资金永远丧失

相比之下,MPC钱包赋予了对签名方案持续修改和维护的能力。例如,从"4中的3"设置更改为任何其他设置,只需现有股东同意新的分布计算并添加新用户份额。在这个过程中,区块链钱包地址(存款地址)保持不变,从而:

  1. 不需要创建新钱包
  2. 不需要转移任何资金
  3. 合作伙伴可以继续使用现有地址

这使得扩展业务操作或对团队操作方式进行任何调整的过程变得轻松,并最终消除了由于关键操作更改而意外丧失资金的风险。

允许最低的交易费用

与基于多重签名的钱包相比,例如比特币的P2SH多重签名或以太坊的智能合约多重签名,MPC钱包在区块链上仅呈现为单个钱包地址,实际的分布式签名计算发生在区块链之外。这导致交易费用大幅降低,特别是在每天发生数百笔交易的情况下,尤其是在B2C应用中这一点显得尤为重要。

基于MPC的解决方案提供了隐藏签名和链下问责制

虽然组织可能认为在链上透明地了解签名情况会带来好处,但实际上,这可能引发一系列隐私问题。更为重要的是这可能导致安全问题,因为这会立即向所有人展示签名方案和工作流程。机构可能不希望透露谁有签名权限、有多少用户参与签名、需要多少用户签名等敏感信息,因为这可能为组织创造物理攻击的风险。

相反,MPC的优势之一在于,它提供了链下问责制,使得每个共同签名的成员都可以审计参与签名的密钥,同时不向外部公开。例如,Fireblocks保留了每个签名周期中参与的密钥的审计日志,如果客户愿意,他们也可以在自己端保留审计日志。此外,由于涉及费用和可变性的限制,一些使用链上多重签名的企业钱包供应商只能在热钱包中使用2中的3签名方案,无论其客户的组织结构和政策如何。

通常,一个份额归钱包提供商所有,一个份额属于客户,另一个份额用作备份。由于客户的份额分散在所有用户之间,当进行交易签名时,很难准确知道哪些用户使用了特定份额,这使得对"问责制"的主张变得不可靠。基于MPC的解决方案消除了这些缺陷,能够提供可靠的记录实现真正的问责制。

MPC技术强化硬件隔离

硬件隔离模块(HSM【硬件安全模块】和安全飞地)在系统受损时保护密码材料非常重要。仅仅依靠HSM还不足以提供最佳的私钥安全解决方案,同样地,仅仅依靠MPC也只是解决方案的一部分。因此,需要强调的是,MPC与硬件隔离系统(如HSM)的结合使用非常关键,因为仅仅依靠HSM并不能完全保证安全(请参考HSM技术的评估)。

此外使用HSM的实施存在一个问题,即如果身份验证令牌或HSM客户端遭到破坏,攻击者可能会清空钱包。实际上,只需破坏客户端的凭证或交易生成代码,就可以实现这一点,而这些项目并不在HSM内部。为此,Fireblocks将其所有MPC密钥材料存储在硬件隔离的Intel SGX技术启用的服务器(Intel的安全飞地)和移动设备安全飞地(TEE)之间进行分配。MPC算法的执行和策略引擎都在安全飞地内部实现,防止恶意的外部和内部行为者修改执行或策略引擎

结论:为何MPC是私钥安全的下一代技术

多方计算(MPC)技术正在引领私钥安全的新发展,超越传统的多重签名。MPC通过消除单点故障,保障私钥安全,同时提供更大的操作灵活性和较低的交易费用。它还实现了隐藏签名和链下问责制,保护隐私和安全。MPC与硬件隔离相结合,进一步增强了私钥的安全性。这些优势使MPC成为机构管理加密货币的新标准,为未来的数字资产管理提供了坚实的基础。

文章学习 | MPC 是下一代私钥安全的7大原因的更多相关文章

  1. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  2. Effective STL 学习笔记 Item 30: 保证目标区间足够大

    Effective STL 学习笔记 Item 30: 保证目标区间足够大 */--> div.org-src-container { font-size: 85%; font-family: ...

  3. 文章学习:TPRE:分布式门限代理重加密

    学习文章:TPRE:分布式门限代理重加密 前言 成方金科新技术实验室与隐语团队合作,构建了"基于国密的分布式门限代理重加密算法TPRE",为用户提供了一种安全.高效.自主可控的数据 ...

  4. JVM文章学习

     JVM 文章 Java虚拟机学习 - 体系结构 内存模型http://blog.csdn.net/java2000_wl/article/details/8009362 Java虚拟机学习 - 对象 ...

  5. 入门文章学习(一)-Beginner Tutorial

    Abstract: 参照"背景知识查阅"一文的学习路径,对几篇文章的学习做了记录.这是"Beginner Tutorial"一文的学习笔记. 文章链接: htt ...

  6. python文章学习列表

    1.https://home.cnblogs.com/u/darkpig/feed/blog/ 这篇博主的系列文章 2.

  7. vue文章学习路线

    vue学习笔记(一)入门 Vue实现简单的购物车功能 vue学习笔记(二)vue的生命周期和钩子函数 使用webstorm搭建vue-cli项目 vue-cli项目中引入第三方插件 vue-cli项目 ...

  8. android文章学习 侧滑菜单实现

    http://blog.csdn.net/jj120522/article/details/8075249 http://blog.csdn.net/lilybaobei/article/detail ...

  9. C#特性文章学习

    http://www.cnblogs.com/rohelm/archive/2012/04/19/2456088.html http://www.cnblogs.com/liuxinxin/artic ...

  10. 微信小程序底层原理与运行机制类文章学习

    参考文档 小程序底层实现原理及一些思考 为了安全和管控, 双线程执行 Web Worker执行用户的代码; UI线程执行大部分的功能. 微信小程序架构原理 只通过mvvm模板语法动态改变页面, 不支持 ...

随机推荐

  1. vagrant 环境安装(前置篇)

    ubuntu可以直接 apt 源查找 sudo apt search vagrant 直接就 sudo apt-get install vagrant 如果版本不是 2.2.6 可以去 https:/ ...

  2. Impala源代码分析(1)-Impala架构和RPC

    Leave a reply Impala总共分为3个组件:impalad, statestored, client/impala-shell.关于这三个组件的基本功能在这篇文章中已经介绍过了. Cli ...

  3. Mac之终端工具iterm2

    1. 安装 iTerm2 下载地址:https://www.iterm2.com/downloads.html 下载的是压缩文件,解压后是执行程序文件,你可以直接双击,或者直接将它拖到 Applica ...

  4. PowerShell 重命名文件夹及删除空文件夹

    数据来源 $urldata 中的倒数第2列(子文件夹名称列)包含 /.\ 等特殊字符 某个文件夹重命名脚本 foreach ($i in 0..100) { # 提取路径部分 $basePath = ...

  5. 4-CSRF漏洞渗透与防御

    1.什么是CSRF漏洞 Cross-Site Request Forgery 跨站请求伪造 从一个第三方的网站,利用其他网站生效的cookie,直接请求服务器的某一个接口,导致攻击发生! 2.CSRF ...

  6. uni-app 坑

    1.fixed定位 在H5中,tabbar,顶部导航栏,系统状态栏(手机信号,电量显示等)包含在内容区,H5在定位时,需要算上这些高度(如果页面中存在这个元素的话) 解决办法:使用条件编译,针对不同的 ...

  7. ant 组件全局设置中文 vue

    //引入中文组件import zhCN from 'ant-design-vue/es/locale/zh_CN';//定义 const  locale = zhCN   //包裹根组件 <a- ...

  8. 零基础学习人工智能—Python—Pytorch学习(十一)

    前言 本文主要介绍tensorboard的使用. tensorboard是一个可视化的,支持人工智能学习的一个工具. tensorboard的官方地址:https://www.tensorflow.o ...

  9. 前端每日一知之你需要知道的JSON.stringify

    脑图在线链接 本文内容依据[web开发]公众号精彩文章总结而来

  10. PDFSharp 1.5 更新

    PDFsharp 1.50 Preview Information - PDFsharp & MigraDoc PDFShapr 1.50 修复与改进 支持 Object Streams - ...