Last updated on

Zero-Knowledge Proofs: A Practical Learning Path


This is not a complete list of everything in the zero-knowledge universe.

Instead, it’s an opinionated map of resources that I personally found helpful on my journey – especially as an engineer coming from Web3 / smart contracts who wanted to really understand ZK.

I’ve grouped things roughly by “where you are” in your journey.


1. Fundamentals & intuition (no heavy math required)

If you’re new to ZK, these are perfect “first-contact” resources. They focus on intuition and story before dropping you into full protocol details.

These alone are enough to give you a solid “mental model” of what zero-knowledge proofs are and when they’re useful.


2. Deeper theory: when you’re ready for polynomials & commitments

Once the basics click, you’ll eventually want to understand why zk-SNARKs and zk-STARKs work under the hood.

If you work through the RareSkills ZK Book + MoonMath and dip into Vitalik’s posts when you hit new concepts, you’ll have a very strong foundation.


3. Whiteboards & concept deep dives

If you prefer to learn by watching someone talk and draw, these are gold.

ZK Hack – whiteboard sessions

Video series that walks through core ZK building blocks step by step: from “What is a SNARK?” to PLONK, lookup arguments, zkVMs and zk-rollups.

Great “commute learning” or “evening with a notebook” content.

0xPARC – applied ZK learning tracks

Hands-on learning tracks for specific stacks:

These walk you through building circuits in practice, not just reading about them.


4. Structured courses & programs

If you like full courses rather than stitching together blog posts:

  • Zero Knowledge Proofs MOOC (zk-learning.org)
    A full MOOC with lectures, notes and exercises covering modern ZKP theory and practice.
    zk-learning.org

  • MIT IAP – Modern Zero Knowledge Cryptography
    Course focused on modern ZK crypto, with lectures, problem sets, and suggested projects.
    zkiap.com

  • BIU Winter School on Cryptography – Zero Knowledge
    Multi-day winter school focused entirely on ZK, with lecture videos and materials.
    (Linked from the Awesome Zero-Knowledge Proofs list.)
    cyber.biu.ac.il/event/the-9th-biu-winter-school-on-cryptography

You don’t need to do all of these. Picking one main structured course plus the books/resources above is usually more than enough.


5. Hands-on circuits & frameworks

At some point, you need to actually write circuits and generate proofs.

Here are good places to start:

Pick a stack (Circom, Halo2, Noir, …), build a few circuits, and debug them. That experience changes how you read the more theoretical resources.


6. Podcasts & “stay up to date” streams

ZK moves fast. These help you stay in the loop.

  • Zero Knowledge Podcast
    Long-form conversations with researchers, protocol teams, and builders across the ZK ecosystem.
    zeroknowledge.fm

  • Zero Knowledge Podcast YouTube
    If you prefer video / YouTube playlists:
    youtube.com/@zeroknowledgefm

  • ZK Hack
    In addition to the whiteboard sessions, ZK Hack runs hackathons, workshops and publishes blogs.
    zkhack.dev

Listening to these regularly gives you a feel for what people are actually building, which research directions are hot, and which tools are maturing.


7. Applications & inspiration

Sometimes you just need to see real-world use cases to stay motivated.

  • Dark Forest – zkSNARK-powered strategy game
    One of the best examples of ZK used for gameplay, not just finance.
    blog.zkga.me

  • ZK Email – zero-knowledge proofs over emails
    Prove properties about your email (domain, content, etc.) in-circuit without exposing the underlying data.
    Website: zk.email
    GitHub org: github.com/zkemail

  • awesome-zkml – ZK for machine learning
    A curated list of ZK + ML projects and resources.
    github.com/worldcoin/awesome-zkml

Exploring these projects is a good way to answer the question: “Okay, but what can I actually build with ZK?”


8. More curated lists

This page is intentionally small and opinionated.

If you want a much broader directory of papers, implementations, and systems, check out:


If you use this page as a rough learning path – from fundamentals to deeper theory, then into one concrete stack and real applications – you’ll be in a very good position to understand and build serious ZK systems.