Skip to content

A curated list of zkVM, zero-knowledge virtual machine

License

Notifications You must be signed in to change notification settings

0xalizk/awesome-zkvm

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

51 Commits
 
 
 
 
 
 

Repository files navigation

awesome zkVM

A curated list of zkVM, zero-knowledge virtual machine.

awesome list badge GitHub contributors pull requests welcome badge

Contributions and suggestions are always welcome; open issues or pull requests with any changes you want to be made.

contents

projects

Note

Maintained by @0xpiapark 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 (aka Chunking/Sharding): A technique to break oversized computations — too big for a single run — into smaller segments that get proven individually and recursively (proof of segment n+1 includes the proving of segment n's verifier). How self-contained the proving of each segment is (no commitment passed from one segment to the other) and how efficiently parallelizatable it is (minimal inter-thread comm) differs from one implementation to another.
  • Precompiles (Built-ins, Chiplets, Accelerate etc): Specialized, pre-built functions for complex tasks (like cryptography) that boost efficiency and reduce proof overhead.
  • Proving Frontend: The programming language the programmer expresses their business logic in, which then get compiled down into the VM’s supported ISA for constrained execution.
  • GPU: Indicates whether proving on GPU is supported (based on publicly exposed Metal/CUDA code)
  • Optimizations: Ingredients in the proof system that can optimize the size and complexity of the constraints overall.
  • Backends: The (Polynomial) Interactive Oracle Proof (P)IOP and polynomial commitment scheme(s) (PCS) used for the (typically non-interactive) prover-verifier checks.
  • Verifiers: Programs that can do the (typically non-interactive) verification given a proof and public inputs.
zkVM ISA Continuations Parallelizable Proving Precompiles GPU Frontend
cairo Cairo Cairo
ceno RISC-V Rust
eigen zkvm RISC-V Circom, PIL
jolt RISC-V Rust
miden MASM(Miden Assembly) Rust, Wasm
mozak vm RISC-V Rust
nexus RISC-V Rust
o1vm MIPS Go
olavm Ola Assembly Ola Assembly
powdrVM RISC-V ASM assembly
risc0 RISC-V Rust
sp1 RISC-V Rust
sphinx RISC-V Rust, Lurk
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)

Technical details

Proof systems
zkVM Arithmetization Optimizations Backends Verifiers
cairo AIR FRI
ceno GKR Lookup, Sumcheck Brakedown Rust
eigen zkvm eAIR FRI, Groth16 Solidity
jolt R1CS Lookup, Sumcheck, Offline Mem Check Spartan WASM
miden AIR (winterfell) Lookup, Winterfell Rust
mozak vm AIR (Starky) Lookup, FRI Rust
nexus Folded Accumulated Relaxed R1CS Accumulated Folding Spartan + {Zeromorph, PSE-Halo2 (KZG)} Rust
o1vm Plonkish Lookup IPA Rust
olavm AIR (plonky2) Lookup FRI Rust
powdrVM AIR -ish (PIL, plonky3) - PSE-Halo2 (KZG), Plonky3, FRI(eSTARK) Solidity (auto-gen)
risc0 PLONK Plookup DEEP-FRI & ALI Rust, Solidity
sp1 AIR (plonky3) Lookup FRI Rust, Solidity
sphinx AIR (core), PLONK (wrap) Lookup, FRI Rust
triton vm AIR Lookup, Contiguity FRI Rust
valida AIR (plonky3) FRI ?
zisk ? ? ? ?
zkm AIR (plonky2) Lookup, FRI Rust
zkWasm PLONK - IPA? Rust

bench

Independent/third-party Benchmarks

  • Benchmarking of π2 ZK Metamath checkers | code, including results
  • definitive guide to zkVMs | article
  • Lurk 0.5 Benchmarks | article
  • benchmark of zkVMs and proving schemes | code

papers

Cairo

Ceno

Jolt

SP1

Risc Zero

EDEN

resources

tutorials / educational zkVM

related tooling

related awesome lists

About

A curated list of zkVM, zero-knowledge virtual machine

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published