This is a series of lectures (in the future, possibly seminars) on zero-knowledge, in which we will understand "from scratch" how SNARKs (Groth16, PLONK), STARK, Bulletproofs (in the future, perhaps also Folding schemes) work.
It is important that this course is designed for a full low-level understanding of these protocols and, accordingly, all the mathematics on which they are based. That is why the course covers not only zk itself and its application directly but also the basic level of mathematics needed to understand zk and cryptography in general.
- Basic Mathematics for Cryptographers: Number Theory, Group Theory, fields, finite fields, polynomials, field extension, elliptic curves, EC pairing;
-
Commitment schemes: KZG, Pedersen Commitment, Functional Commitments,
$\tau$ ceremony. - What are ZK and SNARKs? Circuits, modern construction of SNARK and all components, practical application of Circom.
- Analysis of modern zero-knowledge proving systems: Groth16, Plonk, BulletProofs, STARK, etc.
- Additional specialized topics: low-level optimizations on R1CS, Nova, Folding schemes, etc.