Sign up and learn more about the ZKP/Web3 Hackathon here!


Dan Boneh Shafi Goldwasser Dawn Song Justin Thaler Yupeng Zhang
Dan Boneh Shafi Goldwasser Dawn Song Justin Thaler Yupeng Zhang
Stanford UC Berkeley UC Berkeley Georgetown University Texas A&M University

Syllabus (subject to change)

Date Topic
01/17 Introduction and History of ZKP | Lecture | Playlist | Quiz | Slides

Readings Other Helpful Resources
01/24 Overview of Modern SNARK Constructions | Lecture | Playlist | Quiz | Slides

01/31 Libraries and Compilers to build ZKP | Lecture | Playlist | Quiz | Slides

2. Efficient Constructions of ZKP
2.1. Polynomial IOPs
02/07 Interactive Proofs (IP) | Lecture | Playlist | Quiz | Slides

Readings Other Helpful Resources
02/14 Plonk Interactive Oracle Proofs (IOP) | Lecture | Playlist | Quiz | Slides

2.2. Polynomial Commitments
02/21 Discrete-log-based Polynomial Commitments | Lecture | Playlist | Quiz | Slides

02/28 ZKP based on Error-Correcting Codes | Lecture | Playlist | Quiz | Slides

03/07 Transparent ZKP | Lecture | Playlist | Quiz | Slides

2.3. Linear PCP
03/14 Linear Probabilistically Checkable Proofs (PCP) | Lecture | Playlist | Quiz | Slides

2.4. Recursive SNARKs
03/21 Recursive SNARKs, Aggregation and Accumulation | Lecture | Playlist | Quiz | Slides

Spring Break (03/27 - 03/31)
3. Applications and Advanced Topics in ZKP
04/04 Theoretical Foundations & Recent Theoretical Advancements | Lecture | Playlist | Quiz | Slides
04/11 Overview of ZKP Applications & zkRollup and zkEVM | Lecture | Playlist | Slides
Building opcode compatible zk EVMs | Lecture | Slides
04/18 Privacy-preserving Architectures | Lecture | Slides
04/25 ZKP Applications & zkBridge, Trustless Bridge made Practical | Lecture | Slides
More ZKP Applications | Lecture | Slides
05/02 Formal Verification of ZKP | Lecture | Playlist | Slides
05/09 Hardware Acceleration of ZKP | Lecture

Course Work


All quizzes are released in parallel with (or shortly after) the corresponding lecture and will be due midnight the following Tuesday. Please remember to complete the quiz each week. Although it’s graded on completion , we encourage you to do your best. The questions are all multiple-choice.

Course Completion NFTs

We will distribute NFTs for completion of the course. Below are the rules for different tiers (subject to change):

Honorary Tier: Instructors, guest speakers, TAs, and the most supportive students who help others on Discord will be rewarded with special NFTs.

Legendary Tier: Students must:

Ninja Tier: Students must:

Trailblazer Tier:

Course Description

This class aims to bring together students and experts in academia and industry to explore Zero-Knowledge Proofs (ZKP). ZKP is a classical cryptographic primitive that ensures the validity of data and computations without sacrificing their confidentiality. It was proposed in the seminal paper by Goldwasser-Micali-Rackoff in 1985. Long considered wildly impractical, ZKPs have seen enormous efficiency improvements over the last decade. This has unlocked entirely new paradigms in the design of distributed and trustless systems, making ZKP one of the most important technologies to the future of blockchains. ZKPs are already being used to build privacy-preserving cryptocurrencies and to improve scalability via zkRollups and zkEVMs, and they stand poised to transform society’s mechanisms for establishing trust and privacy in the coming years and decades.

Our goal is to provide a platform for students to learn the cutting-edge technology of ZKP. Through the exposure to research in academia, and technology in industry, the students will be able to quickly gain the knowledge of ZKP and to develop ZKP systems for various applications.

This course covers fundamental techniques to build ZKP protocols, tools to implement ZKP for different computations, and different applications of ZKP in blockchain and other areas. Topics in the course include:

Assignment Timeline

Assignment Released Deadline
Lab (Submission) 02/28 03/13
HW (Solutions) 04/04 04/17

Class Start Date

January 17, 2023