Awesome
<div align="center"> <h1 align="center">awesome zkVm</h1>A curated list of zkVM, zero-knowledge virtual machine.
<p align="center"> <a href="https://github.com/sindresorhus/awesome"> <img alt="awesome list badge" src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"> </a> <a href="https://github.com/rkdud007/awesome-zkvm/graphs/contributors"> <img alt="GitHub contributors" src="https://img.shields.io/github/contributors/rkdud007/awesome-zkvm"> </a> <a href="http://makeapullrequest.com"> <img alt="pull requests welcome badge" src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat"> </a> </p> </div>Contributions and suggestions are always welcome; open issues or pull requests with any changes you want to be made.
contents
projects
[!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 & <br> Parallel Proving | Precompiles | GPU | Proving Frontend |
---|---|---|---|---|---|
cairo | Cairo | :red_circle: | :green_circle: | Cairo | |
ceno | RISC-V | :red_circle: | :red_circle: | Rust | |
eigen zkvm | RISC-V | :green_circle: | :green_circle: | Rust | |
jolt | RISC-V | :red_circle: | :red_circle: | Rust | |
miden | MASM(Miden Assembly) | :red_circle: | :green_circle: | :green_circle: | Rust, Wasm |
mozak vm | RISC-V | :red_circle: | :red_circle: | Rust | |
nexus | RISC-V | :green_circle: | :green_circle: | Rust | |
o1vm | MIPS & RISC-V | :red_circle: | :red_circle: | Rust | |
olavm | Ola Assembly | :red_circle: | :green_circle: | Ola Assembly | |
openvm | RISC-V | :green_circle: | :green_circle: | Rust | |
powdrVM | RISC-V | :green_circle: | :green_circle: | Rust, Powdr, PIL | |
risc0 | RISC-V | :green_circle: | :green_circle: | :green_circle: | Rust |
sp1 | RISC-V | :green_circle: | :green_circle: | :green_circle: | Rust |
sphinx | RISC-V | :green_circle: | :green_circle: | Rust | |
triton vm | Triton Assembly | :red_circle: | :red_circle: | Triton Assembly | |
valida | Valida | :red_circle: | :red_circle: | Rust, C | |
zisk | RISC-V | :red_circle: | :red_circle: | PIL | |
zkm | MIPS | :green_circle: | :green_circle: | Rust, Go | |
zkWasm | Wasm | :green_circle: | :green_circle: | C, C++, rust, etc (wasm compilable) |
bench
- benchmarks (lita) | code
- benchmark (risc0) | code
- zkvm-benchmarks (a16z) | code
- zkvm perf (succinct) | code
Independent/third-party Benchmarks
papers
Cairo
- Cairo – a Turing-complete STARK-friendly CPU architecture
- A Verified Algebraic Representation of Cairo Program Execution
- A Proof-Producing Compiler for Blockchain Applications
Ceno
Jolt
SP1
Risc Zero
EDEN
resources
- 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
tutorials / educational zkVM
- brainfuck tutorial
- chip0
- continuous read only memory constraints an implementation using lambdaworks
- fri from scratch
- stark by hand
- stark brainfuck
- stark 101
- stwo brainfuck
- useless zkvm