diff --git a/README.md b/README.md index ea9926a..bd69621 100644 --- a/README.md +++ b/README.md @@ -21,39 +21,51 @@ A curated list of zkVM, zero-knowledge virtual machine. # contents -- [projects repositories](#projects-repositories) -- [bench](#bench) -- [papers](#papers) -- [resources](#resources) -- [tutorials](#tutorials) -- [architecture](#architecture) - - [precompiles](#precompiles) - - [recursion](#recursion) - - [lookup arguments](#lookup-arguments) - - [hardware](#hardware) -- [related awesome lists](#related-awesome-lists) - -## projects repositories - -- [cairo](https://github.com/lambdaclass/cairo-vm) -- [ceno](https://github.com/scroll-tech/ceno) -- [eigen zkvm](https://github.com/0xEigenLabs/eigen-zkvm) -- [jolt](https://github.com/a16z/jolt) -- [miden](https://github.com/0xPolygonMiden/miden-vm) -- [mozak vm](https://github.com/0xmozak/mozak-vm) -- [nexus](https://github.com/nexus-xyz/nexus-zkvm) -- [o1vm](https://github.com/o1-labs/proof-systems/tree/master/o1vm) -- [olavm](https://github.com/Sin7Y/olavm) -- [powdr](https://github.com/powdr-labs/powdr) -- [risc0](https://github.com/risc0/risc0) -- [sp1](https://github.com/succinctlabs/sp1) -- [sphinx](https://github.com/argumentcomputer/sphinx) -- [triton vm](https://github.com/TritonVM/triton-vm) -- [valida](https://github.com/valida-xyz/valida) -- [zisk](https://github.com/0xPolygonHermez/zisk) -- [zkLLVM](https://github.com/NilFoundation/zkLLVM) -- [zkWasm](https://github.com/DelphinusLab/zkWasm) -- [zkm](https://github.com/zkMIPS/zkm) +- [contents](#contents) + - [projects](#projects) + - [bench](#bench) + - [papers](#papers) + - [Cairo](#cairo) + - [Ceno](#ceno) + - [Jolt](#jolt) + - [SP1](#sp1) + - [Risc Zero](#risc-zero) + - [EDEN](#eden) + - [resources](#resources) + - [tutorials](#tutorials) + - [related awesome lists](#related-awesome-lists) + +## projects + +> [!NOTE] +> Maintained by [@piapark_eth](https://x.com/piapark_eth) and [@alexanderlhicks](https://x.com/alexanderlhicks). Some details may be outdated; feel free to open an issue or PR. For discussions on fair tracking methods, see the [open issues](https://github.com/rkdud007/awesome-zkvm/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, Syscalls): 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](https://github.com/lambdaclass/cairo-vm) | Cairo | :red_circle: | :green_circle: | | Cairo | +| [ceno](https://github.com/scroll-tech/ceno) | RISC-V | :red_circle: | :red_circle: | | Rust | +| [eigen zkvm](https://github.com/0xEigenLabs/eigen-zkvm) | RISC-V | :green_circle: | :green_circle: | | Rust | +| [jolt](https://github.com/a16z/jolt) | RISC-V | :red_circle: | :red_circle: | | Rust | +| [miden](https://github.com/0xPolygonMiden/miden-vm) | MASM(Miden Assembly) | :red_circle: | :green_circle: | :green_circle: | Rust, Wasm | +| [mozak vm](https://github.com/0xmozak/mozak-vm) | RISC-V | :red_circle: | :red_circle: | | Rust | +| [nexus](https://github.com/nexus-xyz/nexus-zkvm) | RISC-V | :green_circle: | :green_circle: | | Rust | +| [o1vm](https://github.com/o1-labs/proof-systems/tree/master/o1vm) | MIPS | :red_circle: | :red_circle: | | Go | +| [olavm](https://github.com/Sin7Y/olavm) | Ola Assembly | :red_circle: | :green_circle: | | Ola Assembly | +| [powdrVM](https://github.com/powdr-labs/powdr) | RISC-V | :green_circle: | :green_circle: | | Rust, Powdr, PIL | +| [risc0](https://github.com/risc0/risc0) | RISC-V | :green_circle: | :green_circle: | :green_circle: | Rust | +| [sp1](https://github.com/succinctlabs/sp1) | RISC-V | :green_circle: | :green_circle: | :green_circle: | Rust | +| [sphinx](https://github.com/argumentcomputer/sphinx) | RISC-V | :green_circle: | :green_circle: | | Rust | +| [triton vm](https://github.com/TritonVM/triton-vm) | Triton Assembly | :red_circle: | :red_circle: | | Triton Assembly | +| [valida](https://github.com/valida-xyz/valida) | Valida | :red_circle: | :red_circle: | | Rust, C | +| [zisk](https://github.com/0xPolygonHermez/zisk) | RISC-V | :red_circle: | :red_circle: | | PIL | +| [zkm](https://github.com/zkMIPS/zkm) | MIPS | :green_circle: | :green_circle: | | Rust, Go | +| [zkWasm](https://github.com/DelphinusLab/zkWasm) | Wasm | :green_circle: | :green_circle: | | C, C++, rust, etc (wasm compilable) | ## bench @@ -70,6 +82,10 @@ A curated list of zkVM, zero-knowledge virtual machine. - [A Verified Algebraic Representation of Cairo Program Execution](https://dl.acm.org/doi/pdf/10.1145/3497775.3503675) - [A Proof-Producing Compiler for Blockchain Applications](https://drops.dagstuhl.de/storage/00lipics/lipics-vol268-itp2023/LIPIcs.ITP.2023.7/LIPIcs.ITP.2023.7.pdf) +### Ceno + +- [Ceno: Non-uniform, Segment and Parallel Zero-knowledge Virtual Machine](https://eprint.iacr.org/2024/387.pdf) + ### Jolt - [Jolt: SNARKs for Virtual Machines via Lookups](https://eprint.iacr.org/2023/1217.pdf) @@ -123,4 +139,4 @@ A curated list of zkVM, zero-knowledge virtual machine. - [awesome risc0](https://github.com/inversebrah/awesome-risc0) - [awesome sp1](https://github.com/gakonst/awesome-sp1) - [awesome starknet #cryptography-and-maths](https://github.com/keep-starknet-strange/awesome-starknet?tab=readme-ov-file#cryptography-and-maths) -- [awesome zkp](https://github.com/matter-labs/awesome-zero-knowledge-proofs) +- [awesome zkp](https://github.com/matter-labs/awesome-zero-knowledge-proofs) \ No newline at end of file