Main Trace Commitment
The computation trace consists of tables , which we also refer to as chips. Each table is associated with some operation (typically a RISC V instruction). Each table has a set of constraints associated with it, which are known as AIRs (Arithmetic Intermediate Representation). Every row in the table needs to satisfy the given set of constraints, till some cutoff point specified by the prover (for sake of padding). In addition, there are interactions (defined below) between the different tables which enable to check cross-table consistency.
To commit to the computation trace, the prover serializes all of the real data in the tables as one long array. It then chops the trace into equal size chunks, each of size , where is a parameter (typically or ) and encodes each chunk using the Reed-Solomon code (i.e. via an FFT). This is sent, as an oracle to the verifier. (We remark that the IOP is converted into a succinct argument, by committing to oracles as usual, by employing Merkle hashing.)
In addition, the prover reports the real height for the data in each table. The above commitment together with the table height data defined a trace. Later, in the Jagged PCS section we show how to decommit to claims about this trace.