Sources:

Use-case: In Spartan, we need to commit to the sparse R1CS matrices, which are of size , but only have non-zero entries. They achieve a quadratic speed-up over using a dense commitment scheme.

Representing sparse polynomials with dense polynomials: Any -variate multilinear polynomial can be written as:

where is the unique multi-linear extension of the equality function on the boolean hypercube:

is the Lagrange polynomial on . We can factor it into two Langrange polynomials over :

Let be the function that maps a field element to its bit representation. Then, we can write:

for some -variate polynomials , , and .

Commitment phase: The prover commits to dense polynomials , , and .

Evaluation proof:

  • The prover sends the claimed evaluation of
  • The prover commits to two -variate helper polynomials and , such that:
  • Prover and verifier run the Multivariate Sum-Check Protocol to check that:
  • To show that and are well-formed, the prover and verifier run the an interactive protocol derived from the Offline Memory Checking technique.
    • For example, to show that is well-formed, we show that it corresponds to the vector obtained by reading from a memory described by using addresses described by .

Generalizing: The reason we factored the Lagrange polynomials over into two Lagrange polynomials over is because . In general, we could split it into any number of polynomials where .