MODULE SEVEN
Zero Knowledge Virtual Machines (zkVM)
In Module 7, grjte from Polygon Miden joins us to chat about how we build zero knowledge virtual machines from zero knowledge proofs. She explores how Miden navigates different design choices, how individual components work, and the building blocks of zkVM that make it work.
What you’ll learn:
- Definition of zkVM (0:28)
- “ASIC” vs “CPU” approach to arbitrary computation in zk (4:48)
- History of zkVM (8:01)
- Building blocks that zkVMs share (9:12)
- Summary of general zkVM design model (21:34)
- Design considerations for zk VMs (23:42)
- Handling program initialization (26:54)
- Applying constraints selectively (32:25)
- Control flow & program decoding (38:42)
- Connecting trace segments via lookups (50:41)
Below is an accompanying reading list:
Documentation & Papers on Zero Knowledge Virtual Machines:
- Miden VM announcement and documentation
- Cairo – a Turing-complete STARK-friendly CPU architecture
- RISC Zero documentation
- Consensys paper ‘A specification for a ZK-EVM’ (linked in this announcement)
Lookup Arguments:
Tutorial: Building VMs Using STARKs
- BrainSTARK: https://aszepieniec.github.io/stark-brainfuck/
Videos on the history and design of zk(E)VM :
- TinyRAM by Madars Virza: https://www.youtube.com/watch?v=nS3smRAfUd8
- zkEVM: History and Design by Alex Gluchowski (zkSync): https://www.youtube.com/watch?v=6wLSkpIHXM8
- Technical Approach to Polygon ZK-EVM by Jordi Baylina: https://www.youtube.com/watch?v=17d5DG6L2nw
- zkEVM Circuit Arithmetization by Ye Zhang (Scroll Tech): https://www.youtube.com/watch?v=DT8g3veR17k
- Miden VM: a STARK-friendly VM for blockchains by Bobbin Threadbare (Polygon): https://www.youtube.com/watch?v=81UAaiIgIYA
ZK Whiteboard Sessions is an educational series on all things zero knowledge. Produced by ZK Hack and powered by Polygon – we’ll be releasing a new module every week!
Get notified on latest module upload by signing up below.
You're in. We'll let you know when the next module is live!