The Sumcheck
The sumcheck protocol, due originally to Lund, Fortnow, Karloff, and Nisan [LFKN92], is a key building block for us.
To explain the sumcheck, we fix a multivariate polynomial, say (generally not multilinear). The goal of the sumcheck is to reduce a sum claim, i.e. a claim of the form
to an evaluation claim, instead of the form:
Here, will be a point sampled randomly during the course of the sumcheck.
This reduction represents progress, since while the first claim above had to do with 's values at many points (the entire cube), the second has to do just with 's value at a single point (namely ). As we will see below, evaluation claims of this latter sort will be treatable directly at the hands of our PCS.
The Protocol
Here's the protocol. As above, we have a fixed multivariate polynomial , and a claimed sum . The protocol is interactive, and proceeds over rounds.
- For each round index ,
- The prover computes the round polynomial and sends to the verifier (say, by sending its evaluations on sufficiently many points).
- The verifier checks whether .
- The verifier samples a random challenge and sends it to the prover. Moreover, the verifier updates its running sum claim:
- At the very end, the verifier outputs the evaluation claim .
Security Proof
Let's write for the maximum individual degree attained by any of the indeterminates in .
As of the beginning of each given round , the running sum claim
either will be true or won't. Let's assume that it isn't true.
Now the prover's round polynomial either will or won't equal the "prescribed" univariate polynomial
If the prover sends the right , then the verifier will reject outright: indeed, in this case, under our hypothesis that the th round claim is false,
will hold, so the verifier will reject its check and abort. The first inequality above is our hypothesis whereby the running sum claim is false. The second equality comes from the definition of . The third equality comes from our hypothesis .
On the other hand, if , then by basic univariate Schwartz–Zippel, will hold with probability at most over the verifier's choice of . As long as this unlucky equality doesn't happen, we obtain:
In other words, the "wrongness" of the prover's round- sum claim will be propagated to the next round .
If the prover's initial round claim is wrong, then, carrying this argument through all rounds, we conclude that that wrongness will propagate with high probability into the final inequality , which is what we need to show. The soundness error is at most .
Implementation Considerations
In practice, the efficient prover algorithms for the sumcheck demand that be not just arbitrary, but rather a composition of multilinear polynomials. The content here is too complicated to survey directly, but we can refer to Thaler [Tha23, § 4.1] for a starting point, as well as to Chiesa, Fedele, Fenzi and Zitek-Estrada [CFFZE24] for some more recent ideas.