Cointime

扫码下载App
iOS & Android

Safeheron 正式开源全球首个基于 C++ 的 MPC 门限签名协议库

作者:Safeheron team

Safeheron 是一家透明、开源的数字资产自托管平台,创始初心即为加密世界贡献透明、开源、可验证的安全自托管基础设施。本着这个原则,Safeheron 坚持密码学研究并积极推进 MPC 技术应用,核心算法相继开源,今日正式开源多个 MPC-ECDSA 协议,包括著名的 MPC-CMP 协议。 开源地址:https://github.com/Safeheron/multi-party-ecdsa-cppSafeheron 此次开源 GG18 、GG20、MPC-CMP 三种被头部钱包托管技术商广泛采用的 MPC-ECDSA 协议 ,同时对密码学原语库也做了扩充。

本次开源填补两项市场空白:1. 这是全球首个 C++ 语言版本的开源 MPC 门限协议库,便于低成本移植到多个平台。2. 这是全球首个亚洲安全技术团队自主设计、开源的 MPC 门限协议库,有助于更好地为亚洲企业和开发者提供安全技术研究,提高亚洲技术在全球数字资产市场的竞争力。

为推进行业开源生态建设,Safeheron 已邀请 SlowMist、Amber Group 安全团队和 PlatON 科研团队,参与验证开源代码的正确性和安全性,一起推动开源库以及开源社区的建设,在此向他们致谢。

MPC 介绍

安全多方计算(Secure Multi-Party Computation),记为 SMPC/ MPC,它是指在无可信第三方的情况下,多个参与方协同计算一个约定的函数。MPC 起源于姚期智先生于 1982 年提出的百万富翁问题及其密码学解法,后来不断发展和完善,已成为当前密码学的一个重要分支。Safeheron Lab 一直以来深耕 MPC 研究,与姚期智院士创建的图灵研究院共建联合实验室,深度参与可信计算与区块链融合的研究,Safeheron Lab 已将部分 MPC 研究课题开源。从 2018 年开始,MPC 技术被应用在区块链数字资产领域的私钥安全设计中。据不完全统计,4 年时间内,超过 3 万亿美元的数字资产转移通过 MPC 私钥方案签署完成,这一方案被纽约梅隆等上千家银行和顶级机构采用。2010 年后,MPC 开始越来越频繁地进入实用阶段。目前 MPC 协议可以分成两大类:通用 MPC 协议和专用 MPC 协议。通用 MPC 协议,顾名思义,具有通用性,理论上可支持任何计算任务。它一般基于混淆电路(Garbled Circuit)实现。具体实现步骤是将计算逻辑编译成电路,然后混淆执行。然而,随着问题的复杂化(大部分常见问题就很复杂),电路的规模也会迅速扩大,导致计算效率大大降低。专用 MPC 协议则是指为解决特定问题所构造出的特殊 MPC 协议。由于是针对性构造并进行优化,专用算法的效率会比基于混淆电路的通用框架高很多。常见 MPC 专用算法包含,四则运算、比较运算、矩阵运算、隐私集合求交集、隐私数据查询、私钥门限签名等。在实际应用场景中,人们常常会寻求快速高效的专用 MPC 协议。

区块链领域的 MPC 研究

为了更好地保护区块链上的数字资产,MPC 被引入到多签场景中来。在任何时间,任何地点,公钥对应的私钥都未存在过,取而代之的是多个私钥分片,即,通过密码学技术,彻底去除私钥单点风险。也就是说,要求单私钥不出现,通过多个私钥分片,不同参与方在签名时通过 MPC 协议计算出最终签名,且此签名能通过对应的单个公钥的验签。这一类技术称为 MPC 多签。随着研究的推进,一些重要的 MPC 多签协议相继被发表。在 MPC-ECDSA 研究方向,典型的有,Lin17 提出的关于 ECDSA 的两方签名算法和 GG18 提出的多方参与的门限签名协议。此后,算法协议层出不穷,比如 DKLS18、DKLS19、GG20、MPC-CMP、DMZ-21 等等。这些算法研究的重心在于:

  • 减少通信次数
  • 降低计算工作量
  • 安全性分析与安全增强
  • 增强对恶意敌手的识别能力
  • 降低生成私钥的算力要求

更快、更高效、更安全始终是 MPC 研究的目标。

开源 MPC-ECDSA 协议

Safeheron 此次一共开源 3 种具有代表性的 MPC-ECDSA 协议:

  • GG18
  • GG20
  • MPC-CMP

其中,GG18 是 Rosario Gennaro 和 Steven Goldfeder 提出来的,并且是第一个有影响力的、进入实用阶段的 MPC-ECDSA 门限多签协议。大部分后续提出的 MPC-ECDSA 门限多签协议,都可以看作是 GG18 不同角度的优化版本。需要注意的是,GG18 早期版本存在一些安全隐患,在安全分析报告的基础上,此次开源的算法对其进行了针对性的修正。GG20 是对 GG18 的优化,除了将通信轮数从 9 轮降低到 6 轮,还增强对恶意敌手的识别能力,并支持 Offline-Sign 模式。MPC-CMP,由 Fireblocks 提出,是对 GG18 的进一步优化,主要是将通信轮数(包含 pre-sign 阶段)降低到 4 轮。为了使描述更加简洁,MPC-CMP 论文采用 n-n 签名的方式描述整个算法,并提到可以适应 t-n 门限签名,但尚未展开详细说明。我们对如何将 MPC-CMP 修改为 t-n 门限签名算法进行细节描述补充,参考文档为《Modify MPC-CMP as a Threshold Signature Scheme》。值得一提的是,上述的开源协议库不仅仅支持 Secp256k1,还支持多种椭圆曲线,全部如下:

  • Secp256k1
  • P-256 (Secp256r1)
  • STARK 曲线

去年 Safeheron 已经开源 TSS-RSA 协议,感兴趣的朋友可以查看。

支持 STARK 曲线

近期,Safeheron 已披露某些 dApp 的授权设计在特定的场景下存在潜在风险的信息,即,基于签名派生密钥风险(Signature-derived Key Risk)。dApp 在授权连接时可以绕过硬件钱包(冷钱包)对私钥的安全防护,亦或者, MPC 自托管钱包提供商可未经用户授权,掌握用户 dApp 中资金的控制权限。此次开源的 MPC-ECDSA 协议库支持 STARK 曲线,即,针对 StarkEx 所使用的 ECDSA 算法设计 MPC 协议,在私钥管理层面实现多人共管。MPC 钱包用户能在 StarkEx 场景下更安全地保护私钥,高效进行多方资产管理,无需担心内外部作恶。另外,社区也可以基于此开源协议定制不同的解决方案。

丰富的基础密码学原语

在开源 MPC 应用层协议的同时,Safeheron 也开源丰富的密码学原语库:

算法库功能
crypto-bn-cpp大整数计算
crypto-curve-cpp统一的椭圆曲线库计算
crypto-commitment-cppCommit Scheme
crypto-hash-cpp杂凑函数计算
crypto-encode-cppBase64、base58 和 hex 编解码运算
crypto-paillier-cppPaillier 快速加解密算法
crypto-sss-cpp可验证的密钥分享算法
crypto-zkp-cpp一系列零知识证明协议
crypto-bip32-cpp实现 Bip32 中的核心功能
crypto-bip39-cpp实现 Bip39 中的核心功能
crypto-ecies-cpp实现 IEEE 1362a 中定义的 椭圆曲线公钥加密算法和认证加密算法

所有这些密码学原语,可以通过 safeheron-crypto-suites-cpp 来统一安装。

多平台支持

设计之初我们就考虑到跨平台的需求,结合性能方面的综合考量后,Safeheron 的 MPC 协议和基础密码学原语最终都采用 C++ 语言来开发。因为良好的设计,可以便捷高效地将所有算法移植到大部分平台,包括 Windows、Mac、Linux、Sgx in Linux、SGX in Windows、Android、iOS、WASM 等等。

关于审计

Safeheron 的内部算法库(https://github.com/safeheron/mpc-dsa-lib)早在 2020 年 12 月就通过瑞士顶尖安全审计方Kudelski Security的审计。此算法库涵盖 GG18 实现和大量基础密码学原语。为保证开源透明和高效维护,Safeheron 后续会将不同类型的密码学原语从内部库独立出来,作为项目库单独开发。GG18 在 2020 年 12 月也已通过 Kudelski Security 的审计,今后我们会继续对其他 MPC 协议开展审计。

未来开源计划

Safeheron 深耕安全行业多年,始终秉持知行合一的理念,致力于贯彻安全与去中心化的统一。为积极推进行业开源生态建设,Safeheron 正在联合 SlowMist、Amber Group 安全团队和 PlatON 科研团队一起推动开源库以及开源社区的建设,并邀请其参与验证开源代码的正确性和安全性,同时,社区可以基于此开源协议定制不同的解决方案,真正享受开源的福利。

开源是一个持续化的过程,除此次开源的 MPC-ECDSA 协议之外,Safeheron 的开源计划还有:

2023 年 12 月

1. 开源 MPC-EdDSA 协议

2. 开源 MPC-BLS 协议

在未来我们还会适时开源:1. MPC-ECDSA 中的其它协议,比如 DKLS19 等2. MPC-HMAC 协议3. SGX 库

参考文献

【1】[Lin17] Fast Secure Two-Party ECDSA Signing

【2】[GG18] Fast Multiparty Threshold ECDSA with Fast Trustless Setup

【3】[DKLS18] Secure Two-party Threshold ECDSA from ECDSA Assumptions

【4】[DKLS19] Threshold ECDSA from ECDSA Assumptions: The Multiparty Case

【5】[GG20] One Round Threshold ECDSA with Identifiable Abort

【6】[MPC-CMP] UC Non-Interactive, Proactive, Threshold ECDSA

【7】[DMZ-21] Promise Σ-protocol: How to Construct Efficient Threshold ECDSA from Encryptions Based on Class Groups

【8】Enhancing Security on MPC Wallet-dYdX Connections

【9】EverPay Collaborates With Safeheron To Increase Security Performance By 47 Times

来源:https://mp.weixin.qq.com/s/-cP-heE84rUHd7iCu6sXZg

MPC
评论

所有评论

推荐阅读

  • 俄美元首通话 普京称俄目前不可能恢复与乌谈判

    10月10日,俄罗斯总统助理乌沙科夫当地时间10日凌晨介绍了俄美两国领导人通话的有关情况。乌沙科夫表示,普京在通话中详细介绍了俄罗斯为回应乌克兰武装部队实施的恐怖袭击而采取的措施。普京表示,乌克兰方面试图破坏俄罗斯国家杜马选举并对民众实施袭击,导致立即恢复谈判的可能性遭到破坏。普京还指出,乌克兰方面试图阻止俄罗斯军队推进的企图没有任何成功的前景,俄军目前完全掌握战场主动权,并正在持续向前推进。普京强调,由于乌克兰方面的立场,特别是其试图破坏俄杜马选举的行为,目前不可能恢复与乌克兰的谈判。特朗普已指示将普京在通话中传递的信息转达给乌克兰代表团。乌沙科夫称,关于举行普京与特朗普双边会晤的问题,双方目前尚未进行具体讨论。(央视新闻)

  • Telegram 内置 Gram 钱包更名为 Money 并向全体用户开放

    10月9日,Telegram 已将其原仅向部分用户开放的钱包服务“Gram wallet”更名为“Money”,并正式向全平台超过十亿用户全面推出。“Money”是针对 Gram 代币的内置钱包,支持存储、转账以及购买平台礼物与收藏级用户名。 此外,配套交易平台“Walt”提供超过 300 种资产服务,涵盖代币化股票、贵金属、永续合约及理财收益项目。用户可通过“Walt”向“Money”钱包进行即时划转且免收网络手续费。官方同时提示,加密资产投资存在相应风险。

  • Blockchain.com 寻求批准开展预测市场和加密货币衍生品交易

    10月9日,加密资产平台 Blockchain.com 已向美国商品期货交易委员会(CFTC)提交申请,寻求获得指定合约市场(DCM)和期货佣金商(FCM)牌照,以向美国用户提供事件合约(预测市场)及加密货币衍生品交易服务。

  • 贝森特:美国本周可能查扣约 10 亿美元与伊朗相关的加密货币

    美国财政部长贝森特周四在 Newsmax 于华盛顿举办的 NPolicy Summit 上表示,我们本周可能会查扣 10 亿美元的加密货币,并称「我们知道它在哪里,我们正在孤立他们」。贝森特表示,特朗普政府对伊朗的举措已从「极限施压」转为「绝对孤立」,措施包括海上封锁、限制航空出行及切断陆路通道,阿联酋和阿曼正与美方合作,美方也在与巴基斯坦和土耳其合作切断所有进出伊朗的陆路通道。

  • Zcash 开发团队计划于明年 1 月引入抗量子签名以保护公开支付

    隐私加密货币 Zcash(ZEC)开发团队计划于明年 1 月在网络中引入后量子签名操作码,以支持基于哈希的签名技术,从而抵御潜在的量子计算攻击。该方案主要针对透明(公开)支付池,目前约有 70% 的 ZEC 存放于该池中。尽管开发者将 1 月定为目标期限,但具体的网络激活时间尚未最终确定。 该升级旨在防止攻击者利用现有公钥反向推导私钥并伪造支付授权。此外,Zcash 节点验证程序 Zakura 还推出了一项基于私密信息检索(PIR)的钱包工具,允许用户在查询多地址余额时不向服务器泄露地址间的关联性。此前,以太坊研究员 Justin Drake 曾警告人工智能可能加速破解传统加密算法,并呼吁加密货币持有者应对潜在的安全威胁。

  • BTC突破83000美元

    行情显示,BTC突破83000美元,现报83017.3美元,24小时涨幅达到0.66%,行情波动较大,请做好风险控制。

  • 中共中央、国务院:全面实施“人工智能+”行动

    10月9日,中共中央、国务院印发《关于发展新质生产力的意见》。意见提到,全面实施“人工智能+”行动。推进人工智能对传统产业的改造,加快推进智能网联新能源汽车、人工智能手机和电脑、人形机器人等新一代智能终端场景应用。加快人工智能等数智技术创新,突破基础理论和核心技术,强化算力、算法、数据等高效供给。因地制宜、分业施策布局国家人工智能行业应用中试基地和高价值应用场景,大力推动人工智能在各行业应用。构建技术监测、风险预警、应急响应体系,确保人工智能安全、可靠、可控。

  • 美国政府相关钱包近三日向Coinbase Prime存入17733枚BTC及750枚WBTC

    10月9日,据Lookonchain监测,过去三天内,与美国政府相关的钱包已向Coinbase Prime存入了17,733枚BTC(价值14.8亿美元)和750枚WBTC(价值6200万美元)。 根据Arkham的标记数据,这些钱包目前仍持有价值254亿美元的加密资产,其中仅比特币的价值就达253亿美元。

  • ETH跌破2500美元

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

  • ETH突破2500美元

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