Sumcheck API Documentation
Overview
The Sumcheck protocol allows a Prover to prove to a Verifier that the sum of a multilinear polynomial, over the Boolean hypercube, equals a specific scalar value.
For a polynomial with variables, the Prover aims to prove that:
where is some scalar.
The proof is constructed interactively, involving a series of rounds. Each round consists of a challenge (from the Verifier), a computation (from the Prover), and a verification step (by the Verifier). Using a Fiat-Shamir (FS) scheme, the proof becomes non-interactive, enabling the Prover to generate the entire proof and send it to the Verifier for validation.
Sumcheck with Combine Function
The Sumcheck protocol can be generalized to handle multiple multilinear polynomials. In this case, assuming there are polynomials of variables, and is an arbitrary function that takes these polynomials and returns a polynomial of equal or higher degree, the Prover tries to prove that: