Source: Proofs, Arguments, and Zero-Knowledge, chapter 8

Warm-up: Clover (BTVW14)

Achieves a verification time independent of the circuit depth!

Idea: Instead of committing to the witness, commit to the full transcript, i.e., the evaluation of every single gate in the circuit Higher commitment cost than GKR

  • The prover claims to “hold” an extension of a correct transcript.
  • For a circuit of gates, let’s define which takes 3 gate labels as inputs and output iff.:
    • : has and as inputs and is an addition / multiplication gate
    • : gate is either a gate from the circuit input and or one of the output gates, and gates and are the inputs to
  • Also, with if is an input gate, if is an output gate, and otherwise
  • Then, is a correct transcript iff. the following function vanishes on the boolean hypercube: Apply the Multivariate Zero Check Protocol
  • To evaluate at 3 random inputs, the verifier can reduce to one point (see Reducing Multiple Evaluations to One) and then query the second prover (i.e., request an evaluation prove from the PCS) Possible to implement prover in time

Spartan (Setty, 20)

An R1CS instance is specified by 3 matrices , , and and is satisfiable if there is a vector with such that:

This can be proven by showing that the following polynomial vanishes on the boolean hypercube:

This can be shown using the Multivariate Zero Check Protocol.

To evaluate the at a random point, the Multivariate Sum-Check Protocol can be executed 3 times in parallel using the same randomness. The prover can be implemented in time linear time in the number of non-zero entries in , , and .