57 - Nudging closer to understanding R1CS and Zero-knowledge proofs
Today I figured out the role of most of the prover’s polynomials in the first ZKHacks III puzzle:
- $f$: The original polynomial that the prover wants to evaluate for.
- $s$: The masking polynomial which helps the prover achieve zero-knowledge. So the prover and verifier perform sum-check with the virtual oracle $p \coloneqq c \cdot f + s$.
- $h$: A polynomial from R1CS that is multiplied by the vanishing polynomial $\mathbb{Z}_H$. I.e. $\hat{z}_A(X) \cdot \hat{z}_B(X) − \hat{z}_C(X) = h(X) \cdot \mathbb{Z}_H (X)$
- $g$: The first term in the decomposition of the oracle $\hat{p} = \hat{g} + \mathbb{Z}_H \cdot \hat{h}$.
Now that I understand this I need to calculate each of the terms and implement them in the prover.
I'm a freelance software developer located in Denver, Colorado. If you're
interested in working together or would just like to say hi you can reach me
at me@
this domain.