Skip to main content

Crate zinc_protocol

Crate zinc_protocol 

Source
Expand description

Zinc+ PIOP for UCS - end-to-end protocol.

Implements the Zinc+ compiler pipeline (cf. paper, Section “Zinc+ Compiler”):

Z[X]  --\phi_q-->  F_q[X]  --MLE eval-->  F_q[X]  --\psi_a-->  F_q
        Step 1               Step 2                  Step 3

After the three compiler steps, the protocol continues with:

  • Step 4: combined CPR + Lookup multi-degree sumcheck (CPR group at degree max_deg+2, one lookup group per table type; shared eval point r*)
  • Step 5: multi-point evaluation sumcheck (combines up/down evals at r* into a single evaluation point r_0)
  • Step 6: lift-and-project (unprojected MLE evaluations at r_0)
  • Step 7: Zip+ PCS open/verify at r_0

Modules§

prover
verifier

Structs§

Proof
Full proof produced by the Zinc+ PIOP for UCS.
ZincPlusPiop
Main struct for the Zinc+ PIOP. The protocol is implemented as associated functions on it.

Enums§

ProtocolError
Error type for error happening during the protocol execution (prover and verifier).

Traits§

ZincTypes
Trait bundling the various type parameters for the public inputs (NYI), witness and Zinc+ PIOP.

Functions§

project_scalar_fn
Project a DensePolynomial scalar to DynamicPolynomialF by projecting each coefficient via \phi_q.