说说zk-snark的PGHR13算法和Groth16算法的异同

建议

建议读者在阅读本篇分享时,要具备以下知识储备:
1. 算数环路的基本概念及数学模型
2. QAP的原理
3. 零知识证明的基本思想
4. PGHR13算法的数学原理
5. Groth16算法的数学原理

目的

本篇分享主要针对零知识证明的两个主流算法,PGHR13和Groth16算法进行了相同点和异同点的分析。主要是个人的理解,如有错位,还请热心读者批评指正,先谢过^_^

对比分析

主要从以下几点做了比较:
1. 算法结构上
	(1)  CRS size
	(2)  Proof Size
	(3)  Proof Complex
	(4)  Verify Size
	(5)  Verify Complex
	(6)  Verify equality nums
2. 算法思想上
	(1)  QAP多项式的结构及意义
	(2)  如何隐藏witness,即隐私输入
	(3)  如何保证在隐私输入不被暴露的情况下,保证多项式因子的正确性及等式成立。
3. 具体的内容如下图所示:

说说zk-snark的PGHR13算法和Groth16算法的异同_第1张图片

总结

PGHR13和Groth16作为zk-snark的主流算法,其思想基本相同,可以简单概括为:
	Computational statement => Arithmetic circuits => R1CS => QAP => ?
对于QAP的多项式的后续验证处理,虽然两者在数学上形式有所不同,但是其思想基本一致。

你可能感兴趣的:(zk-snark)