Root Verifier Circuit
We use the notation of the Aztec Yellow Paper. In particular, is a curve defined over a finite field , is a prime on the order of , and is a subgroup of BN254 of order .
Circuit Description
This is a standard PLONK circuit that verifies a TurboPLONK root rollup proof. At the time the root verifier circuit is constructed, it is supplied a list of TurboPLONK verification keys, one for each root rollup circuit that is to be verifiable by . Let denote the number of root rollup shapes that are accepted by the root verifier circuit.
Circuit Inputs: Summary
The inputs for the root verifier circuit have the form
Public Inputs
The root verifier receives public inputs. The first public input is a mod- SHA256 hash of broadcast data. This is, in fact, the same datum that appears as a public input to the root rollup circuit. The next 16 public inputs encode the recursion output of the root verifier circuit. This is the data of two points of . Each point consists of two elements, which is in turn split into 4 68-bit limbs that are regarded as elements of .
Private Inputs
The root verifier has private inputs. Each verification key consists of 15 elements (11 corresponding to constraint selectors, and 4 corresponding to permutation selectors), each one contributing 8 limbs in , leading to a total of inputs. The remaining private inputs to the root verifier circuit are the 16 limbs in that make up the recursive proof output of the root rollup circuit.
Circuit Logic
Then, when verifying a root rollup circuit , a the verification key of is instantiated as a witness variable in the circuit , which imposes the constraint that lies in using a Pedersen hash-like compress
function. The remaining constraints defining this circuit are generated by the standard library's recursive verifier. These constraints are, roughly speaking, those described in the verifier's algorithm in the PLONK paper. More specifically, one should look at the VIP Edition of the paper, making minor changes to include a simplification proposed by Kev Wedderburn for smaller proof size (see IACR version 20210707:125953).