powersoftau,采用MPC以及随机Beacon,完成可信设置。通过POK算法实现可验证的密钥对,并建立和上一个参与方计算结果的绑定。参与可信设置的人数可扩展,并且参与方只需要按照顺序一个个的进行指定的计算即可。协调方在接收到某个参与方的计算后,验证后,发送给下一个参与方。
zk-SNARK 是如何实现零知识证明的
PLONK算法的电路采用新的描述模型。整个电路由门电路约束和Copy约束(连线约束)组成。门电路约束和Copy约束都转换为多项式表达。Copy约束通过累加算法实现。
Zkopru利用零知识证明在以太坊上实现layer2隐私交易的新方案
通过本文,我们想要分享我们与区块链开发者乃至整个区块链社区进行可扩展性研究所得出的成果。我们相信,本文将帮助大家了解零知识证明和二层可扩展性方案的潜力,同时更深入地理解这些技术
利用Groth16计算证明之前,需要计算出H。目前,普遍采用的是FFT算法。
在接下来一个系列的文章中将为你一一介绍,从零知识证明的概念一直到零知识证明背后的密码学实现。
本文将构建一个zk-dApp(零知识证明 DApp),以证明用户是否属于某个特定组,而无需透露用户具体是谁。
本教程是circom 和 snarkjs 最经典的入门文章
19年底360安全发布的一篇有关零知识证明安全的文章。这篇文章是Zhiniang Peng在PacSec2019大会发言的总结。文章框架性地介绍零知识证明zk-SNARK的知识,并给出了一些安全提示和思考。
不知不觉,写了不少零知识证明相关的文章,单独总结成列表。方便对零知识证明感兴趣的小伙伴,学习开发。零知识证明,乃至区块链技术,需要学习,深入研究的东西太多太多了。零知识证明学习入门...
libsnark库代码层次非常清晰。libsnark也给出了SNARK相关算法的全貌,各种Relation,Language,Proof System。为了更好的生成R1CS电路,libsnark抽象出protoboard和gadget,方便开发者快速搭建...
理解为什么以及如何基于多项式构造零知识证明,这篇文章讲的比较清楚。虽然文章只讲到了皮诺曹协议,但是足够理解基于多项式构造零知识证明的本质。想深入零知识证明的小伙伴都建议看看。
ht...
几种通用的zk-SNARKs 实现的比较
作为本系列的最后一篇文章,本文继续对 zk-SNARK 协议进行完善,最终形成一个完整的 zk-SNARK 协议
上一篇文章中我们学习了如何将程序转换为多项式进行证明。到这里似乎已经有点晕了,本文将对协议执行进一步的约束,并对协议展开优化。
前文主要介绍了如何构造多项式的零知识证明协议,现在将开始探讨如何构造更通用的协议。本节主要是讲如何将一组计算的证明转换为多项式进行证明。本文重点主要包括:多项式的算术性质,多项式插值等。
有限域上的椭圆曲线是零知识证明的基础。零知识的实现是基于离散对数问题。从计算的角度来看,F_p是个有限域,在之基础上建立的椭圆曲线点的运算都是在这个域范围内。有限域上的椭圆曲线上有很多循环子群F_r,具有加法同态的特性。离散对数问题指的是,在循环子群上已知两点,却很难知道两点的标量。
相信看完前一篇文章的朋友们会有一点很不解的地方:为什么我们可以如此简短的创建一个证明,并且证明很长的信息呢?在上课前我也有这同样的疑惑,甚至觉得这个是一个“黑科技”,不过相信大家看完这篇文章,就会知道如何去驾驭这个“黑科技”了。
探索零知识证明系列(五)