Paper

Algebraic Methods for Interactive Proof Systems
Authors: Carsten Lund, Lance Fortnow, Howard Karloff, Noam Nisan
Date: 1992

  • One of the most important Interactive Proofs for verifying the sum of a multi-variate polynomial over the Boolean Hypercube
  • Prover’s perspective: allows the Prover to prove to the Verifier that the sum is correct
  • Verifier’s perspective: allows the Verifier to reduce its computation when calculating the sum by trustlessly delegating the computation to a Prover

Overview

  • Allows the Prover to convince the Verifier that a multivariate polynomial sum over the Boolean Hypercube with a claimed sum . i.e.:
      • Where:
        • is the claimed sum
        • is the true sum
        • is a -variate polynomial defined over a finite field
    • Alternatively:
    • Reduces the claim to a form for random
  • Prover doesn’t need to perform FFT or commit to other polynomials
  • rounds are needed for a -variate polynomial
  • The protocol is unconditionally secure without any crypto assumption is low-degree (which defines the soundness error)

Sum-Check works for any

Sum-Check actually works for any . But we are mostly just concerned with and thus the degree of each variable is 2 (i.e. )

Purpose

  • reduce the Verifier’s work from to

Notation: T

time for 1 evaluation of

Applications

Zero Testing

  • in ZKP, a typical example is:
    • Prover has multilinear polynomial
    • Verfier has
    • Prover wants to prove:
  • rather than using univariate Zero Quotient testing, Prover doesn’t have to perform FFT or commit to other polynomials

Protocol

Round

Intuition

Prover calculates and send the claimed sum.

  1. Prover:
    • send value
    • claimed

Round

Overview

The prover computes over the Boolean Hypercube except leaving the 1st variable open. Then let the Verifier evaluate .

1. Prover:

  • sends , which is a univariate polynomial
  • claims
    • where:
      • is defined such that
        • i.e. is the summation of over Boolean Hypercube for all variables except which is equal to

Implementation Optimization

1. Prover can send in a few ways:

  1. send the coefficients of the polynomials (i.e. send coefficients)
  2. (more efficient) send evaluations of the polynomial at points (e.g. -1, 0, 1) so that the verifier can evaluate efficiently

2. Prover doesn’t need to send since it can be inferred

Verifier: - checks: 1. 2. is a univariate polynomial of degree - sends a random element

Round where

Overview

Prover replace from previous round with random numbers given by the Verifier. Then the Prover leave the current open and computes over the Boolean Hypercube with the rest of . The Verifier evaluate the current .

  1. Prover:
    • sends
    • claims
      • where
  2. Verifier:
    • checks:
      1. is a univariate polynomial of degree
    • sends a random element

What does the Verifier actually know?

Verifier doesn’t actually know that at this point. Verifier only knows that the Prover has been consistent with throughout the rounds.

Round (last round)

  1. Prover:
    1. send
    2. claim
      • where
  2. Verifier:
    1. checks:
      1. is a univariate polynomial of degree
    2. select a random element
    3. checks

Why does Verifier need the evaluation of ?

The Verifier only knows the Prover has been consistent with in previous rounds. By checking the evaluation of , the Verifier finally know that from the Prover is the claimed .

Evaluating

For the Verifier to get the evaluation of , the Verifier use one of these methods:

  1. oracle access to
  2. can compute efficiently
  3. ask the Prover where the Prover will subsequently prove the claim is correct via further applications of sum-check

Security

Completeness error

Proof

  • If the Prover is honest, then the Verifier will always accept when following the protocol

Soundness error

Proof

  • based on Schwartz-Zippel Lemma
  • If the Prover is dishonest, the Prover prove but
  • To do this, the Prover must send a yet .
  • For each round, this has the probability .
  • With rounds in the protocol, the total probability is

Costs

Tip

  • for a -variate polynomial,
  • In SNARK application, = number of terms being summed = circuit size
    • Thus

Prover Time

Verifier Time

  • , since is constant for a multivariate polynomial and is constant
  • O(T), since is usually small and can be ignored

Number of Rounds

  • 1 round per variable in
  • Total rounds

Communication / Proof Size

  • For each round, Prover sends a univariate polynomials represented by field elements
  • For rounds, the total is
  • Thus it is
  • Since is constant for a multilinear polynomial, it is

Non-interactive Implementation

To transform the sum-check protocol to non-interactive often requires applying the Fiat-Shamir transformation, which requires a hash function. Even though this is a overhead, it can still be a large constant.

Optimization

Prover Doesn’t Send Polynomial to Verifier (HyperPlonk)

Benefits and Characteristics

  • no commitments necessary
    • avoid commitment costs which can be high
  • sized proofs
    • although it’s not constant sized, but if using a hashing-based commitment scheme like FRI which is anyways, then sum-check protocol doesn’t add any extra costs

Sum-Check-Based SNARKs

  • Spartan20
  • Brakedown21
  • Orion22
  • HyperPlonk23
  • BaseFold24
  • Blaze2
  • Losum - a KZG-based sum-check scheme

Sum-Check-Based Lookups

  • Locq24 - based on Losum

Resources