
Get to know your instructor, Marija Mikić, a ZK researcher and professor, as she introduces the world of Zero Knowledge Proofs. Discover the course outline, key topics, and what you’ll gain from exploring the fascinating interplay of mathematics and cryptography. Perfect for anyone curious about the "magic" behind ZK proofs.
Explore the core idea of Zero Knowledge Proofs—proving knowledge without revealing it. Learn about the properties of these cryptographic methods, such as compact proof size, fast verification, and their probabilistic nature.
Discover how Zero Knowledge Proofs work through fun and relatable examples like finding Waldo, a magic cave, and proving the difference between two identical-looking balls. These scenarios simplify complex concepts, showing how to prove knowledge without revealing it. By the end of this lesson, you'll grasp the foundational ideas of Zero Knowledge Proofs in an engaging, memorable way.
Explore the transformative impact of Zero Knowledge Proofs across diverse fields like blockchain, finance, online voting, decentralized identities, and machine learning. Learn how they enable anonymous payments, scalable transaction processing (ZK-rollups), and secure authentication. This lesson highlights real-world applications, showcasing how ZK technology preserves privacy while solving modern challenges in transparency and security.
Understand the roles of the prover and the verifier in Zero Knowledge Proofs. Learn how the prover demonstrates the truth of a statement without revealing additional information, as illustrated through relatable examples like Waldo and the colorblind friend. This lesson solidifies the foundational interaction in ZK protocols, setting the stage for deeper technical insights.
Dive into the evolution of Zero Knowledge Proofs from interactive to non-interactive methods. Learn why modern cryptography favors non-interactive proofs like ZK-SNARKs and ZK-STARKs, exploring their key properties—succinctness, scalability, and transparency. This lesson also introduces the "holy trinity" of Zero Knowledge Proofs: completeness, soundness, and zero-knowledge. By the end, you'll grasp the basics of these revolutionary cryptographic methods.
Dive into the mathematical foundation of Zero Knowledge Proofs by exploring cyclic groups and their connection to discrete logarithms. Learn how group properties, modular arithmetic, and generators form the basis of these cryptographic systems. By the end of this lesson, you'll understand how to determine generators and appreciate their role in building secure cryptographic protocols.
Review the concept of logarithms and their adaptation to cyclic groups in cryptography. Learn how to calculate discrete logarithms and understand their unique solutions within cyclic groups. This lesson also introduces the challenge of solving discrete logarithms for large prime numbers—a foundational problem underpinning cryptographic security. By the end, you’ll grasp why this problem is essential for Zero Knowledge Proofs.
Explore the foundations of finite fields and their application to elliptic curves in cryptography. Learn how elliptic curves form groups over finite fields, defined by the elegant Weierstrass equation, and how these groups play a crucial role in cryptographic protocols. By the end of this lesson, you'll understand the basics of elliptic curve groups and their structure, preparing you for their cryptographic applications.
Learn how group law operates on elliptic curves using the chord and tangent rules. Discover how lines intersecting an elliptic curve define addition operations between points, whether connecting two distinct points or doubling a single point. This lesson illustrates the mechanics of point addition, a critical concept for understanding elliptic curve cryptography.
Learn how scalar multiplication of a point on an elliptic curve is efficiently computed using binary representation and the "double-and-add" method. Discover how elliptic curves offer strong cryptographic security with smaller field sizes, and understand their pivotal role in public key cryptography. This lesson also highlights the computational challenges of multi-scalar multiplication and introduces advanced optimization techniques like the Pippenger algorithm.
Explore the concept of pairings on elliptic curves and their use in verifying Zero Knowledge Proofs. Understand the bilinear property that allows scalars to commute seamlessly between coordinates and exponents. Learn about the three types of bilinear maps, with a focus on the most commonly applied third type, and how these pairings enhance cryptographic systems.
Understand how SNARKs enable short, fast-to-verify proofs without requiring full disclosure of underlying data. Learn how they address challenges like proving knowledge of a large secret, such as a 1 GB preimage, efficiently. This lesson highlights the practicality of SNARKs, even beyond Zero Knowledge scenarios, in making cryptographic proofs scalable and verifiable.
Explore the fundamentals of STARKs (Scalable Transparent Arguments of Knowledge) and their key advantages over SNARKs. Learn how STARKs eliminate the need for a trusted setup, offer quantum resistance, and provide greater transparency, albeit with longer proofs and slower verification times. This lesson sets the stage for understanding their growing role in cryptography.
Learn about the two key components of SNARKs and STARKs: arithmetization and polynomial commitments. Understand how these elements combine to create different SNARK implementations. This lesson introduces the complexity of constructing these cryptographic proofs and sets the stage for a deeper dive into their components later in the course.
Discover how arithmetization transforms computational statements into algebraic representations using bounded-degree polynomials. Learn about different types of arithmetization, including Rank-1 Constraint Systems (R1CS) for SNARKs like GROTH16, and how these methods lay the foundation for creating polynomial constraints. This lesson provides a critical understanding of the mathematical framework behind SNARKs.
Learn how programs are transformed into arithmetic circuits using wires and gates for addition and multiplication. Through examples, see how circuits prove simple claims and understand the complexity of creating circuits for operations like SHA256. This lesson also introduces ZK-friendly functions like Poseidon, designed to simplify proof generation
Discover how PLONK represents arithmetic circuits through gate and copy constraints using mathematical equations. Learn to describe gates uniformly, generalizing them into a single non-linear algebraic equation. This lesson introduces constructing polynomials for circuit wires, coefficients, and optimizations, offering a foundation to explore advanced techniques in PLONK’s arithmetization process.
Learn about trusted setup ceremonies, their purpose, and how they generate essential public data for cryptographic protocols. This lesson explores different types of setups, including per-circuit setups in GROTH16 and universal updatable setups in PLONK. Discover how setups like the Zcash ceremony and the powers-of-tau model ensure security and why they are considered "close enough to trustless" in practice. By the end, you'll grasp the critical role of these ceremonies in SNARKs.
Understand the core of the argument system where the prover demonstrates knowledge of a witness by validating it through a public arithmetic circuit and parameters. Learn how the verifier assesses the proof’s validity, ultimately deciding to accept or reject it. This lesson highlights the interaction mechanics and trust dynamics between the prover and verifier.
Learn about Non-Interactive Preprocessing Argument Systems, where proof generation and verification are optimized using public parameters from a preprocessing setup. Understand how these systems ensure completeness, soundness, and zero knowledge, enabling provers to securely demonstrate knowledge without interaction while revealing nothing about their secret. This lesson solidifies your understanding of efficient, secure cryptographic proof systems.
Explore the concept of commitment schemes, which allow one to commit to a value or function while keeping it hidden until a later reveal. Learn through relatable examples how these schemes ensure binding (preventing changes to the commitment) and hiding (concealing the value until revealed). This lesson also introduces functional commitments, their applications in cryptography, and their use in zero knowledge proofs.
Learn how the KZG polynomial commitment scheme works, including its setup, commit, and evaluation phases. Understand how trusted setups generate public parameters, enabling provers to commit to polynomials without revealing secrets. This lesson explores key concepts like the Schwartz-Zippel lemma, polynomial commitments, and the evaluation process, setting the stage for understanding how verification is completed using elliptic curve pairings.
Explore how the PLONK protocol optimizes SNARKs using the KZG polynomial commitment scheme. Learn how commitments, challenges, and elliptic curve pairings ensure correctness and zero knowledge. This lesson walks through the iterative refinement of the proving and verification process, showing how PLONK eliminates common pitfalls and achieves secure, efficient proofs while preserving privacy.
Step into the cutting-edge world of Zero Knowledge Proofs, a revolutionary cryptographic technology that powers privacy and scalability in modern blockchain systems. This course is designed to guide learners through the theoretical foundations and applications of Zero Knowledge Proofs, making it ideal for blockchain developers, cryptography enthusiasts, and Web3 entrepreneurs.
Starting with the basics, you’ll explore the core principles of Zero Knowledge Proofs, including completeness, soundness, and zero knowledge. You’ll learn how these properties create cryptographic systems that allow the secure verification of knowledge without revealing the knowledge itself. Dive deeper into the building blocks of Zero Knowledge Proofs, such as arithmetic circuits, polynomial commitments, and elliptic curves.
The course also provides an in-depth exploration of advanced technologies like SNARKs (Succinct Non-Interactive Arguments of Knowledge) and STARKs (Scalable Transparent Arguments of Knowledge). You’ll understand their unique properties, use cases, and the role of trusted setups and elliptic curve pairings in their construction. The PLONK protocol is another highlight, showing how it achieves efficiency and scalability through polynomial commitments.
By the end of this course, you’ll have a solid understanding of Zero Knowledge Proofs, enabling you to appreciate their applications in privacy-preserving technologies, anonymous transactions, and decentralized identity systems. Embark on this journey and deepen your expertise in one of the most transformative fields of cryptography!