讯晨财经

xuncen.com

隐私加密系列|Mimblewimble Multiparty Bulletproof UTXO

发布时间: 2020-09-23 18:29:21
介  绍 在Mimblewimble中,运用于未应用事务管理輸出(UTXO)的BTC种类多种签字(multisig)的定义事实上并不会有。 在BTC中,多签字付款一般与“......
介  绍

在Mimblewimble中,运用于未应用事务管理輸出(UTXO)的BTC种类多种签字(multisig)的定义事实上并不会有。

在BTC中,多签字付款一般与“Pay to Script Hash”(P2SH)作用融合在一起,做为一种将资产发送至P2SH支付详细地址,随后从那边管理方法开支的方式 。赎出脚本制作自身设定了要连接到要应用的P2SH支付详细地址的UTXO务必考虑的标准。

与BTC不一样,Mimblewimble交易不涉及到支付详细地址,由于全部买卖全是数据加密的。应用Mimblewimble UTXO的唯一规定是可以破译(或开启)包括动态口令的Pedersen服务承诺;它不用“owner”的签字。典型性的Mimblewimble UTXO看上去像那样:

08c15e94ddea81e6a0a31ed558ef5e0574e5369c4fcba92808fe992fbff68884cc

另一个压根差别是,针对一切Mimblewimble交易,全部多方,即全部推送方和全部接受方,都务必开展互动以进行买卖。

情况专业知识

BTCm-of-n Multisig

存有m-of-n个multisig程序运行的好几个测试用例,比如一个1-of-2的零用现钱账号,一个2-of-2 的两因素验证钱夹和一个2-of-3的股东会账号。

```markdown
redeemScript     = <OP_2> <A pubkey> <B pubkey> <C pubkey> <OP_3> OP_CHECKMULTISIG
```
P2SH付款详细地址是赎出脚本制作的結果,该脚本制作应用SHA-256和RIPEMD-160开展了2次hach解决,随后对Base58Check开展了作为前缀0x05编号:

redeemScriptHash = RIPEMD160(SHA256(redeemScript))
P2SHAddress      = base58check.Encode("05", redeemScriptHash)

现在可以将好几个支付发送至P2SH支付详细地址。不管赎出脚本制作的內容怎样,P2SH付款详细地址的一般股权融资买卖的輸出脚本制作都具备下列文件格式:

scriptPubKey      =     OP_HASH160 <redeemScriptHash> OP_EQUAL

OP_HASH160是SHA-256和RIPEMD-160的组成。2-of-3的multisig赎出买卖的键入脚本制作具备下列方式:

scriptSig         =  OP_0 <A sig> <C sig> <redeemScript>

而且将开支和资产买卖组成脚本制作(认证脚本制作)为

validationScript    = OP_0 <A sig> <C sig> <redeemScript> OP_HASH160 <redeemScriptHash> OP_EQUAL

什么叫签字?

一部分签字的建立次序与在redeemScript中界定公匙的次序同样。对事务管理的简单化的实例化十六进制版本号开展签字-由键入的事务管理ID和UTXO数据库索引,要付款的额度,scriptPubKey和事务管理锁住時间构成。每一个持续的一部分签字都包括此前的一部分签字与要签字的简单化事务管理数据信息的实例化,进而在签字的数据信息中建立了好几个交叉引用。融合公匙,证实买卖是由有关BTC的真实使用者建立的。

如何把变更跳转到multisig P2SH?

虚拟货币交易能够有好几个接受者,来源于P2SH multisig交易的资产接受者之一能够是初始P2SHAddress,进而将变更推送回本身。容许向同一详细地址开展循环系统支付,但这种详细地址将欠缺安全性。另一种方式 是,每一次进行P2SH multisig事务管理以搜集变更时,应用一组新的公匙建立一个新的redempscript,但管理方法起來会更繁杂。

Mimblewimble区块链技术的安全系数?

Mimblewimble区块链技术取决于2个相辅相成的层面来出示安全系数:Pedersen服务承诺和范畴证实(以EXO范畴证实的方式)。Pedersen服务承诺,比如C(v,k)=(vH k g),出示彻底掩藏和测算管束的服务承诺。

在Mimblewimble中,这代表着具备无尽数学计算的敌人能够明确预留对v',k',令其C(v,k)= C(v',k')在有效的时 间内对... 挑戰时的另一个值(测算关联)。可是,将不太可能明确用以建立服务承诺的特殊对v,k,由于有好几个对能够造成同样的C(彻底掩藏)。

除开范畴证实能够保证 全部值全是正数并且不可以很大(严苛在[0,264-1]范畴内)以外,它还严禁第三方锁住自身的资产,以下一节上述。因为Mimblewimble的服务承诺是完全保密的,使用权没法获得证实,因而所有人都能够试着花销或搞乱这些服务承诺中未应用的钱币。幸运的是,一切新的UTXO都必须范畴证实,而且假如打不开键入服务承诺,则不太可能建立此证实。

范畴证实的必要性

Bulletproof范畴安全防护在保证 区块链技术安全性层面的功效以下所显示。让Ca(v1,k1)变成Alice的“封闭式”键入UTXO服务承诺,一个坏知名演员Bob正在尝试锁住它。Bob了解Mimblewimble区块链技术中的全部服务承诺全是同构的。这代表着他能够在基础理论上把Alice的服务承诺作为键入,并在买卖中建立一个新的反过来的輸出,该买卖的总数相当于0的服务承诺,即(0)。针对此反过来的輸出,Bob将试着以一种使认证买卖的挖矿不容易埋怨的方法向服务承诺提升一个附加的盲目跟风因素kx。

合理的Mimblewimble交易将选用下列方式:

假如Alice未应用的掩藏盲服务承诺为(v1H k1G),且(v2H k2G)的使用价值相当于付款给挖矿的花费⋅H。新创建的服务承诺(v1H (k1 kx)G)一样是Alice和Bob没法承担的,由于她们都不清楚总的失明因素k1 kx。幸运的是,为了更好地依照事务管理认证标准的规定为新輸出(v1H (k1 kx)G)结构Bulletproof范畴证实,务必了解v1和k1 kx的值,不然认证程序流程(即Bob)将没法使诚信的认证程序流程(即miner)坚信v1是是非非负的(即在范畴[0,2n-1]内)。

假如Bob能让Alice坚信她务必建立一个股票基金,让她们2个都是有签字权(2-of-2 multisig),那麼理论上,假如她们一起建立关联(1),就会有很有可能建立需要的Bulletproof范畴证实。

安全性共享资源协议书

好几个参与方相互建立一个涉及到好几个流程的单一事务管理,必须以那样一种方法共享资源信息内容,即他们共享资源的內容不可以对他们不好。每一个流程都必须一个证实,而且不应该在不一样的前后文中播放单独流程的证实。Merlin转录本是完成这一点的协议书完成的一个非常好的事例。为了更好地文中的目地,明确提出了一个简易的资源共享协议书,可以用Merlin基因表达原本完成。

Mimblewimble n-of-n多方Bulletproof UTXO

Mimblewimble事务管理不可以应用P2SH方式的智能化/换取脚本制作,可是能够在客户的钱夹中完成相近的作用。针对n-of-n多方Bulletproof UTXO,将应用Shamir的密秘共享资源计划方案(SSSS)使n-of-n多方进行买卖。SSSS是n方带上一个shard(share)f(i)for i∈{1,…,n}密秘s的一种方式 ,促使随意m方都能够重新构建信息。SSSS的基础观念是能够根据m点绘图无限好几个m次代数式,而m 1点必须界定唯一的m次代数式。图1得出了一个简单化的表明;SSSS应用有限域上的代数式,而有限域在二维平面图上不能表明。

分块将依据Pedersen的可验证密秘共享资源(VSS)计划方案开展分派,该计划方案拓展了SSSS,在该计划方案中,deals着眼于密秘s自身及其共享资源代数式f(x)的指数。这被广播节目给全部多方,每一方都接受相匹配于其密秘分块f(i)的失明因素分块g(i)。这将使多方可以认证其分块是恰当的。

密秘共享资源

我们的朋友Alice,Bob和Carol决策创建2-of-3 的计划方案,使她们中的一切两人都能够受权花销其多方面UTXO。她们还期待可以创建那样一个方案,她们能够实行三轮开支,最终一轮为完毕轮。她们都会想的是怎样以安全性且可重新构建的方法相互共享资源盲目跟风要素。她们听闻过Pedersen的VSS计划方案,并决策应用它。

积放数据信息

多方将各自事先测算三个独享盲因素kn-i并依据Pedersen的VSS计划方案对其开展分块。该计划方案每场必须三个分块元组(kn-party-i,bn-party-i)和三个服务承诺空间向量C2(kparty-1)。(附则C展现了一个独享盲目跟风要素的Alice共享资源分块的实例。)每每共享资源每一个盲目跟风要素的一组信息内容时,彼此都是依照Pedersen VVS协议书中的认证流程,马上认证她们接到的分块的准确性。她们会再次那样做,直至全部信息内容早已设定,准备好并储存在钱夹中才行。

原理

三方创建了最开始的多方面资产买卖和Bulletproof范畴证实,与3-of-3实例完全一致。因此,她们应用在第一轮中事先测算的个人盲目跟风要素。如今当她们决策花销多方面UTXO时,只必须在其中2个就可以。

Bob和Carol决策像之前一样掏钱,因此她们必须在第一轮和第二轮中复建Alice的个人失明要素。因为Alice沒有获得任何东西,因而她不用到场就可以开设个人失明 Carol必须做的輸出UTXO的要素。Bob和Carol因而共享了Alice给他的分块:

她们如今可以复建失明要素并认证对它的服务承诺。假如验证失败,她们会终止协议书,分配与Alice见面与她沟通交流。三者合在一起,她们就能找到错误报告的来源于。

< p> 在这里连击中,她们挑选Bob在创建并进行买卖时饰演Alice的人物角色。Bob可以保证这一点,由于他如今有着Alice的个人失明因素k1-1和k1-2。在意味着Alice搭建签字时,他挑选了一个她不清楚的独享随机数字,因为它仅用以搭建签字,之后再也不能应用。Bob和Carol完成了买卖,让Alice知道这一点并告之她从第二轮刚开始必须持续数次开支。

下一次大家的两个人要用掉她们多方面UTXO的一部分或所有时,她们将反复这种流程,从第二轮刚开始。唯一不一样的是被候选人饰演这一人物角色的人 缺阵的一方;她们务必轮着那样做。

花销协议书

Alice,Bob和Carol如今阅历丰富,能够创建自身的2-of-3 方案,并花销UTXO直至全部资产耗尽。她们早已就简易的开支协议书达成共识,这有利于维持任何人的诚信:

全部多方都务必自始至终了解谁共享资源分块,及其谁在每一个连击中饰演下落不明党的人物角色。因而即便全部参加者都处在脱机工作,也务必自始至终将其包括在全部共享资源通讯中。随后当他们再度变成能用时,她们能够接受这种信息。

假如一切认证流程未取得成功进行,则开支将中断。为了更好地从头开始,多方务必撤销全部未应用的分块,为一部分测算新的分块,随后从头开始。因此全部多方都务必参加。

任何一方不可持续2次饰演缺阵方的人物角色。假如Alice没有,Bob和Carol务必轮着去。

结果,意见与建议

与BTC的较为

由于前言中提及的BTC和Mimblewimble中间的基础差别,及其这里详细介绍的多方面付款计划方案,能够得到下列结果:

挖矿认证

在BTC中,每每启用multisig支付时,挖矿便会认证P2SH multisig赎出脚本制作。除此之外他们还认证事务管理中应用的公匙。

应用Mimblewimble多方面买卖时,挖矿无法验证谁可能是多方面买卖的一部分,仅是买卖自身合乎Mimblewimble基础标准且全部Bulletproof 范畴证实均合理。多方有义务实行基础的开支协议书认证标准。

m-of-n

在BTC和Mimblewimble中,m-of-n买卖全是很有可能的。差别取决于认证标准的运用部位和方法。

安全性

因为挖矿实行认证标准,因而BTC多方面买卖更为安全性。

繁杂

与BTC对比,在Mimblewimble中完成m-of-n多方买卖将涉及到钱夹来储存大量数据信息和完成更智能。Pedersen的VSS计划方案。

建  议

Bulletproof范畴证实

在应用Dalek的Bulletproofs MPC协议书還是Grin的多方面Bulletproof来结构多方面范畴证实中间开展挑选十分关键。虽然应用Dalek的方式 必须开展大量轮次的沟通交流,但证实规格稍大,而且必须对钱币开展上色,但它具备一定的优点。尽管在实行Grin协议书时能够轻轻松松地提高后面一种,但在实行协议书时,它的钱夹可重新构建性和资源共享安全系数都胜于敌人。

应用性

建议的Mimblewimble多方面Bulletproof UTXO事实上能够在n-of-n 和 m-of-n的状况下完成。

资源共享协议书

这儿提议的简易共享资源协议书很有可能必须大量的工作中才可以使其达到最佳情况。

股票资讯