Learn & resources
How zkEVM Transforms Smart Contracts with Zero-Knowledge Proofs
What is Ethproofs?
Ethproofs is a block proof explorer for Ethereum. It aggregates data from various zkVM teams to provide a comprehensive overview of proven blocks, including key metrics such as cost, latency, and proving time.
Users can compare proofs by block, download them, and explore various proof metadata(size, clock cycle, type) to better understand the individual zkVMs and its proof generation process.
The aim is to establish a public good that evolves into the standard for Ethereum block execution proof for zkVMs, ultimately expanding to encompass all Ethereum blocks while maintaining reasonable costs and latency. This project may also support multiple-proof systems in the future.
Overview
What is zkVM?
A zkVM (Zero-Knowledge Virtual Machine) is a virtual machine that leverages zero-knowledge proofs(opens in a new tab) for private and verifiable computation on generic programs. It is a broader concept than a zkEVM (Zero-Knowledge Ethereum Virtual Machine), which is a specific type of zkVM designed to execute Ethereum smart contracts.
What are SNARKs?
SNARK stands for Succinct Non-interactive ARgument of Knowledge. It is a cryptographic proof that allows one party to demonstrate to another party that they know a particular piece of information without revealing the information itself.
Key features of SNARKs:
- Succinct: The proofs are very short and can be verified quickly, even if the original computation is complex.
- Non-interactive: The proof is provided in a single communication, with no need for multiple rounds of exchange between the prover and verifier.
- Argument of Knowledge: The prover demonstrates that they actually possess knowledge of the solution, not just that a solution exists.
In blockchain and Ethereum, SNARKs can be used to verify state or computations off-chain, improving scalability and privacy by reducing the amount of data that needs to be processed on-chain.
Potential benefits and use cases
- Enabling full ZK light clients of Ethereum to run on low powered devices (eg. smartphones). Syncing with the network can be done via a single ZK proof verification (once we combine block execution ZK proofs with Sync Committee ZK proofs).
- Reduce the time and resources necessary for a new node or wallet to participate in the Ethereum network.
- Validate any current or historic Ethereum state with a single proof.
- Lay the groundwork for multi-client & multi-proof ZK proofs of Ethereum.
- Start tests of Ethereum enshrinement. These proofs will provide a large corpus of data for further research into performance improvements, gas/proving fee schedules, and more for the larger ZK community.
- Empower the Ethereum Ecosystem to take this powerful new ZK technology
Learn about zkVMs
There are list of zkVMs(opens in a new tab) that are designed in various approaches.
More resources
- a zero-knowledge paradigm series(opens in a new tab)
- cairo – a turing-complete stark-friendly cpu architecture - shahar papini(opens in a new tab)
- lasso + jolt playlist(opens in a new tab)
- new paradigm in ethereum l2 scaling: multi-proving and zk-vms(opens in a new tab)
- the nexus v1.0 zkvm - daniel marin (nexus)(opens in a new tab)
- understanding jolt: clarifications and reflections(opens in a new tab)
- zk whiteboard sessions – module seven: zero knowledge virtual machines (zkvm) with grjte(opens in a new tab)
- zk10: analysis of zkvm designs - wei dai & terry chung(opens in a new tab)
- zk11: o1vm: building a real-world zkvm for mips - danny willems(opens in a new tab)
- zk12: memory checking in ivc-based zkvm - jens groth(opens in a new tab)
- zk7: miden vm: a stark-friendly vm for blockchains - bobbin threadbare – polygon(opens in a new tab)
- zeroing into zkvm(opens in a new tab)
- zkvm design walkthrough with max and daniel(opens in a new tab)
- Verification of zkWasm in Coq(opens in a new tab)
- zk11: polynomial acceleration for stark vms(opens in a new tab)
- what does risc v have to do with risc zero's zkvm(opens in a new tab)
- risc zero architecture presentation @ stanford(opens in a new tab)
- continuations: scaling in zkvm(opens in a new tab)
- Getting the bugs out of SNARKs: The road ahead(opens in a new tab)
- ~tacryt-socryp on Zorp, the Nock zkVM | Reassembly23(opens in a new tab)
Tutorials
- brainfuck tutorial(opens in a new tab)
- chip0(opens in a new tab)
- continuous read only memory constraints an implementation using lambdaworks(opens in a new tab)
- fri from scratch(opens in a new tab)
- stark by hand(opens in a new tab)
- stark brainfuck(opens in a new tab)
- stark 101(opens in a new tab)
- stwo brainfuck(opens in a new tab)
- useless zkvm(opens in a new tab)