SuperSpartan
Presentation: https://youtu.be/4Qvj2ME-Xyg
Introduction
The SuperSpartan paper introduces customizable constraint systems (CCS), a generalization of R1CS that can simultaneously capture R1CS, Plonkish, and AIR without incurring overhead. Unlike existing formulations of Plonkish and AIR, CCS is not tied to any specific proof system. The paper shows that the linear-time polynomial IOP for R1CS from Spartan extends naturally to CCS, and that combining this with a polynomial commitment scheme yields a family of SNARKs for CCS, referred to as SuperSpartan.
SuperSpartan supports high-degree constraints without imposing cryptographic costs that scale with constraint degree; only the underlying field operations scale with degree. As in Spartan, it does not rely on superlinear-time or hard-to-distribute operations such as FFTs. While HyperPlonk achieves similar properties for Plonkish through a different technique, the authors observe that it remains unclear how to prove CCS instances—or even R1CS instances—using HyperPlonk or Plonk itself without overhead.
In contrast, SuperSpartan can prove uniform CCS instances, including AIR, without requiring linear-time preprocessing for the verifier and offers “free” addition gates in those settings. SuperSpartan applied to AIR yields the first SNARK for AIR that features a linear-time prover, transparent and sublinear-time preprocessing, polylogarithmic proof sizes, and plausible post-quantum security. Notably, SuperSpartan provides a faster prover than existing transparent SNARKs for AIR, often referred to as STARKs.
Background
Multilinear Extensions
Polynomial IOP
Protocol Explanation
Polynomial IOP for CCS
This section describes SuperSpartan’s polynomial IOP for CCS. It is a straightforward generalization of polynomial IOP for R1CS in Spartan. As per definition of CCS, suppose we are given a CCS structure-instance tuple with size bounds:
Interpret the matrices as functions mapping domain to in the natural way. That is, an input in is interpreted as the binary representation of an index , and the function outputs the th entry of the matrix. Theorem 1 (A generalization of Spartan from R1CS to CCS). For any finite field , there exists a polynomial IOP for , with the following parameters, where denotes the dimensionality of the CCS coefficient matrices, and denotes the total number of non-zero entries across all of the matrices:
soundness error is
round complexity is ;
communication complexity is elements of ;
at the start of the protocol, the prover sends a single -variate multilinear polynomial , and the verifier has a query access to additional -variate multilinear polynomials
the verifier makes a single evaluation query to each of the polynomials , and otherwise performs operations over ;
the prescribed prover performs operations over F to compute its messages over the course of the polynomial IOP (and to compute answers to the verifier’s four queries to ).
Remark 10. The field operations term in the prover’s runtime from Theorem 1 involves using FFTs to multiply together different degree-1 polynomials. FFTs are only practical over some finite fields. Moreover, in CCS/AIR/Plonkish instances that arise in practice, rarely, if ever, exceeds 100 and is often as low as or even [GPR21, BGtRZt23]. Hence, these -time FFT algorithms will typically be much slower than the naive -time algorithm for multiplying together degree-1 polynomials. Using Karatsuba’s algorithm in place of FFTs would also yield a sub-quadratic-in- time algorithm that works over any field.
Having the verifier evaluate efficiently. Let us first assume that the CCS witness and both have the same length . Then it is easy to check that the MLE of Z satisfies:
If the length of is less than that of (as is the case in the CCS instances resulting from the AIR → CCS transformation of Lemma 3), we replace with a padded vector that appends zeros to until it has the same length as (and we henceforth use to denote twice the length of this padded vector). Replacing with the padded vector does increase the time required for the verifier to compute by more than an additive field operations.
The protocol. Have the verifier pick at random. Similar to Spartan Theorem 4.1, checking if is equivalent, except for a soundness error of over the choice of , to checking if the following identity holds:
If we denote the inner part as :
Then the identity becomes a classic sum-check:
which reduces the task to verifying at random . Note that the verifier can evaluate unassisted in field operations with:
With in hand, can be computed in time given the following quantities for :
These quantities can be computed by applying the sum-check protocol more times in parallel, once to each of the following polynomials, where (to reduce communication costs by a factor of , pick a random and take linear combination with weights given by ):
To perform the verifier’s final check in this invocation of the sum-check protocol, it suffices for the verifier to evaluate each of the above polynomials at the random vector , which means it suffices for the verifier to evaluate . These evaluations can be obtained via the verifier’s assumed query access to . can be obtained from one query to and one query to via Equation (13).

References
Customizable constraint systems for succinct arguments (CCS and SuperSpartan)
Written by Batzorig Zorigoo of Fractalyze
Last updated