Skip to content

Latest commit

 

History

History
16 lines (8 loc) · 1.82 KB

plonky2.md

File metadata and controls

16 lines (8 loc) · 1.82 KB

Plonky2 是一个生成零知识证明(ZKP)的证明系统。 Plonky2 能够释放 SNARKS 和 STARK(零知识证明的两种主要类型)的扩展优势。在这篇文章中,我们将深入探讨 Plonky2 如何增强性能并创造更广泛的实施可能性。

稍后我们将详细介绍“递归”的含义。首先我们要认识到,每个零知识证明系统都有两个基本组成部分。第一种是在运算电路内部编写程序的方法。第二个组成部分是多项式承诺方案(PCS)。这是密码学工具包,可以让我们的证明变得简洁。

许多 ZK rollups 使用 KZG 作为他们的承诺方案。 KZG 的一个问题是生成的有限域是基于椭圆曲线的,而椭圆曲线密码学在很多方面都有限制。一方面,以太坊本身并不支持最有效的递归椭圆曲线。此外,椭圆曲线需要使用较大的有限域(至少 256 位),这在现代 CPU 上效率较低

Polygon Zero 没有选择 KZG 或其他典型的 SNARK 承诺方案,而是选择了 FRI,即通常与 STARK 相关的承诺方案。

在速度方面,FRI 提供了一个有趣的权衡:它允许快速证明生成时间,但生成的证明非常大。而且将大型证明发布到以太坊主网的成本很高(而且很麻烦)。 FRI 也可以生成非常小的证明,但速度较慢。当速度很重要时,Plonky2 使用大型证明;当大小很重要时,Plonky2 使用小型证明。递归中的所有步骤都使用不同的参数来优化给定的校样层。因此,Plonky2 充分利用了 FRI 中独特的时空权衡。正是这种灵活性使得 Plonky2 在一系列实现中非常有用。

参考

https://snowolf0620.xyz/index.php/zkp/772.html

FRI协议 主要用于检查一个点集是否都在一个给定的多项式上