Paper 2023/1217

Jolt: SNARKs for Virtual Machines via Lookups

Arasu Arun, New York University
Srinath Setty, Microsoft Research
Justin Thaler, a16z crypto research, Georgetown University
Abstract

Succinct Non-interactive Arguments of Knowledge (SNARKs) allow an untrusted prover to establish that it correctly ran some "witness-checking procedure" on a witness. A zkVM (short for zero-knowledge Virtual Machine) is a SNARK that allows the witness-checking procedure to be specified as a computer program written in the assembly language of a specific instruction set architecture (ISA). A $\textit{front-end}$ converts computer programs into a lower-level representation such as an arithmetic circuit or generalization thereof. A SNARK for circuit-satisfiability can then be applied to the resulting circuit. We describe a new front-end technique called Jolt that applies to a variety of ISAs. Jolt arguably realizes a vision called the $\textit{lookup singularity}$, which seeks to produce circuits that only perform lookups into pre-determined lookup tables. The circuits output by Jolt primarily perform lookups into a gigantic lookup table, of size more than $2^{128}$, that depends only on the ISA. The validity of the lookups are proved via a new $\textit{lookup argument}$ called Lasso described in a companion work (Setty, Thaler, and Wahby, e-print 2023). Although size-$2^{128}$ tables are vastly too large to materialize in full, the tables arising in Jolt are structured, avoiding costs that grow linearly with the table size. We describe performance and auditability benefits of Jolt compared to prior zkVMs, focusing on the popular RISC-V ISA as a concrete example. The dominant cost for the Jolt prover applied to this ISA (on $64$-bit data types) is cryptographically committing to about six $256$-bit field elements per step of the RISC-V CPU. This compares favorably to prior zkVM provers, even those focused on far simpler VMs.

Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Preprint.
Keywords
zkSNARKszero-knowledgesuccint-argumentsproof system
Contact author(s)
arasu @ nyu edu
srinath @ microsoft com
justin r thaler @ gmail com
History
2023-08-11: approved
2023-08-10: received
See all versions
Short URL
https://ia.cr/2023/1217
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2023/1217,
      author = {Arasu Arun and Srinath Setty and Justin Thaler},
      title = {Jolt: SNARKs for Virtual Machines via Lookups},
      howpublished = {Cryptology ePrint Archive, Paper 2023/1217},
      year = {2023},
      note = {\url{https://eprint.iacr.org/2023/1217}},
      url = {https://eprint.iacr.org/2023/1217}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.