| 1. Introduction of ZKP |
| 01/17 |
Introduction and History of ZKP |
| 01/24 |
Overview of Modern SNARK Constructions |
| 01/31 |
Libraries and Compilers to build ZKP |
| 2. Efficient Constructions of ZKP |
| 2.1. Polynomial IOPs |
| 02/07 |
Interactive Proofs (IP) |
| 02/14 |
Plonk Interactive Oracle Proofs (IOP) |
| 2.2. Polynomial Commitments |
| 02/21 |
Discrete-log-based Polynomial Commitments |
| 02/28 |
ZKP based on Error-Correcting Codes |
| 03/07 |
Transparent ZKP |
| 2.3. Linear PCP |
| 03/14 |
Linear Probabilistically Checkable Proofs (PCP) |
| 2.4. Recursive SNARKs |
| 03/21 |
Recursive SNARKs, Aggregation and Accumulation |
| Spring Break (03/27 - 03/31) |
| 3. Applications of ZKP |
| 04/04 |
Improving Blockchain Scalability: zkRollup and zkEVM |
| 04/11 |
Privacy-preserving Blockchains |
| 04/18 |
Other Applications of ZKP |
| 4. Advanced Topics in ZKP |
| 04/25 |
Theoretical Foundations & Recent Theoretical Advancements |
| 05/02 |
Hardware Acceleration of ZKP |
| 05/09 |
Formal Verification of ZKP (Optional Lecture) |