Source: Proofs, Arguments, and Zero-Knowledge, Section 4.6.

An IP for general-purpose computation due to Goldwasser, Kalai, and Rothblum (2008).

The Setting

We assume the computation in a layered arithmetic circuit of low depth (as verification time will be linear in the depth of the circuit).

Notation:

  • Layers are numbered from (output layer) to
  • At each layer, there are gates
  • denotes the functions that maps binary gate label in layer to its output
  • Wiring predicates and are functions that map one gate label of layer and two of layer to a iff. they correspond to the two inputs and one output of an addition or multiplication, respectively

The protocol

can be explicitly expressed as follows:

This follows from the fact that multilinear extensions are unique and that the right-hand side is a multilinear polynomial.

Now, the algorithm is as follows:

  • The prover provides the claimed output, from which the verifier can reconstruct the claimed polynomial
  • The verifier can test for equality at a random point by applying the Multivariate Sum-Check Protocol to the expression above
  • At the end of the sum-check protocol, the verifier needs to evaluate , , and at a random point. For the wiring predicates, we assume that this can be done efficiently.
  • For the evaluation of at two random points, we apply a reduction to one point Reducing Multiple Evaluations to One
  • In the final layer, is simply the multilinear extension provided by the prover (i.e., all inputs are public)

In more detail:

Runtimes & Soundness errors

Communication cost: Verifier cost: , where is the time needed for all evaluations of the wiring predicates

  • in for many common wiring patterns, including matrix multiplication, Fast Fourier Transforms, distinct elements, …
  • However, there is no clean categorization of when this is the case
  • If it’s not possible, one can resort to polynomial commitment schemes, resulting in an argument instead of an interactive proof Prover cost: Analogous to the cost analysis in Super-Efficient IP for Matrix Multiplication, we can exploit the fact that wiring predicates are sparse Soundness error:
  • If the claimed output does not equal the actual output, in at least one round, the prover must have sent a polynomial that is different from the one the honest prover would have sent
  • The probability of this being undetected is , by the Schwartz-Zippel Lemma