This is a series of lectures (in the future, possibly seminars) on zero-knowledge, in which we will understand "from scratch" how zk-SNARKs such as Groth16 or Pinocchio and zk-STARK work, including all the components they rely on.
Note 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 mathematics level needed to understand zk and cryptography in general.
- Basic Mathematics for Cryptographers: Number Theory, Group Theory, Finite Fields, Polynomials, Field Extensions, Elliptic Curves: operations and projective coordinates, EC pairing;
- Commitment schemes and Security Analysis Basics
- What are ZK and SNARKs? Circuits, R1CS, QAP, Linear PCPs, Pinocchio and Groth16 constructions, Circom as the R1CS tool.
- ZK-STARKs.
- Add detailed ZK-STARK + Circle STARK analysis (Error-Correcting Codes, Reed-Solomon-based IOP etc.)
- Add more modern protocols (Spartan, Marlin, Halo2 etc.)
- Add example tasks that R&D Engineer in Cryptography needs to solve.