- Classical proofs
- NP Language
- Zero Knowledge Interactive Proofs
- Proof of Knowledge
- All of NP is Zero Knowledge
- Fiat-Shamir paradigm
- Arithmetic circuit
- NARK (Non-interactive Argument of Knowledge)
- Succinct NARK (SNARK)
- Types of preprocessing Setup
- Building an efficient SNARK
- Commitments
- Functional commitment scheme
- Four types of functional commitments
- Polynomial commitment scheme (PCS)
- Interactive Oracle Proof
- Types of IOP
- This was a more hands-on lecture with live coding. So, I don't have notes for this.
- You can watch the lecture video itself.
- And read the following docs:
- Circom
- Wouldn't suggest reading Arkworks and ZoKrates docs. I believe they are not in active development.
- Interactive Proofs
- SNARKs from IP: Outline
- IP design: Technical primitives
- The Sum-check protocol
- Polynomial IOP underlying the SNARK
- KZG PCS
- Proof gadgets
- PLONK IOP
- PLONK is a SNARK
- HyperPlonk
- A generalization: plonkish arithmetization
- Plonk IOP with other PCS