📘 Proofs, Arguments, and Zero-Knowledge

Proofs, Arguments, and Zero-Knowledge by Justin Thaler offers a comprehensive and modern introduction to the theory of probabilistic proofs and cryptographic arguments. This textbook provides a unified treatment of foundational techniques used in interactive proofs, SNARKs, and zero-knowledge systems. It is ideal for students and researchers interested in complexity theory, cryptography, and secure computation.

The book is self-contained and pedagogical, blending formal rigor with clear intuition. It features numerous exercises and a progressive structure, starting from classical proof systems to advanced modern protocols.

🎯 What You’ll Learn

  • 🔁 The distinction between proofs, arguments, and zero-knowledge proofs
  • 🎲 Probabilistically checkable proofs (PCPs) and their significance
  • 🔐 Interactive proofs, multi-prover systems, and non-interactive arguments
  • 🧠 Key constructions like Freivalds algorithm and sum-check protocols
  • 🧩 SNARKs, zk-SNARKs, and succinct non-interactive arguments
  • 🚧 The role of cryptographic assumptions (e.g., collision resistance, knowledge soundness)
  • 📦 Applications to verifiable computation, blockchain, and privacy-preserving systems

📦 Structure in This Repository

This section of the repository contains:

  • courses/: Chapter notes and walkthroughs
  • examples/: Rust implementations of protocols
  • exercices/: Solutions and explanations for key problems
  • images/: Supporting visuals and protocol diagrams

🆕 Status

This module is under active development. Contributions are welcome to expand code implementations and deepen documentation for each chapter.