回顾一下上一节Verifier的验证工作,这里有几个预计算的量

$$ \begin{aligned} &r'(X)=r(X)-r_0\\ &[D]_1=[r']_1+u[z]_1\\ &[E]_1=(-r_0+v\bar a+v^2\bar b+v^3\bar c+v^4\bar s_{\sigma1}+v^5\bar s_{\sigma2})\cdot [1]_1\\ &[F]_1=[D]_1+v\cdot [a]_1+v^2\cdot [b]_1+v^3\cdot [c]_1+v^4\cdot [s_{\sigma1}]_1+v^5\cdot [s_{\sigma2}]_1 \end{aligned} \tag 1 $$

看一下上一篇文章最后的验证等式

$$ e([W_z]_1+u\cdot [W_{z\omega}]_1,[x]_2)=e(z\cdot [W_z]_1+uz\omega[W_{z\omega}]_1+[F]_1-[E]_1,[1]_2) $$

这里为了方便,将等式左侧简记为$L$,右侧简记为$R$,若验证通过则意味着有$L=R$,然后利用之前化简为除的思想,$L=R$等价于$\frac{L}{R}=1$,故原本的验证等式可以转化为

$$ \frac{e([W_z]_1+u\cdot [W_{z\omega}]_1,[x]_2)}{e(z\cdot [W_z]_1+uz\omega[W_{z\omega}]_1+[F]_1-[E]_1,[1]_2) }=1 $$

整个过程都在曲线上,通过双线性对完成验证,但是上面这些方括号看的很头大,为了便于理解,我们把方括号去掉,式(1)就变成了如下(字母上不带横杠的就是多项式承诺,带横杠的就是在点$z$处的揭示值)

$$ \begin{aligned} &D(x)=r(x)-r_0+u\cdot z(x)\\ &E=-r_0+v\bar a+v^2\bar b+v^3\bar c+v^4\bar s_{\sigma1}+v^5\bar s_{\sigma2}\\ &F(x)=D(x)+v\cdot a(x)+v^2\cdot b(x)+v^3\cdot c(x)+v^4\cdot s_{\sigma1}(x)+v^5\cdot s_{\sigma2}(x) \end{aligned} \tag 2 $$

然后来看验证等式的左侧,根据双线性配对的性质,先对其做一个变形,把第二源群中的$x$放到第一源群中

$$ e([W_z]_1+u\cdot [W_{z\omega}]_1,[x]_2)=e(x\cdot [W_z]_1+ux\cdot [W_{z\omega}]_1,[1]_2) $$

接下来将其分为$L_1,L_2$两个部分,分别代表第一和第二源群中的点,由于第二源群已经是单位点,这里我们主要考虑$L_1$,同样的把方括号去掉,得到

$$ \begin{aligned} L_1&=x\cdot W_z(x)+ux\cdot W_{z\omega}(x) \end{aligned}\tag 3 $$

同理,将验证等式右侧分为$R_1,R_2$两部分,同样关注$R_1$

$$ \begin{aligned} R_1&=z\cdot W_z(x)+uz\omega\cdot W_{z\omega}(x)+F(x)-E\\ \end{aligned} \tag 4 $$

上面我们将验证等式两侧做比$\frac{L}{R}$,等价于配对中对应的部分做差,对于第一源群就是$L_1-R_1$,也即式(3)-式(4),得到

$$ \begin{aligned} L_1-R_1&=x\cdot W_z(x)+ux\cdot W_{z\omega}(x)-z\cdot W_z(x)-uz\omega\cdot W_{z\omega}(x)+E-F(x)\\ &=(x-z)\cdot W_z(x)+u\cdot (x-z\omega)\cdot W_{z\omega}(x)+E-F(x) \end{aligned}\tag 5 $$

根据上一篇文章提到的,这里将$W_z(X),W_{z\omega}(X)$展开,得到

$$ \begin{aligned} W_z(X)&=\frac{1}{X-z} \cdot \big [r(X)+ v(a(X)-\bar a) + v^2(b(X)-\bar b) + v^3(c(X)-\bar c) + v^4(S_{\sigma1}(X)-\bar s_{\sigma1}) + v^5(S_{\sigma2}(X)-\bar s_{\sigma2}) \big ]\\ W_{z\omega}(X)&= \frac{z(X)-\bar z_\omega}{X-z\omega} \end{aligned} $$

带入式(5),得

$$ \begin{aligned} L_1-R_1&= \big [r(X)+ v(a(X)-\bar a) + v^2(b(X)-\bar b) + v^3(c(X)-\bar c) + v^4(S_{\sigma1}(X)-\bar s_{\sigma1}) + v^5(S_{\sigma2}(X)-\bar s_{\sigma2}) \big ]+z(X)-\bar z_\omega+E-F(x) \end{aligned} $$

最后再把(1)中的$E,F(x)$带入,就全部消掉了,也即$L_1-R_1=0$,从而得到$\frac{L}{R}=1$,验证等式成立

就到这里吧,安全性回头再看看

Reference

$[1]$ Ariel Gabizon, Zachary J. Williamson, Oana Ciobotaru:PLONK: Permutations over Lagrange-bases for Oecumenical Noninteractive arguments of Knowledge. IACR Cryptol. ePrint Arch. 2019: 953 (2019) ($[eprint lin]$(https://eprint.iacr.org/2019/953)