Contributions and suggestions are always welcome; open issues or pull requests with any changes you want to be made.
Note
Maintained by @piapark_eth and @alexanderlhicks. Some details may be outdated; feel free to open an issue or PR. For discussions on fair tracking methods, see the open issues.
- ISA (Instruction Set Architecture): The fundamental “language” of the VM, defining all its basic operations and how they interact with data.
- Continuations (Sharding): A technique to break oversized computations — too big for a single run — into smaller parts that can be processed in parallel, paused, and resumed later.
- Precompiles (Built-ins, Chiplets, Accelerate etc): Specialized, pre-built functions for complex tasks (like cryptography) that boost efficiency and reduce proof overhead.
- Proving Frontend: A user-friendly language for writing provable programs, which then get compiled down into the VM’s supported ISA for zero-knowledge execution.
- GPU: Indicates if proving on GPU is supported (based on publicly exposed Metal/CUDA code)
zkVM | ISA | Continuations & Parallel Proving |
Precompiles | GPU | Proving Frontend |
---|---|---|---|---|---|
cairo | Cairo | 🔴 | 🟢 | Cairo | |
ceno | RISC-V | 🔴 | 🔴 | Rust | |
eigen zkvm | RISC-V | 🟢 | 🟢 | Rust | |
jolt | RISC-V | 🔴 | 🔴 | Rust | |
miden | MASM(Miden Assembly) | 🔴 | 🟢 | 🟢 | Rust, Wasm |
mozak vm | RISC-V | 🔴 | 🔴 | Rust | |
nexus | RISC-V | 🟢 | 🟢 | Rust | |
o1vm | MIPS & RISC-V | 🔴 | 🔴 | Rust | |
olavm | Ola Assembly | 🔴 | 🟢 | Ola Assembly | |
openvm | RISC-V | 🟢 | 🟢 | Rust | |
powdrVM | RISC-V | 🟢 | 🟢 | Rust, Powdr, PIL | |
risc0 | RISC-V | 🟢 | 🟢 | 🟢 | Rust |
sp1 | RISC-V | 🟢 | 🟢 | 🟢 | Rust |
sphinx | RISC-V | 🟢 | 🟢 | Rust | |
triton vm | Triton Assembly | 🔴 | 🔴 | Triton Assembly | |
valida | Valida | 🔴 | 🔴 | Rust, C | |
zisk | RISC-V | 🔴 | 🔴 | PIL | |
zkm | MIPS | 🟢 | 🟢 | Rust, Go | |
zkWasm | Wasm | 🟢 | 🟢 | C, C++, rust, etc (wasm compilable) |
- benchmarks (lita) | code
- benchmark (risc0) | code
- zkvm-benchmarks (a16z) | code
- zkvm perf (succinct) | code
- Cairo – a Turing-complete STARK-friendly CPU architecture
- A Verified Algebraic Representation of Cairo Program Execution
- A Proof-Producing Compiler for Blockchain Applications
- a zero-knowledge paradigm series
- cairo – a turing-complete stark-friendly cpu architecture - shahar papini
- lasso + jolt playlist
- new paradigm in ethereum l2 scaling: multi-proving and zk-vms
- the nexus v1.0 zkvm - daniel marin (nexus)
- understanding jolt: clarifications and reflections
- zk whiteboard sessions – module seven: zero knowledge virtual machines (zkvm) with grjte
- zk10: analysis of zkvm designs - wei dai & terry chung
- zk11: o1vm: building a real-world zkvm for mips - danny willems
- zk12: memory checking in ivc-based zkvm - jens groth
- zk7: miden vm: a stark-friendly vm for blockchains - bobbin threadbare – polygon
- zeroing into zkvm
- zkvm design walkthrough with max and daniel
- Verification of zkWasm in Coq
- zk11: polynomial acceleration for stark vms
- what does risc v have to do with risc zero's zkvm
- risc zero architecture presentation @ stanford
- continuations: scaling in zkvm
- Getting the bugs out of SNARKs: The road ahead
- ~tacryt-socryp on Zorp, the Nock zkVM | Reassembly23