通过茫然传输(OT)协议,发送者Alice可发送一个夹杂电路是MPC的一种实现要领。根基的两边协议代表着抱负的函数(作为一种布尔电路),使夹杂电路能举办大量的逐位运算(譬喻SHA256)来高效地计较函数。夹杂电路有一个恒定的通信轮回数,这对付慢速网络很有用。
技能的打破是敦促行业前进的引擎,币安中国区块链研究院与币世界 ChainNews 同为密切存眷区块链与暗码学等规模技能成长前沿的组织,故而连系推出「他山之石」专栏,向中文世界读者先容全球范畴最值得存眷的区块链技能希望,以及在金融等财富最新的应用阐明与动态,以期为中国的区块链行业「攻玉」提供警惕和思考。
在开始探讨细节前,我们先界说两个对MPC下任何连系计较都很是重要的高级属性:私密性和正确性。在私密性方面,任何一方都只知道他们本身的输出功效。并且所有各方从MPC得到的输出功效都可以担保是正确的。2. EzPC:浅易的安详多方计较技能我们利用MPC技能,以一种能保持私密性的方法实现了这一相助。即,每次付出都是匿名的:商家知道对方已经付款,但他们不知道详细由哪位顾主付的款。MPC为顾主计较两个输出功效:关于比特币生意业务的ECDSA签名,和付出型代币。假如顾主已筹备封锁渠道,他们可利用比特币生意业务;不然他们可利用付出型代币来用于将来的状态更新(即另一种付出)。MPC的利益在于这两个输出功效均传送给顾主,而商家无法得到任何信息能相识是哪位顾主参加了协议。
我们的应用措施可分为几个主要的函数,包罗大量的SHA256哈希运算、大量的输入验证,以及ECDSA签名。除签名外,所有这些函数根基上都是布尔运算:位移位、相等性查抄和异或门掩膜运算。
03 MPC在zkChannels中的应用
在MPC协议中,凡是会思量两个根基的反抗模子:半厚道模子和恶意模子。假如半厚道模子中的MPC协议是安详的,则只要各参加方遵守协议类型,即可担保私密性和正确性。另一方面,恶意安详模子可确保厚道方的安详(纵然参加方中的某些子集试图背离协议类型,以得到更多信息)。
本日,MPC技能已遍及用于办理很多方面的问题,譬喻网络告白、私人接洽信息查找(用于发信息)、漫衍式密钥打点等等。在设定中,我们计较的函数用于查抄链下状态方面付出型代币的正确性、计较生意业务中的ECDSA(椭圆曲线数字签名算法)签名、宣布新付出型代币等。一方的输入信息是该方私密的签名密钥,另一方提出比特币生意业务,提供付出型代币。
总之,MPC的执行能担保各方都完全不知道其它方的私密输入值:商家不知道顾主的身份或渠道余额信息,顾主也不知道商家的私有密钥。在上述例子中,我们说明白MPC成果的几个高级方面;在不久后的学术文章,我们将发布技能详情。
*本文已取得作者授权币世界和币安中国区块链研究院翻译转载
在Bolt Labs公司,我们正在开拓一种能在顾主和商家之间保持私密性的付出渠道(见我们关于zkChannels协议的博客文章)。这一渠道可使两边锁定金钱由第三方托管,然后举办无限制的链下比特币转账/付出。跟着每一次转账,两边相助更新渠道的余额,确保两边都能在得知新余额后封锁渠道,不会有丢失金钱的风险。
参考文献
1. SoK:“多用途安详多方计较框架”:Marcella Hastings等人。
按照MPC,它们组成一个名目正确的比特币生意业务摘要(反应出付出额),,然后举办哈希运算,利用商家的ECDSA签名密钥给摘要签名。它们还计较基于更新状态的HMAC,以便形成新的付出型代币。此付出型代币能使顾主按照MPC证明他们在已往曾与商家有过互动,在渠道中有足够的余额。
我们回收以下要领做到了这一点:顾主与商家通过指定他们的私密输入值开始生意业务。顾主的私密输入值包罗关于渠道的信息,个中有今朝的状态和下一个状态。商家的私密输入值由一个ECDSA签名密钥和一个HMAC(哈希运算动静认证码)密钥构成。
*在此我们要出格感激Colleen Swanson和Marcella Hastings,感激他们的校对事情,以及他们关于本文的名贵反馈。
Bob在收到加密的电路和加密的输入值后,他将开始逐门地计较电路,获得输出f(x,y)。夹杂电路的布局能担保Bob仅知道f(x,y),即详细输入值的函数f,此外什么也不知道。对付更深度的夹杂电路处理惩罚,我们推荐读者阅读Vitalik的低级读本。
通过茫然传输(OT)协议,发送者Alice可发送一个请求的数据项给吸收者Bob,而Alice并不确切知道她发送的是什么数据项。在根基环境下,只有两个大概的数据项,即X0和X1。Bob选择一个位元a ∈ {0,1}。OT协议能确保发送者不知道吸收者的选择了位元a,确保吸收者只知道Xa。OT是一种互动协议,能确保输出功效的正确性,还能掩护发送者和吸收者的私密信息。这是夹杂电路协议中担保计较私密性的要害部门。
更确切地说,夹杂电路协议在两边间执行:一个夹杂者和一个评估者,他们连系评估基于他们各自私密输入信息的任意函数f。本文中我们将处理惩罚f为单一输出函数时的非凡环境。利用“异或门”和“与门”将函数 f 编码为一个布尔电路。对付电路的每个输入值i,生成器都将选择一对随机要钥k0i和k1i(有时称为线标签),它们别离代表大概的输入位元0和1。通过这些密钥,夹杂者可生成一个电路中所有门大概的输出功效的加密表。假如有对应于实际输入值的密钥,则评估者可得到正确的输出功效。
两边均知道此电路:Alice(作为夹杂者)和Bob(作为评估者)。Alice有一个私密输入值x,Bob有一个私密输入值y。他们都想安详地计较f(x,y)。Alice给电路加密,发送夹杂电路f′给Bob,同时尚有她加密过的输入值(或称夹杂过的x′)。利用茫然传输协议,Bob(作为吸收者)可与Alice(作为发送者)互动,他知道本身的加密输入值y′(或夹杂后的y′),Alice不知道他的私密输入值y。
02 夹杂电路
为执行MPC协议,我们利用了一种现有的软件框架来将MPC用于一个任意函数。我们选择Efficient Multi-Party(EMP)计较东西包。此框架有几个利益,使之很适合我们利用:个中出格是它支持半厚道模子和恶意安详模子中的多种协议,以及夹杂电路模子中的所有协议。
安详多方计较(MPC)技能能使互相不信任的多方正确计较任何函数,同时还能担保各方输入和输出信息的私密性。MPC可被视为一种提供可信任第三方的方法,纵然实际上并不需要这一可信任方。抱负环境下,可信任的第三方从各方处得到奥秘的输入信息,计较函数,然后将功效安详返回各方。而现实中,我们可以利用MPC来取代这一可信的第三方。
在我们的实例中,商家饰演夹杂者一角,顾主则饰演评估者一角。这是一个自然的选择,因为无疑只有顾主将收到计较功效。另外,夹杂方有稍高一些的资源要求,因为夹杂电路需要大量的加密操纵,以便成立所有(逻辑)门的真值表。在EMP东西包中,这算不上是大开销,商家可自界说他们的硬件配置来应对这一负荷。
01 茫然传输
EMP东西包将数据暗示为加密(夹杂)位元,将函数暗示为布尔电路。MPC文献中的其它常见模子将数据暗示为有限域内的奥秘共享,将成果暗示为算术运算电路。这些协议在基于位的运算中效率不高,而基于位的运算占我们应用措施的大部门。
部门现代框架[2]答允将布尔电路和算术运算电路殽杂起来一起计较,以便基于两种单独要领的利益来举办优化。在将来,我们将研究这些框架,以便优化我们应用措施中的ECDSA签名。假如需要更进一步相识其它MPC软件框架,可参阅Hastings等人更为全面的评估要领[1]。
概述
在本文中,我们将扼要先容一下多方计较和夹杂电路的配景常识,表明我们奈何利用MPC(多方计较)技能来成立私人付出渠道,并接头我们奈何选择符合的软件框架来实现我们的MPC协议。
04 软件框架选择和效能衡量
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。