< All Modules


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:

Tutorial: Building VMs Using STARKs


Videos on the history and design of zk(E)VM :

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.