Jolt is a RISC-V zkVM uniquely designed around sumcheck and lookup arguments (Just One Lookup Table).
Jolt is fast (state-of-the-art performance on CPU) and relatively simple (thanks to its lookup-centric architecture).
This book has the following top-level sections:
- Intro (you are here)
- Usage (how to use Jolt in your applications)
- How it works (how the proof system and implementation work under the hood)
- Roadmap (what's next for Jolt)
Related reading
Papers
Jolt: SNARKs for Virtual Machines via Lookups
Arasu Arun, Srinath Setty, Justin Thaler
Twist and Shout: Faster memory checking arguments via one-hot addressing and increments
Srinath Setty, Justin Thaler
Unlocking the lookup singularity with Lasso
Srinath Setty, Justin Thaler, Riad Wahby
Blog posts
Initial launch:
Updates:
Background
Credits
Jolt was initially forked from Srinath Setty's work on microsoft/Spartan
, specifically the arkworks-rs/Spartan
fork in order to use the excellent arkworks-rs
field and curve implementations.
Jolt uses its own fork of arkworks-algebra
with certain optimizations, including some described here.
Jolt's R1CS is also proven using a version of Spartan (forked from the microsoft/Spartan2 codebase) optimized for Jolt's uniform R1CS constraints.
Jolt uses Dory as its PCS, implemented in spaceandtimefdn/sxt-dory
.