CCS generalises popular constraint systems designed for arithmetic circuit satisfiability like R1CS, Plonkish and AIR incurring no overheads. Combining with Spartan, CCS creates a family of SNARKs referring as SuperSpartan. Supports high degree constraints which doesn’t scale prover cost with degree of constraints. Also provides faster prover for AIR constraints than current STARKs.
Section 1: Introduction
Plonkish/RAPs:
- Supports high degree custom constraint gates
- Can represent circuits more succinctly
- But prover incurs cost for high degree gates
- Replaces univariate gadgets of zero, product and permutation check of PLONK with multilinear variants.
- Multilinear gadgets are based on sumcheck protocol, has a unique prover profile such that it can be implemented in linear time prover.
SNARKs for CCS:
- SNARKS for R1CS (Marlin, Spartan) can be easily extended to CCS without overheads.
- SNARKs for Plonkish (PLONK, HyperPlonk) can’t be extended without asymptotic overheads.
- Introduces SuperSpartan and SuperMarlin, generalised variants of corresponding proof systems: Marlin and Spartan.
- In contrast, 2 both Spartan and Marlin have machinery (via a so-called sparse polynomial commitment scheme, see, e.g., Tha20, Sections 10.3.2 and 16.2 for an exposition) to handle general linear constraints.
- SuperSpartan provides free addition gates when applied to uniform instances of CCS.
define uniform instances of CCS?
what are these sparse PCS?
Spartan's and SuperSpartan's polynomial IOP is interactive oracle protocols, differing from polynomial IOPs (Interactive Oracle Proofs).
In Interactive Oracle Protocols:
- has access to certain oracles from the in terms of functions or polynomials.
- engage in an interactive proof.
- No oracle is sent during interaction.
SNARKS for uniform CCS:
SuperSpartan can prove any uniform CCS instance with succinct verifier without requiring any preprocessing. This is done by verifier evaluating certain multilinear polynomials that represent wiring of the circuit in question. This allows SNARKs for CCS for AIR instances can be proven in lograithmic time verifier without any preprocessing.
- SNARK with Orion PCS enables polylogarithmic verifier and linear time prover.
- SNARKs with Brakedown PCS obtains field agnostic SNARK with linear time prover but proof size is .
Section 2: CCS
R1CS structure :
- : number of constraints
- : number of public and private inputs
- : number of non-zeroes entries
- : number of public inputs
- : vector of public inputs
- : vector of private inputs
- :
CCS structure consists of:
- : number of matrices
- : number of multisets
- : maximum cardinality of each multiset
- : sequence of constants
Refer: CPerez’s CCS article
2.1 R1CS
2.2 PLONK
2.3 AIR
AIR:
- structure
- public input and output instance,
- witness,
- multivariate polynomial in variables of monomials each of max .
AIR constraint:
Conceptually, execution trace can be defined as columns representing registers for cycles where first and last cycle represent input and output respectively. Above relation represent constraint polynomial for iteration and and it should evaluate to zero for all cycles.
CCS: structure , instance . satisfies iff satisfies .
AIR-CCS transformation: ,
deriving :
- for :
- for , let :
- :
- This means, for public input set second last columns. This is due to in public input comes after witness while in first half comes before .
- :
- for public outputs, set last columns.
- Otherwise,
- sets for constraint polynomial
- end for
- end for
deriving :
- equals coefficient of monomial
- is added to if monomial contains variable.
SuperSpartan IOP
Generalisation of Spartan proof system for CCS.
MLE of Z:
If size of is not equal to , then pad with zeroes.
why is it necessary to make equal to ?
Apply sumcheck over equation:
Verifier evaluates right hand side at . Verifier needs evaluations of following quantities to compute , . Can start other parallel sumchecks to evaluate the terms on .
To confirm that the values are correct, Verifier evaluates terms on to get and check if the value equals by having oracle access to .
SuperSpartan PCS
Can make use of any multilinear commitment scheme to create a SNARK with IOP defined above.
Scheme/Cost | |
---|---|
Brakedown | |
Orion | |
Hyrax | |
Zeromorph |