# zkVM

**Disclaimer: This page can be outdated.**

Based on the research done by Porter Adams, core contributor to Matter Labs/ZKsync. ([See video here](https://www.youtube.com/watch?v=fW6O40Pq_bM))

<table data-full-width="true"><thead><tr><th width="155.80078125">zkVM Name</th><th width="203.875">Succinct SP1 Hypercube</th><th width="231.1328125">RISCZero</th><th width="248.14453125">Brevis Pico</th><th width="283.63671875">Lita’s Valida</th><th width="284.34375">a16z’s Jolt</th><th width="289.65625">Nexus zkVM3.0</th><th width="290.61328125">ZKSync’s Boojum2.0</th></tr></thead><tbody><tr><td><strong>ZK tech name(s)</strong></td><td>Plonky3</td><td></td><td>Plonky3 + more</td><td>Plonky3</td><td>Arkworks + Binius</td><td>Stwo</td><td></td></tr><tr><td><strong>Arithmetization</strong></td><td>AIR</td><td>AIR</td><td>AIR</td><td>AIR</td><td>R1CS</td><td>AIR</td><td>AIR</td></tr><tr><td><strong>Proofs</strong></td><td>STARK</td><td>STARK</td><td>STARK / CircleStark</td><td>STARK</td><td>Sumcheck</td><td>CircleSTARK</td><td>STARK</td></tr><tr><td><strong>Commitments</strong></td><td>FRI</td><td>FRI</td><td>FRI</td><td>FRI</td><td>Zeromorph</td><td></td><td>FRI</td></tr><tr><td><strong>Prime Field</strong></td><td>Baby-Bear</td><td>Baby-Bear</td><td>BabyBear / Mersenne31</td><td>Mersenne31</td><td></td><td>Mersenne31 </td><td>Mersenne31</td></tr><tr><td><strong>Memory Argument</strong></td><td><a href="https://github.com/succinctlabs/sp1/blob/5c8a50e08b48d22b88471f39f9cc45947ca3bf5c/book/static/SP1_Turbo_Memory_Argument.pdf">Multi-set Hashing</a></td><td></td><td></td><td></td><td><a href="https://eprint.iacr.org/2025/105">Twist and Shout</a></td><td></td><td>Based on <a href="https://eprint.iacr.org/2023/1115">Two Shuffled Make a RAM</a></td></tr><tr><td><strong>Instruction Set</strong></td><td>RISC-V</td><td>RISC-V</td><td>RISC-V</td><td>Lita ISA</td><td>Risc-V</td><td>Risc-V</td><td>RISCV-32 I+M</td></tr><tr><td><strong>Other thoughts</strong></td><td><p>Extremely popular<br></p><ul><li>Easy to get started</li><li>Good docs &#x26; examples</li><li>product focused</li><li>developer friendly</li></ul></td><td><p>One of the first general-purpose zkVMs<br></p><ul><li>robust codebase</li><li>zirgen language</li><li>organized/ well-documented</li><li>devs with long-term vision</li></ul></td><td><p>Focused on modularity<br></p><ul><li>supports multiple proving backends</li><li>enshrined app level co-processors</li><li>focused on dev ex</li></ul></td><td><p>The truly fastest<br></p><ul><li>custom instruction set architecture (ISA)</li><li>modified from RISC-V to be more zk-friendly</li><li>custom compiler (30x faster)</li></ul></td><td><p>Unique cryptography choices<br></p><ul><li>Sumcheck 👀</li><li>Just One Lookup Table (JOLT)</li><li>smallest + simplest codebase</li><li>most likely to get fully formally verified (sumcheck easier to verifier than, say, FRI)</li></ul></td><td><p></p><p>Goal of processing 1 trillion Hz/s<br></p><ul><li>Switched from folding schemes and elliptic curve groups (Nova/Hypernova/Jolt &#x26; Ristretto 255 for Nexus zkVM2.0) to Stwo</li><li>uses <a href="https://specification.nexus.xyz/">"Harvard architecture in<br>which the program being executed resides in a read-only memory space separate from the data."</a></li></ul></td><td><p></p><p>Make devs happy<br></p><ul><li>separated proof system from the execution layer</li><li>Full EVM equivalent</li><li>should come out summer 2025</li><li>fast and cheap tx for users</li><li>4th full re-write of zk proof sytem</li></ul></td></tr></tbody></table>

[ETH proofs! - a site to determine who is proving ETH blocks for the cheapest cost and the fastest](https://ethproofs.org/)

Other projects not covered here include:

* Linea’s zkEVM
* Polygon’s Miden
* Starknet’s Cairo
* Scroll’s Ceno
* Aztec (needs client-side proving for privacy)
* Projects that modularize type of VM to use:
  * powdr
  * OpenVM


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://fractalyze.gitbook.io/intro/zkvm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
