Loopring开启了zkSNARK可信设置的多⽅计算仪式,可信设置分为两个阶段,路印开启的是第⼆个阶段的可信设置。 背景介绍 Loopring使⽤的libsnark中零知识证明的算法是Groth16,Groth16分为证明和...
本文标题路印协议zkSNARK可信设置的多方计算仪式,作者:知世,本文有504个文字,大小约为3KB,预计阅读时间2分钟,请您欣赏。知世金融网众多优秀文章,如果想要浏览更多相关文章,请使用网站导航的搜索进行搜索。本站虽然不乏优秀之作,但仅作为投资者学习参考。
Loopring开启了zkSNARK可信设置的多⽅计算仪式,可信设置分为两个阶段,路印开启的是第⼆个阶段的可信设置。
背景介绍
Loopring使⽤的libsnark中零知识证明的算法是Groth16,Groth16分为证明和验证两步:
证明者需要计算以下三个多项式:
验证者需要验证以下等式相等:
这其中需要⼀些公共参数,也称为有毒废料:
但是这些参数是要丢弃的,否则就可以伪造证明,协议的安全性就没法保证了。
如果项⽬方自己⽣成这些参数然后宣称丢弃了这些参数,很难说服他⼈真的丢弃了,可信设置就是多个参与⽅⼀起设置这些公共参数,只要任意⼀⽅丢弃了参数,整个协议就安全了。
可信设置的两个阶段
可信设置有两个阶段,第一阶段是永续Tau(τ)计算,这⼀阶段的计算结果可被多个使⽤零知识证明的项目共享,路印也参与了这个阶段的计算并丢弃了有毒废料。
第⼆阶段是在第一阶段的基础上,生成电路相关的参数。
第一阶段
第⼀阶段计算的参数如下:
第二阶段
第⼆阶段是⽣成与电路相关的参数:
可信设置如何做到可信
⽐如公共参数中有椭圆曲线G1上的点α,假设初始⽣成点为G ,现在有两个参与者Alice和Bob以及协调者:
Alice选择⼀个随机数α1并且计算 ο1=α1*G,
Bob选择⼀个随机数α2并且计算 ο2=α2*ο1= (α1α2)*G,
协调者根据Beacon选择一个随机值α3,计算 α=α3*ο2= (α1α2α3)*G.
根据椭圆曲线的性质,知道最终的点α和初始生成点G,是无法得到α1α2α3,只要任何⼀个参与者丢掉了自己的随机值αi,这样最终的α任何人都不知道怎么产生的,协议就安全了。
每个阶段的最后都需要引入Beacon选择随机值,因为有可能有的参与者会精心选择一个随机值控制中间的计算结果,加入Beacon可以解决这种问题。
Beacon一般选择还未到来的比特币区块的hash,Loopring在开启第二阶段之前就已经公布了将要使用比特币高度602168的hash作为Beacon,选取第一阶段的第11个结果使用Beacon计算第一阶段的参数。
本文相关推荐: 安全多方计算
以上便是知世金融网给大家分享的关于路印协议zkSNARK可信设置的多方计算仪式/qkl/28521.html的相关信息了,希望能帮助到大家,更多金融相关信息,敬请关注知世金融网!
网站内容均来自互联网,如侵害您的利益联系客服进行删除!
上一篇:BCH双花成功率极低——零确认交易安全性高达99.9%
下一篇:【万向区块链蜂巢学院公开课】:密码战争,区块链技术之路
本文标题:路印协议zkSNARK可信设置的多方计算仪式
本文地址:/index.php?s=article&c=search&keyword=%E5%A4%9A%E6%96%B9