月亮链 月亮链
Ctrl+D收藏月亮链

MPC:安全多方计算MPC正热,如何通过MPC管理密钥?_数字货币

作者:

时间:1900/1/1 0:00:00

来源:链闻,原题《安全多方计算MPC正热,如何通过MPC管理密钥?》

受访者:谢翔,PlatON算法科学家

采访/撰文:李画

密钥管理是一个正在变得越来越重要的概念,已经成为区块链领域重要的基础设施。当数字货币或Token更多的被交易和使用,而不仅仅被一劳永逸地存储时,通过私钥或钱包密码使用资产的方式既不安全,也不友好,更难以满足诸多应用场景的需求。

基于?MPC的门限签名方式与多重签名方式是两种不同的密钥管理方法,在这篇文章中,我们采访了?PlatON算法科学家谢翔博士,他将为我们介绍基于MPC的密钥管理,以及这种方式与多重签名方式的本质区别。

谢翔是数学与密码学专业出身,现为PlatON算法科学家及?KeyShard?产品负责人,专注于密码算法的研究、实现和产品化。KeyShard提供的是基于MPC的密钥管理服务,为数字货币密钥管理和恢复的痛点提供解决方案。

什么是基于MPC的密钥管理

问:为什么我们需要密钥管理?

谢翔:个人可以在区块链或比特币网络上自由地注册账户、转账,不需要任何第三方,这个功能是通过一套数字签名机制来完成的。在数字货币里,最核心的就是如何去管理这个签名,因为所有的东西都会依赖于这个签名。

对于用户而言,管理签名其实就是去管理密钥。因此我们说密钥就是钱,密钥管理很重要。

在传统的行业里,你可以通过银行也好,通过一系列的流程设计也好来管理钱,比如说可以多个人来管,投资经理同意了、投资总监同意了、财务同意了、CEO同意了,这笔钱才能转出去。但是一旦挪到数字货币这个行业,传统那套是做不了的,为什么?因为谁有私钥谁就能转钱,传统那一套审批流程是形同虚设的,没有任何意义。

所以我们做密钥管理这件事情最初的一个想法,就是说能不能把传统的对于钱的授权管理机制挪到数字货币的世界里面来。这个肯定是需要的,因为现在很多人已经开始用Token在投资了,比如说基金,比如说家族的VC,他们是需要有一种内部管理的机制的,但是传统的那套审批机制在技术上过不来。

问:多签可以解决这个问题吗?

安全团队:Multichain的Anyswap V4 Router合约遭遇抢跑攻击,攻击者获利约13万美元:金色财经报道,据区块链安全审计公司Beosin旗下Beosin EagleEye安全风险监控、预警与阻断平台监测显示,2023年2月15日,攻击者利用MEV合约(0xd050)在正常的交易执行之前(用户授权了WETH但是还未进行转账)抢先调用了AnyswapV4Router合约的anySwapOutUnderlyingWithPermit函数进行签名授权转账,虽然函数利用了代币的permit签名校验,但是本次被盗的WETH却并没有相关签名校验函数,仅仅触发了一个fallback中的deposit函数。在后续的函数调用中攻击者就能够无需签名校验直接利用safeTransferFrom函数将_underlying地址授权给被攻击合约的WETH转移到攻击合约之中。攻击者获利约87个以太坊,约13万美元,Beosin Trace追踪发现目前被盗资金有约70个以太坊进入了0x690b地址,还有约17个以太坊还留在MEVBOT的合约中。

交易哈希:0x192e2f19ab497f93ed32b2ed205c4b2ff628c82e2f236b26bec081ac361be47f[2023/2/15 12:08:11]

谢翔:多签是基于脚本或智能合约的。它是设计一个规则,比如说三个人同时签了或者两个人同时签了,将这些签名传递给一份智能合约,合约就开始运行,把钱转出去。多签能解决一部分问题,它其实已经用到很多企业里了,但是随着时间的进展会碰到越来越多的问题,问题在哪里呢?

多签针对不同的主链需要实现不同的智能合约,现在的链至少有一千多个了,每个链的智能合约体系不一样,每个人去写合约写得还不一样。拿VC来说,VC可能会投很多链,这些Token怎么管?你要他们去写十几个合约,而且都还要经过安全认证?这是一个大的人力成本。

此外,区块链上合约的任何细节都会被看见,这是有一层安全性问题在那里的。任何人都可以来看这个合约有没有漏洞,而且很多新的链不像比特币或以太坊那样经过了时间的验证,它的合约体系本身有没有问题是不知道的。你会发现一些新的Token出问题,90%?都是合约出问题,这是一个大的风险。

安全团队:Grim Finance被盗资金基本转移,约9000ETH转到TornadoCash:9月8日消息,据慢雾MistTrack监测,Grim Finance攻击者(0x988...57a)于北京时间9月8日凌晨将300万枚DAI通过Uniswap兑换为1923枚ETH。接着将1900枚ETH转到TornadoCash。此前,Grim Finance于2021年12月遭到重入攻击,攻击者窃取了价值约3000万美元的加密资产,并从Fantom跨链到以太坊。截止目前,攻击者已将9000ETH转入TornadoCash,地址上存额超920万美元(包含93ETH、821万枚DAI和327万枚FTM)。慢雾表示将持续分析挖掘可疑的TornadoCash提款地址。[2022/9/8 13:16:23]

所以在多链的情况下,多签还能方便地支持密钥管理吗?目前看其实是很难的。用多签通过合约的方式来管理密钥,使用成本高,安全风险高。

问:如果这些不同的链都是基于相同的数字签名算法,比如Schnorr,那么不同链的密钥管理方法是不是就可以通用?

谢翔:不,逻辑不是这样的,我给你画一下。多签是这样的,最下边是区块链,中间是数字签名,它有个签名算法,可以是?ECDSA,可以是?Schnorr?等等,最上边是智能合约。

多签是怎么做的呢?就是在最上边的智能合约部分来数合法签名的个数,一个、两个、三个……够了,就把钱转出去。这种方式不在乎下边用的是什么签名算法,Schnorr?也好、BLS?也好,对它来说没有半点区别。

这是多签的一个基本原理,也可以说是好处,它能够和底层的签名算法做到一定程度的解耦。但它的问题是要适配不同链系统,一千条链就需要一千个智能合约,多链的兼容性很弱。

问:那基于MPC的门限签名是怎样的?

Rose Chen:链上ChainUP WaaS联盟——聚力赋能 保障企业资产安全:近日,链上ChainUP WaaS联盟合伙人Rose Chen受邀参加币牛牛《牛牛面对面》专访时表示,ChainUP WaaS联盟解决了企业资产托管安全隐患、主链开发技术难、热门币种追不上等一系列痛点,目前已支持200+主链,大大节省了客户的开发时间与人力成本,致力于保障企业资产安全;同时也支持DeFi、波卡等热门币种的快速接入,让交易所创业者在热门资产中快速抢夺市场先机。作为全球领先的企业金融托管服务平台,近期ChainUP WaaS联盟会陆续上线理财、借贷等产品功能,以提升联盟企业成员的资产使用率与沉淀资金价值;也会继续支持更多热门价值主链,降低客户边际成本,扶持WaaS联盟企业成员快速长远地发展。

ChainUP WaaS联盟是链上ChainUP集团依托3年时间所服务的500多家企业客户经验,将底层资产托管和钱包封装而成的一套完整的服务,包含资产托管、节点服务、主链币种开发、热门币种一键接入、共管钱包、借贷理财等多种功能服务,通过开放钱包API与SDK,帮助交易所、项目方、媒体等快速高效接入,实现云端资产安全托管,联盟内部转账0手续费,即时到账。目前已有超过500家企业加入ChainUP WaaS联盟。[2020/11/11 12:18:10]

谢翔:我把这张图重新画一下。最下边还是这条链,中间还是数字签名,上边是智能合约。基于MPC的门限签名不会去管下边的链,也不会去管上边的合约,两头它都不会管,它只管右边这部分,也就是链下创建签名的部分。

它的思路是说一个签名一定是有一个私钥的,它把这个私钥以某种方式分成很多「碎片」,这些碎片可以被很多人同时拿着,然后通过一套MPC协议,保证这些碎片不需要被拼起来就可以直接产生一个合法的签名。「不需要被拼起来」代表着真正的私钥始终没有、而且也不需要出现。

声音 | 慢雾安全团队:门罗币不小心创造了一个网络和平世界:据火讯财经报道,慢雾安全团队表示:“门罗币不小心创造了一个网络和平世界,因为其CPU/GPU算力友好,对抗职业矿机(比如ASIC芯片),且门罗是最早的一批,算是匿名币的龙头,地下黑客入侵大量服务器,以前是勒索、窃取机密,现在大规模做CPU挖矿,所发布的典型蠕虫病修补了相关漏洞入口,杀掉了蠕虫对手,安全加固了相关机制,然后它仅挖矿,不少企业入侵事件的发现不是因为发现蠕虫,而是发现服务器或主机卡了,这些蠕虫挖的主要就是门罗。”[2018/7/3]

问:签名是在链下完成的?

谢翔:需要签名的时候,比如说我们公司三个人会在链下跑一个协议,生成一个签名,再把签名放到链上。生成签名的逻辑是放在MPC里实现的,出来的是一个标准的签名,但怎么跑这个协议别人是不知道的。

把这个签名结果放到链上去,别人分不清它后面是一个人签的还是多个人签的,因为它的形态、样子就是一个签名,和直接用私钥签出来是一模一样的。这一套签名机制可以完全独立于链,部署在企业的内部。

发现了没有,多重签名主要是去数合法签名的个数,它不依赖于签名算法,但要去适配链系统;基于?MPC?的门限签名主要是去产生一个签名,它依赖于签名算法,但不需要去适配合约和链系统。

基于MPC的门限签名与合约模块是完全解耦的,合约是怎么写的、链是怎么样的,它完全不在乎。它只要区别签名算法,只要签名算法是链系统支持的,它就能很好地衔接。算法的话现在可能就是ECDSA、Schnorr、BLS?,所以兼容算法就能兼容很多链。基于MPC的密钥管理能做到对多链友好,这是一个大的优势。

另外一个优势就是这套签名机制的策略是链下的,因此更加安全,它避免了合约被黑客攻击的风险,而且设计策略可以更加灵活,因为除了验签外的大部分流程都搬到链下了,使用方可以根据场景,制定自己的碎片管理策略。

问:MPC在这个过程中的作用是什么?

谢翔:MPC是一种基于密码学的协同计算框架,广义地理解就是多方各自有私密的输入,一起来完成一个计算任务,在成功完成任务的同时,可以保证整个过程中各自的私密输入不会泄露。

李虹含:代码审计可保证区块链世界的安全:4月26日,中南财经政法大学产业升级与区域金融湖北省协同创新中心研究员李虹含在其公众号发文表示,区块链项目已进入智能合约时代,但是智能合约自身的正确性和安全性却面临着巨大的问题。区块链世界本身是相当安全的,但是由于人为撰写代码的问题,不可能完美。而智能化代码审计,利用计算机进行稳健性检验是当前代码审计最重要的方式。[2018/4/27]

比如一个「2-3模式」的基于MPC的密钥管理协议,意味着一共有3个碎片,只要任意的2个碎片参与执行协议,就可以产生一个合法签名。这里的签名产生过程,包括碎片产生过程,都可以看成一种安全多方计算,因为在协议执行过程中,产生和交换的所有中间数据都不会直接或者间接地造成碎片明文的泄露。

问:基于MPC的门限签名为什么要跟签名算法相关?

谢翔:我有多块碎片,怎么去实现这一个签名出来?这和算法结构是强相关的,所以会存在某个算法容易做MPC,某个算法不容易做MPC的问题。比特币要升级到Schnorr,Schnorr?是非常兼容MPC的,ECDSA?不那么兼容MPC。

问:在基于MPC的密钥管理中,真正的那个私钥存储在哪儿?

谢翔:你会发现有个很好玩的事情,就是在整个密钥管理的生命周期里,真正的私钥从来没有出现过,也就没有私钥存储在哪里这个问题了。这是基于MPC的密钥管理的精髓所在,它能够保证密钥能用但不存在。

在传统的密钥管理中,密钥是一种确实存在的数据资产,保管它是一件非常难的事情。基于MPC的门限签名在物理层面直接从系统里剥离了密钥,这与传统系统在安全理念上是截然不同的。

在传统方式下,黑客盯住一个点就行,因为私钥就存在那个点上;但基于MPC的密钥管理将密钥的安全性分散在多个托管节点里,私钥在任何时刻都会被分成多份在多个地方,黑客可能要攻破第一个、第二个、第三个、第四个,要把四个碎片全部搞定才能拿到密钥,而且必须在某一时间范围内同时拿到四个碎片才能得到密钥,因为密钥碎片是在不断刷新的。

比如密钥是10,把它拆成两个碎片,分在两个地方。你可以把10拆成5+5,但过一分钟后把它拆成1+9,再过一分钟后把它拆成2+8。黑客要在一分钟之内把两个点都攻破才能拿到10,如果第一分钟攻破第一个地方、第二分钟攻破第二个地方,黑客拿到的是5和9,不是正确的密钥。

问:多签是无法做这种刷新的?

谢翔:没有办法。对于多签,比如参与多签的是三个人,其中一个人的私钥被偷了,那对应的方法不是说刷新密钥,而是要赶紧换地址,把钱转到新的地址里,这在很多应用场景里是个痛点;或者比如说现在是三个人参与多签,需要加第四个人,这个时候也要换地址,然后需要一个新的多签的合约,这是很费劲的,而且转钱到新地址还需要手续费。

但这些对于MPC来说就很容易,它可以保证对外的地址一直不变,内部刷新就好。这个好处也是我们看重的点。

基于MPC的密钥管理的应用

问:基于MPC的密钥管理可以降低私钥的使用门槛吗?这或许是最让普通用户头疼的地方。

谢翔:它可以做到与传统的中心化的方式没有区别,做到用户体验一样:使用数字货币时的操作和你使用微信钱包时的操作是一样的,你不需要去记助记词、或者把助记词存硬件、用本子抄写下来等等。

用MPC一个好玩的事情是什么呢?比方说A和B用MPC共同管理一个账户,那么他们俩就可以同时来控制这个账户,但同时都不需要记助记词。如果A想用的时候,要发一个请求给B,B同意后,A和B通过一套既定的规则,在本地利用各自的碎片计算出一些中间变量,通过信息交换,A就可以在本地生成一个合法的完整签名,验签通过后,A就可以把账户里的钱转出去。

当然这里还有一个问题,如何为A和B生成碎片。事实上,利用MPC技术可以实现A和B各自在本地生成一个碎片,这两个碎片可以隐式地拼接成一个私钥,注意,这种拼接只是一种蕴含的数学关系,碎片实际上从未在任何时刻被拼接过。

这个时候,B那个角色也可以是一个第三方的服务器。服务器确认一下KYC,核实是不是你发起的,是你发起的之后它就自动通过,也就是自动给出另一个碎片来一起生成签名。KYC就是通过发短信、人脸识别、发邮件等等方式,这样一来,用户的操作方式就和传统的操作方式一模一样。这就和实际的应用场景很挂钩了。

我们做了一个叫?KeyShard?的App,是为了告诉用户基于MPC的密钥管理可以怎么用,可以试着体验一下,现在只支持以太坊。它就是模拟的传统的权限管理,要两个人同意才能动账户。

问:回到最开始。你说把传统的对于钱的授权管理机制挪到数字货币领域。在传统审批流程里,可能需要A先通过,然后B签字,然后C签字,这是MPC现在就可以做到的吗?

谢翔:这其实是一个很关键的问题。在传统的流程里这叫做传签,传签在MPC里会有一些障碍,我画一下MPC大概的逻辑。

MPC这个算法协议是要彼此相连和交互的,比如说经理、财务、CEO三个人参与生成签名,它是要求这三个人必须同时在线的,所以MPC纯算法本身很难做到传签。

但我们可以利用工程架构在产品层面实现传签功能,让上层的用户不用去管也不用去想底层是怎么运行的,对于用户而言,产品的操作体验和传统传签是一样的。所以算法和产品之间是有很大差异的,这里有两套东西,除了算法本身,还需要把技术和业务逻辑结合起来。

问:可以这么理解吗,基于MPC的密钥管理不仅是为了安全地存储密钥,它更是为了个人或企业能够方便地、满足业务逻辑地使用密钥?

谢翔:它有多个优势,安全存储是一方面;而让个人或者企业更安全便捷地使用密钥是另一方面。前者是指基于MPC的密钥管理对密钥或者资产的「托管能力」,体现了静态的安全性;后者是指基于MPC的密钥管理可以主动设计出多样化的策略管理,是一种动态的业务赋能。

问:如果有一个需要管理多种Token的投资机构,它是不是可以买一套基于MPC的密钥管理算法,然后用这套算法实现对不同链的签名,进而实现对不同链上资产的管理?

谢翔:它不太可能直接买算法,它会买产品,比如买一套基于MPC的密钥管理软件装在公司内部的服务器上,然后就可以通过一个界面去管理资产。你可以理解为它买了一套基于MPC的财务管理系统。

密钥管理的最底层是一套算法,但可以把它包成产品,也可以包成?App、包成SDK。

问:如果有一个钱包公司,希望钱包添加一个让用户能基于MPC管理私钥的功能,是不是可以找专业的提供MPC解决方案的公司合作?

谢翔:对。你可以理解为这个市场有投资机构、有钱包、有交易所,还有其它的一些业务公司,它们各自有自己的业务,但它们一定都会有怎么管钱这个问题,我们就是提供一套基于MPC的密钥管理能力,也就是基于MPC的管钱的能力,来跟它们自己现在的这套系统对接。

从公司的定位来说,KeyShard?其实是一个技术提供商或一个基础设施公司,它把自己往下沉得多一点,不碰上面的业务。它主导的是底层的密钥管理的SDK,希望把授权管理的业务流程揉到SDK里面去,当然难点在于要抽象出一套相对来说足够灵活、好用的SDK。

基于MPC的密钥管理面临的挑战

问:基于MPC的密钥管理现在碰到的难点是什么?

谢翔:技术的、非技术的都有。非技术的是有人会问为什么它是安全的?给我个证书。传统KMS?是有证书的,但因为基于MPC的密钥管理时间没有那么长,没有认证。

这是这个学科的特殊性引发的问题。密码学虽然有坚实的理论基础,但是它分理论安全和实际安全,实际安全是不是能达到理论安全这个层面是需要时间检验的。所以一是需要标准机构,二是需要学术研究的推动。我们会积极地去推进类似标准、去推进工业界对这个技术的认可,但需要时间,没那么快。

技术上的难点就是刚才说的,需要把这一套新的技术和复杂的业务逻辑结合起来。此外,MPC是一套分布式的技术,分布式的话就会有同步,也就是共识的问题。

原来的授权管理是一个纯中心化的东西,业务流程会很好配;但分布式的场景下会有一定的难度,比如使用者在不在线的问题,网络好不好的问题,如果在密钥刷新的时候有延时,是用后面那个碎片还是用前面那个碎片的问题。这种细节会有很多,都要去考虑。

问:基于MPC的密钥管理没有可追究性这种说法是准确的吗?就是说不知道谁签了谁没有签,无法追查责任?

谢翔:其实是可以知道的,从算法层面就可以抓到是谁签的。算法底层可以通过引入检查和举报机制,追查到谁没有签,甚至知道是谁在签名过程中给了不遵循规则的错误信息。

来自使用的需求:

密钥管理是一个正在变得越来越重要的概念,它甚至有可能成为区块链领域一类重要的基础设施。因为当数字货币或Token更多的被交易和使用,而不仅仅被一劳永逸地存储时,通过私钥或钱包密码使用资产的方式既不安全,也不友好,更难以满足诸多应用场景的需求。

多重签名和基于MPC的门限签名都是实现密钥管理的方法,但它们是截然不同的设计路线:前者在链上,依靠智能合约数合法签名的个数;后者在链下,依靠MPC用碎片生成合法签名。本文重点介绍的是后者,也就是基于MPC的密钥管理,希望能对你了解这种技术和方案有一些帮助。

重新认识「私钥」:私钥不是钥匙

「私钥」这个词带来的直觉反应是,它是一种「钥匙」,作用是打开保管着数字货币的保险柜,想一想也似乎有道理,使用私钥就能拿到币。但实际上,在区块链和数字货币领域,私钥就意味着资产本身。

试想,你的保险柜钥匙丢了,你的钱是依然还在的,你可以再配一把钥匙;但如果私钥被忘了,钱可就永远消失了。你的保险柜钥匙被偷了,你的钱可能依然安全,因为小偷还需要溜进大楼、撬开房间的门锁;但如果私钥被偷了,钱几乎立马就不再属于你。

私钥不是那把打开保险柜的钥匙,它是要被放进保险柜的资产本身。而如何设计一个保险柜系统存放私钥,使得柜中的私钥既安全、又易用,就是密钥管理。届时,交到用户手中的就不是私钥,而是一套打开保险柜的钥匙。

多重签名和基于MPC的门限签名都是实现密钥管理的方法,但它们是截然不同的设计路线:前者在链上,依靠智能合约数合法签名的个数;后者在链下,依靠MPC用碎片生成合法签名。本文重点介绍的是后者,也就是基于MPC的密钥管理,希望能对你了解这种技术和方案有一些帮助。

标签:MPC数字货币区块链HAIgmpc币上哪个交易所数字货币交易员工作咋样区块链专业学什么课程AiPiChain

莱特币价格热门资讯
以太坊:观点 | 为何 ETH 必有货币溢价_以太坊硬币ETHD

作者:DavidHoffman翻译&校对:阿剑、闵敏&阿剑来源:以太坊爱好者译者注:在本文中,作者大量使用了“engineered”,“engineering”这样的词.

1900/1/1 0:00:00
BCH:五大矿池号召“强捐”,4200万元的BCH矿工掏定了?_coinweb一键跟单

文|黄雪姣出品?|?Odaily星球日报1月22日,莱比特矿池CEO江卓尔发布了一篇博文,公布一项《BCH的基础设施融资计划》.

1900/1/1 0:00:00
区块链:疫情之下,区块链有望补足社会线上运行短板_AIOT

作者:宋嘉吉、任鹤义摘要_事件:2月6日,北京市政府发文,建议建设基于区块链的供应链债权债务平台,提升融资便捷性,促进抗疫阶段中小企业健康发展.

1900/1/1 0:00:00
区块链:2019年度加密货币市场报告:“空气项目”正被市场抛弃,更多项目加速探索与实体经济相结合_Cryptoheadz

来源:TokenInsight编者注:原标题为《2019年度加密货币市场报告》引言:2019年对于区块链和数字资产市场是不平凡的一年.

1900/1/1 0:00:00
加密货币:纳斯达克研究推出比特币期货,数字货币赛道竞争激烈_艺术币区块链

作者:宋嘉吉、任鹤义摘要事件:纳斯达克积极研究推出比特币期货,新加坡加密货币监管法生效,面向全球公司开放牌照申请。数字货币赛道上,监管深化、金融中心之间的竞争将深刻影响行业发展.

1900/1/1 0:00:00
数字资产:数字货币现已成为全球金融体系的一部分_区块链可以看作是

作者:SianJones翻译:ZoeZhou来源:加密谷从2020年1月10日起,在英国运营的数字资产业务必须遵守国家反和反恐怖融资(AML/CTF)的规定.

1900/1/1 0:00:00