暂无介绍
本文介绍Sigma协议的交互和非交互性质,简单明了,介绍了零知识证明中常用的Fiat-Shamir变换
在任意的零知识证明系统中,都有一个 prover 在不泄漏任何额外信息的前提下要让 verifier 确信某些陈述(Statement)是正确的。ZK-SNARK目前应用较多,有不少成熟的库,如libsnark,bellman等.
本文描述了累加器的概念和性质,具体说明RSA累加器实现过程。可以看出Accumulator具有一些比merkle证明有优势的地方,比如聚合证明,证明大小不随着集合元素的增加而增加等。 实际应用实现中RSA累加器还会有一些前置处理操作,比如将原始数据映射到选定素数域上的值等。
PlonK算法实现了Universal的零知识证明。SRS只需要提供比多项式阶高的可信设置即可。PlonK电路采用特殊描述,一个门只支持乘法和加法操作。电路需要证明门的输入输出满足外,还需要证明连线的连接关系。PlonK算法的底层原理是多项式承诺。PlonK算法巧妙地将电路的满足关系通过多项式承诺进行证明并验证。
powersoftau,采用MPC以及随机Beacon,完成可信设置。通过POK算法实现可验证的密钥对,并建立和上一个参与方计算结果的绑定。参与可信设置的人数可扩展,并且参与方只需要按照顺序一个个的进行指定的计算即可。协调方在接收到某个参与方的计算后,验证后,发送给下一个参与方。
zkSync采用PlonK零知识证明系统。在电路设计上,非常巧妙的将交易分割成一个个小的通用处理单元(Operation)。一个Operation对应的证明电路逻辑支持所有可能交易的Operation逻辑。多个有关联的Operation电路组成交易电路。多个交易的电路再组合成区块电路。从而,在固定大小的区块中也能包含不同组合的交易。
zk-SNARK 是如何实现零知识证明的
zkSync通过zk Rollup协议,实现了L2的转账。zkSync项目非常完整,是学习L2非常好的参考项目。zkSync采用Plonk零知识证明算法向L1证明状态的正确性。Plonk算法是Universal的零知识证明算法,只需要一次可信设置。zkSync电路设计采用Chunk设计,支持不同的区块大小。
PLONK算法的电路采用新的描述模型。整个电路由门电路约束和Copy约束(连线约束)组成。门电路约束和Copy约束都转换为多项式表达。Copy约束通过累加算法实现。
Zkopru利用零知识证明在以太坊上实现layer2隐私交易的新方案
通过本文,我们想要分享我们与区块链开发者乃至整个区块链社区进行可扩展性研究所得出的成果。我们相信,本文将帮助大家了解零知识证明和二层可扩展性方案的潜力,同时更深入地理解这些技术
利用Groth16计算证明之前,需要计算出H。目前,普遍采用的是FFT算法。
在接下来一个系列的文章中将为你一一介绍,从零知识证明的概念一直到零知识证明背后的密码学实现。
17年出现了一款非常火爆的Dapp应用叫加密猫,加密猫曾造成以太坊主网大规模的拥堵,造成拥堵的原因是以太坊当时的TPS只有15,这意味着以太坊每秒只能处理15笔交易,如此低的TPS严重限制了区块链应用的大规模落地,所以有人开始研究区块链扩容的问题,目的就是为了提高链上的TPS。zkRollup就是基于零知识证明的二层扩容方案(layer2)。
本文将构建一个zk-dApp(零知识证明 DApp),以证明用户是否属于某个特定组,而无需透露用户具体是谁。
2228 回答,2125赞同
0 回答,813赞同
0 回答,110赞同
1 回答,109赞同
0 回答,98赞同
1 回答,85赞同
0 回答,85赞同
0 回答,76赞同
0 回答,69赞同
0 回答,65赞同