接之前博客qesa——零知识证明,需要trusted setup。
1. qesa的Inner product argument (IPA)
2019年论文《Efficient zero-knowledge arguments in the discrete log setting,revisited (Full version)》第四章:
在protocol 3.9基础上,以k=2为例(k取2值可最小化交互信息量),[A]w=[t]可转化为以点积(inner product)方式表示为:
<[A],w>=[t]。
根据protocol 3.9第二步,prover仅需给verifier传递[u±1]=<[Ai],wj>(其中j−i=±1)。

k=2时,[A]=(A0A1),w=(w0w1),如需证明<[A],w>=[A]w=t=A0w0+A1w1,在第三步和第四步,引入了challeng x=(1,ξ),y=(ξ,1),改为证明:
t′=<x[A],yw>=(A0+ξA1)(ξw0+w1)=ξ(A0w0+A1w1)+ξ2A1w0+A0w1=ξt+ξ2<A1,w0>+<A0,w1>=ξt+ξ2u−1+u1。
2. Bulletproofs的Inner-product argument
2017年论文Bulletproofs: Short Proofs for Confidential Transactions and More第三章,分别取的是x=(ξ,ξ−1),y=(ξ−1,ξ)。
参考资料:
[1] 2019年论文《Efficient zero-knowledge arguments in the discrete log setting,revisited (Full version)》
[2] https://github.com/topics/zero-knowledge?o=desc&s=stars
[3] 博客Inner Product点积的零知识证明
[4] 2017年论文Bulletproofs: Short Proofs for Confidential Transactions and More