AdamISZ / from0k2bp

From Zero (Knowledge) to Bulletproofs - writeup
157 stars 16 forks source link

Bulletproofs inner product argument needs four transcripts per step #20

Open uncomputable opened 1 year ago

uncomputable commented 1 year ago

To prove knowledge soundness of the Bulletproofs inner product argument, I think you need four transcripts per step: Three transcripts are used to compute the vectors a, a_L, etc. Then, we arrange these vectors in a cubic polynomial over (x_i)^2 and show that it is the zero polynomial (using four transcripts). This implies that half of the a_L and a_R vectors is zero and the other half is equal to a.

uncomputable commented 1 year ago

You could use the Schwartz-Zippel lemma to argue that a non-zero polynomial is exponentially likely to be zero at a random point, so it must be the zero polynomial, but the authors of the original Bulletproofs paper chose not to do that. At this point my argument that you absolutely need four transcripts falls apart, but there should at least be a discussion in the write-up. Paying one extra transcript to use the (100% certain) fundamental theorem of algebra instead of the probabilistic Schwartz-Zippel lemma might also be worth it.