Appearance
New Protocol Version
We divide the protocol into Setup, Prover Computation, Verifier Challenge, and Proof & Verification phases.
1. Setup Phase
- (Both) Agree on the public parameters
. - (Verifier) Publicly specifies the maximum polynomial degree
, if needed. - (Trusted Ceremony / Setup) Generates a secret
and produces .
After this step,(the toxic waste) must be discarded to maintain security.
2. Prover Computation Phase
- (Prover) Interpolates the column polynomials
. - (Prover) Constructs quotient polynomials
with respect to the vanishing polynomials . - (Prover) Commits to each polynomial by computing
and sends these commitments to the Verifier.
3. Verifier Challenge Phase
- (Verifier) Samples random challenges
. - (Verifier) Sends the challenges to the Prover.
4. Proof & Verification Phase
(Prover) Evaluates each committed polynomial at its corresponding challenge. For example,
Then constructs proofs
via the KZG evaluation method. The Prover sends and
to the Verifier.
(Verifier) Uses the commitments
and the proofs to verify each polynomial evaluation.
It then checks the constraintSince the Verifier can construct
itself, it only needs to check , where . (Verifier) Repeats a similar check for the recursive constraints:
(Verifier) If all these checks pass, the Verifier accepts. Otherwise, it rejects.
As you can see, both the number of message exchanges and the operations performed by the Verifier are now almost constant. In other words, the Verifier can ask the Prover to compute
Protocol Diagram
The following diagram visually represents the four main phases of the protocol:
Phase 1: Setup
- Both parties agree on the public parameters
. - The Verifier may specify the maximum polynomial degree
. - A trusted ceremony generates the secret
, then discards it, while producing the public parameters .
- Both parties agree on the public parameters
Phase 2: Prover Computation
- The Prover interpolates the circuit columns (e.g., Fibonacci) into polynomials
. - Constructs the quotient polynomials
relative to vanishing polynomials . - Commits to these polynomials (e.g.,
) and sends the commitments to the Verifier.
- The Prover interpolates the circuit columns (e.g., Fibonacci) into polynomials
Phase 3: Verifier Challenge
- The Verifier randomly samples challenges
. - Sends these challenges to the Prover.
- The Verifier randomly samples challenges
Phase 4: Proof & Verification
- The Prover evaluates each committed polynomial at the corresponding
value and constructs proofs (e.g., ). - Sends the polynomial evaluations and proofs to the Verifier.
- The Verifier checks that the evaluations match the commitments, confirming equations like
- If all checks pass, the Verifier accepts; otherwise, it rejects.
- The Prover evaluates each committed polynomial at the corresponding