宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > FIL > 正文

安全多方计算 MPC 正热 如何通过 MPC 管理密钥?

作者:

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

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

采访 / 撰文:李画

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

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

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

什么是基于 MPC 的密钥管理

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

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

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

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

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

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

安全团队:约5817万枚BUSD已从币安转入Paxos金库:12月5日消息,据派盾监测数据显示,北京时间13:54:35,58174997枚BUSD从未知地址转至Paxos金库。此前,赵长鹏在接受采访时表示BUSD由Paxos发行和维护。[2022/12/5 21:23:16]

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

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

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

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

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

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

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

UpLift DAO与安全审计公司CertiK达成合作:6月1日消息,加密项目孵化服务去中心化自治组织 UpLift 宣布与安全审计公司 CertiK 达成合作伙伴关系,旨在构建一个安全可靠的 Launchpad 服务,CertiK 将对在 UpLift 上启动的项目的智能合约和区块链代码进行渗透测试、手动代码审查和全面的安全评估。截止目前,UpLift DAO 共筹集了 1,211,158.57 BUSD,用于 DeFi、GameFi 和 NFT 领域的项目扩展。(cryptopolitan)[2022/6/1 3:54:38]

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

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

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

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

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

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

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

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

V神:转账费用市场由“紧急性”主导 安全性类似公共产品以某种税收支付:V神在推特表示,转账费用市场不是一个简单的安全性主导的市场,安全性主导的市场中越在意安全性的人支出越多。相反,越在意“紧急性”的人支付的越多,即支付的费用独立于收到的产品质量,因为人们在链上获得的安全性相同。此时你就会意识到区块链更像一个非常简约且自动化的“政府”,安全性这种公共产品以某种税收的形式支付,比如通过珍贵的区块空间来征税。[2020/8/9]

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

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

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

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

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

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

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

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

Dogecoin因TikTok视频经历暴涨后 官方提示交易者注意安全:由于短视频平台TikTok上一个关于Dogecoin(狗狗币)挑战视频被疯狂传播,Dogecoin的价格在24小时内上涨50%之后,截至发稿时,它的价格为0.042美元,是自2018年10月以来的最高价。对此Dogecoin推特警告交易者不要进行投机活动。Dogecoin表示,“请你做出正确的选择,不要被别人的FOMO影响或操纵。注意安全。聪明一些。”(Cointelegraph)[2020/7/8]

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

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

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

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

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

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

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

Jason Elliott:所有BCH Xapo持有者都失去了拥有最安全储备库的机会:BCH支持者Jason Elliot5月10日转发CCN分析师Joseph Young关于多地投资者认为BTC是安全储值库、比特币钱包服务商Xapo持有约百亿美元BTC的推文,并表示这是荒唐的,他认为最安全的储存方法是自己持有私钥,而所有BCH Xapo的持有者都失去了这个机会。[2018/5/10]

基于 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 (Key Management Service)是有证书的,但因为基于 MPC 的密钥管理时间没有那么长,没有认证。

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

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

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

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

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

来自使用的需求:

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

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

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

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

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

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

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

标签:MPC数字货币区块链TOKgmpc币还能再开盘吗数字货币交易哪个平台最好区块链的未来发展前景 数字号DOGBSC Token

FIL热门资讯
区块链50指数跌破发行价 84%样本股跌幅逾9%

2月3日,随着春节假期的结束,中国A股市场正式开市。虽说在开市前,央行等部门推出了一系列措施未市场提供流动性,以确保疫情防控特殊时期银行体系流动性合理充裕、货币市场平稳运行,例如2月2日,央行宣布将开展1.2万亿元公开市场逆回购操作投.

1900/1/1 0:00:00
金色观察丨谜一样的印度造就不一样的区块链技术

金色财经2月3日报道,印度政府的政策智库NITI Aayog发布了名为“区块链-印度战略”的国家区块链政策草案,但该草案与加密货币无关,该草案解释了印度区块链的不同使用情况,并企图从正在进行的区块链试点项目中得出一些结论.

1900/1/1 0:00:00
Libra 货币篮子管理:一个理论分析

本文基于公开信息推测了 Libra 货币篮子管理方式,从理论上分析了 Libra 法币储备金充足的条件,并定义了 Libra 的市场汇率、理论汇率和内涵汇率.

1900/1/1 0:00:00
区块链如何击败 AI、云计算成为最受欢迎技能?

作者 | Avi Mizrahi 译者 | 风车云马 责编 | 唐小引 出品 | 区块链大本营(ID:blockchain_camp)如果你计划今年找一份新的职业,或者想提高你在就业市场上的价值,最好的办法就是掌握一些区块链技能.

1900/1/1 0:00:00
当区块链成为最火的司法科技 惠及民生有望

区块链成“最火”司法技术2019年,区块链在司法领域应用的探索发展十分迅速,成为G端政务类应用中的典型代表.

1900/1/1 0:00:00
美CFTC主席暗示以太坊期货即将推出 美国应在区块链领域发挥领导作用

据Decrypt 2月1日报道,美国商品期货交易委员会(CFTC)主席希思?塔尔伯特(Heath Tarbert)最近表示,他希望“美国在以太坊(Ethereum)等数字资产和区块链技术方面都处于领导地位”.

1900/1/1 0:00:00