Zero-Knowledge Proofs for Builders: Circuits, Rollups and Privacy
Master zero-knowledge proofs: build circuits, deploy rollups, and architect privacy systems. From SNARKs to production.

About this course
Zero-knowledge proofs are reshaping blockchain. They power Ethereum’s rollups, enable privacy-preserving identity, and unlock scalability. But they’re hard to learn—most resources are academic or scattered.
This course teaches ZK from first principles to production code. You will understand what a proof actually attests, why the witness stays hidden, and how a verifier can be a contract on a public chain. You will compare SNARKs and STARKs on proof size, setup, assumptions, and verifier cost, then choose a stack with a table instead of a slogan.
You will write circuits in Circom and Noir. The labs take you through a Merkle membership proof, a range proof, and a thin integration of a Circom proof into a Solidity wrapper, with tests for a valid proof and a rejected one. You will learn how proofs are generated from a witness and a proving key, what a trusted setup and a ceremony actually risk, and how to pin verifying keys honestly, including when parameters are only for development.
The rollup modules explain the difference between optimistic and validity designs, the roles of sequencer, prover, and settlement contract, and the data-availability choice that a proof does not automatically solve. You will read official case studies of Starknet, Polygon zkEVM, and Scroll as dated documentation, then design a small transfer-only validity rollup on paper with a public-input table and a liveness story.
The privacy and identity modules name anonymity, unlinkability, and a careful disclosure story. You will study shielded-transfer and membership-vote mechanisms as teaching tools, with play funds and lawful use only, and you will prove attributes without revealing a whole credential. The final module covers proving time, verification gas, common circuit bugs such as unconstrained values, and a checklist you will apply to your own capstone.
Every lesson includes a worked example and an exercise. The capstone is to design, build, and audit one narrow ZK application—such as an anonymous vote, a toy shielded transfer, or an attribute proof—with circuit code, a verifier or test harness, measurements, and a short audit. Pass the module quizzes and meet the capstone rubric on correctness, security, and clarity to earn the certificate.
Who this is for: blockchain engineers and protocol developers with 1–2 years of Solidity or Rust experience who know hashing and signatures and want to build and review ZK systems.
What you will leave with: 7 modules, 33 lessons, labs in Circom and Noir, quizzes, and a portfolio capstone. Questions? Contact us at https://blockrelations.com/contact/
What you will be able to do
- Can explain what a zero-knowledge proof proves and verify, and why ZK is not encryption or obfuscation
- Can compare SNARKs and STARKs on proof size, verification cost, trusted setup, and scalability tradeoffs
- Can write and test a simple arithmetic circuit in Circom or Noir
- Can integrate a proving system (Circom + snarkjs, or Noir + Aztec) into a Solidity contract
- Can design a ZK rollup architecture and explain how validity proofs replace fraud proofs
- Can implement a privacy application (anonymous voting, shielded transfer, or identity proof) using ZK
- Can audit ZK code for common circuit bugs (unconstrained inputs, under-constrained outputs, witness leakage)
- Can estimate proving time, proof size, and gas cost for a ZK application and optimize for production
Curriculum
1What Zero-Knowledge Proofs Are
- What is a Zero-Knowledge Proof?
- ZK vs. Encryption, Hashing, and Digital Signatures
- The Anatomy of a ZK Proof: Prover, Verifier, and the Statement
- Interactive vs. Non-Interactive Proofs
2SNARKs and STARKs in Plain Terms
- What is a SNARK? Proof Size, Verification, and Trusted Setup
- What is a STARK? Transparency, Scalability, and Quantum Resistance
- SNARK vs. STARK: When to Use Each
- Groth16, Plonk, Halo2, and Cairo—A Landscape
3Writing Circuits
- Setting Up Circom and Writing Your First Circuit
- Constraints, Signals, and Templates in Circom
- Lab: Write a Merkle Tree Membership Proof Circuit
- Introduction to Noir: Circuits in Rust-Like Syntax
- Lab: Write a Range Proof in Noir
4Proving Systems and Trusted Setups
- How Proofs Are Generated: Witness, Constraint System, and Proving Key
- Trusted Setups: Why They Matter and How They Work
- Participating in a Trusted Setup Ceremony
- How Proofs Are Verified On-Chain
- Lab: Integrate a Circom Proof into a Solidity Contract
5ZK Rollups and Validity Proofs
- Rollup Fundamentals: Optimistic vs. Validity Proofs
- ZK Rollup Architecture: Sequencer, Prover, and Settlement
- The Validity Proof Flow: Batching, Proving, and Verification
- StarkNet, Polygon zkEVM, and Scroll: Case Studies
- Lab: Design a ZK Rollup for a Simple Token Transfer System
6Privacy Applications and Identity
- Privacy in Blockchain: Anonymity, Unlinkability, and Deniability
- Shielded Transfers: How Tornado Cash and Zcash Work
- Anonymous Voting: Proof of Membership Without Revealing Identity
- ZK Identity: Proving Attributes Without Revealing Data
- Lab: Build an Anonymous Voting Contract with ZK Proofs
7Performance, Cost, and Auditing
- Proving Time, Proof Size, and Optimization Strategies
- On-Chain Verification Gas Costs and Optimization
- Common Circuit Bugs: Unconstrained Inputs, Witness Leakage, and Soundness Holes
- ZK Code Audit Checklist: What to Look For
- Capstone: Design, Build, and Audit a ZK Application
Taught by Block Relations
Research & Education · Built for blockchain engineers and protocol developers with 1–2 years of Solidity or Rust experience, comfortable with cryptographic concepts such as hashing and signatures, but new to zero-knowledge proofs. You need to understand ZK deeply enough to choose between proving systems, write simple circuits, and integrate ZK rollups or privacy features into production.
Free
Free
Free