Paper 2019/550
Spartan: Efficient and general-purpose zkSNARKs without trusted setup
Srinath Setty
Abstract
This paper introduces Spartan, a new family of zero-knowledge succinct non-interactive arguments of knowledge (zkSNARKs) for the rank-1 constraint satisfiability (R1CS), an NP-complete language that generalizes arithmetic circuit satisfiability. A distinctive feature of Spartan is that it offers the first zkSNARKs without trusted setup (i.e., transparent zkSNARKs) for NP where verifying a proof incurs sub-linear costs—without requiring uniformity in the NP statement’s structure. Furthermore,
Spartan offers zkSNARKs with a time-optimal prover, a property that has remained elusive for nearly all zkSNARKs in the literature.
To achieve these results, we introduce new techniques that we compose with the sum-check protocol, a seminal interactive proof protocol: (1) computation commitments, a primitive to create a succinct commitment to a description of a computation; this technique is crucial for a verifier to achieve sub-linear costs after investing a one-time, public computation to preprocess a given NP statement; (2) SPARK, a cryptographic compiler to transform any existing extractable polynomial commitment scheme for multilinear polynomials to one that efficiently handles sparse multilinear polynomials; this technique is critical for achieving a time-optimal prover; and (3) a compact encoding of an R1CS instance as a low-degree polynomial. The end result is a public-coin succinct interactive argument of knowledge for NP (which can be viewed as a succinct variant of the sum-check protocol); we transform it into a zkSNARK using prior techniques. By applying SPARK to different commitment schemes, we obtain several zkSNARKs where the verifier’s costs and the proof size range from
Note: Typo fixes. Add link to source code on GitHub.
Metadata
- Available format(s)
-
PDF
- Category
- Cryptographic protocols
- Publication info
- A minor revision of an IACR publication in CRYPTO 2020
- Keywords
- zkSNARKstransparent zkSNARKsSNARKszero-knowledgesuccinct arguments
- Contact author(s)
- srinath @ microsoft com
- History
- 2020-08-19: last of 6 revisions
- 2019-05-23: received
- See all versions
- Short URL
- https://ia.cr/2019/550
- License
-
CC BY
BibTeX
@misc{cryptoeprint:2019/550, author = {Srinath Setty}, title = {Spartan: Efficient and general-purpose {zkSNARKs} without trusted setup}, howpublished = {Cryptology {ePrint} Archive, Paper 2019/550}, year = {2019}, url = {https://eprint.iacr.org/2019/550} }