前序博客有:
Polygon zkEVM中主要设计了3种子约束系统:
1)Permutation check子约束系统:PIL中的关键字为is。


2)Plookup 子约束系统:PIL中的关键字为in。


3)Connection check(Copy constraint)子约束系统:PIL中的关键字为connect。


所谓grand product check,是指:
在PLONK论文中指出,当 H H H为a multiplicative subgroup时,可高效实现相应证明。
此文讨论的长为 n n n的vector a ⃗ \vec{a} a,在协议的实际实现中,均为Prover会对多项式 f f f进行commit,其中 f ( x i ) = a i f(x_i)=a_i f(xi)=ai。
PLOOKUP的核心技术为:
借助少量的randomness,可将grand product check 转换为更强大的primitive——the multiset equality check:
如 ( 1 , 1 , 2 , 3 ) (1,1,2,3) (1,1,2,3) 与 ( 2 , 1 , 1 , 3 ) (2,1,1,3) (2,1,1,3) 是multiset-equal的,但是与 ( 1 , 2 , 3 , 3 ) (1,2,3,3) (1,2,3,3)或 ( 1 , 1 , 2 , 4 ) (1,1,2,4) (1,1,2,4)都不是 multiset-equal的。
电路证明中常用到permutation check,用于证明电路中门之间wires赋值的一致性(establishes the consistency of the assignment of wires to gates)。
Permutation是指:
根据Plookup论文,相应的Plookup子约束系统证明系统为:

根据Plonk论文可知,Permutation check约束子系统证明系统为:

Permutation check约束子系统 为 Connection check(Copy constraint)约束子系统的特例情况,Connection check(Copy constraint)约束子系统 更具有通用性。
[1] How PLONK Works: Part 1
[2] How PLONK Works: Part 2