The Zero Knowledge Proofs Learning Circle meets weekly on {Date and Time TBD}. Each week, we will review topics related to Zero Knowledge Proofs and their underpinnings. The goal is to get us enough of an understanding of the math and tooling that we can begin to build Zero Knowledge applications based on ZK-SNARKS and to feel comfortable diving into further Zero Knowledge topics. The curriculum for this learning circle includes The MoonMath Manual by Least Authority, ZK Whiteboard Sessions by ZK Hack, Circom and SnarkJS documentation, and repositories of various Zero Knowledge projects. Each week, we will read/watch the associated materials and do any associated exercises. During our weekly meeting, we will discuss what we learned.
- Install Sagemath and Circom
- Complete Chapter 3 Exercises
- Complete Chapter 4 Exercises
Week 3: MoonMath Manual Chapter 5: Elliptic Curves (Short Weierstrass Curves, Mongomery Curves, Twisted Edwards Curves)
- Complete Chapter 5.1 - 5.3 Exercises
Week 4: MoonMath Manual Chapter 5: Elliptic Curves (Elliptic Curve Pairings, Hashing Curves, Constructing Elliptic Curves)
- Complete Chapter 5.4 - 5.6 Exercises
- Complete Chapter 6 Exercises
Week 8: MoonMath Chapter 8: Zero Knowledge Proofs (Proof Systems) & ZK Whiteboard Session Module 1: What is a Snark?
- Reading/video only
- Be able to describe what a ZK-SNARK is and how it is constructed in your own words
- Supplement reading with Circom docs
- Complete Chapter 7 Exercises
- Supplement reading with SnarkJS docs
- Complete Chapter 8 Exercises
- Pick a cool ZK project from the ecosystem (it could be your own!) and do a short presentation on what it is and how it works