Zerocheck Review
We use this space to review the basic zerocheck, just so that we can refer to it later. Here, we generally want to fix a column height parameter , and an -variate polynomial (not necessarily multilinear!).
The Mathematical Premise
The thing the verifier wants to ensure is that, for each cube point , . In other words, the restriction of to the cube is identically zero (hence the name zerocheck).
The funamental mathematical idea of the zerocheck is that vanishes on the cube if and only if its multilinear extension also does. In fact, more is true:
- Completeness. If vanishes identically on the cube, then vanishes everywhere on .
- Soundness. If doesn't vanish identically on the cube, then vanishes almost nowhere; i.e., it vanishes on a proportion consisting of at most among 's points.
Thus it's complete and sound for the verifier to sample a random , and check whether .
The Sumcheck
How can the verifier do this efficiently? The trick is to write down a polynomial expression for . We've already seen how to construct multilinear extensions:
We now see that the verifier's main question in turn amounts to the sum claim
This is exactly the kind of thing we can sumcheck; indeed, by sumchecking the multivariate product
the verifier may reduce the above sum claim to two evaluation claims at some random point —namely, to claims about the evaluations and . To resolve the first of these, the verifier may simply query directly. To resolve the second, the verifier may compute locally (since the equality indicator polynomial is transparent!).