Our Study Groups are educational initiatives focused on books and research papers discussing zero-knowledge. ZK Hack community can gather together and dive into these ZK-resources to study the theoretical and practical details.
In the below sessions produced by ZK Hack with the support of Least Authority, we cover the different chapters of the MoonMath Manual, including the many exercises for the students to practice.
This is the ZK Hack MoonMath Manual Study Group!
Join the dedicated channel in our Discord to meet other Study Groupers.
Intro & Setup
This part corresponds to the chapters 1 & 2 of the MoonMath Manual + preparatory steps
Follow the indications from the MoonMath Manual (MMM) to install Sage and Circom. The introduction also gives some context about zero-knowledge and SNARKs.
Our moderator @ret2basic created this GitHub repo to gather all the notes, exercise solutions and extra comments, as a way to archive the learning progress. It is used throughout the whole Study Group.
Below are some additional ressources to complement the MoonMath Manual.
– ZK introduction by RareSkills: it assumes minimal math background, and is recommended to read in parallel with MMM
– Advanced undergrad / first-year grad cryptography course: taught by Goldwasser at MIT (Youtube video)
– A nice short book that explains the motivation behind ECC: supplementary resource for Chapter 3,4, and 5
– Number theory notes: by Ben Lynn from Stanford
– Abstract algebra intro: easy to follow Youtube video
– Cryptography hacking challenges: Cryptohack is a platform to learn about cryptography through solving challenges
– MIT ZK course: [MIT IAP 2023] Modern Zero Knowledge Cryptography
– Circom workshops: produced by 0xPARC
– A course on the theoretical aspects of ZK: a MOOC produced in 2023 with renowned ZK instructors
Arithmetics
This part corresponds to the chapter 3 of the MoonMath Manual
The Study Groupers gathered in a live session on Thursday 18 April at 11:00 AM UTC to cover questions and exercises from Chapter 3: Arithmetics.
Check out this link to @ret2basic notes for this session for an overview of what they discussed and worked on.
This MMM chapter provides good foundational knowledge to learn about Public-key cryptography, which was the topic for the second hour of the session.
Algebra
This part corresponds to the chapter 4 of the MoonMath Manual
The Study Groupers gathered in a live session on Thursday 25 April at 11:00 AM UTC to cover questions and exercises from Chapter 4: Algebra.
Check out this link to @ret2basic notes for this session for an overview of what they discussed and worked on.
In the first part of the session, Jasper from Least Authority covered exercices 37, 41 and 42 from Chapter 4: Algebra.
To expand on the concepts covered in the chapter, @ret2basic also gave a lecture about Cyclical Groups.
The Study Groupers then gathered in a live session on Thursday 2 May at 11:00 AM UTC and Jasper from Least Authority covered exercices 47, 48 and 54 from the second part of Chapter 4: Algebra.
Check out this link to @ret2basic notes for this session for an overview of what they discussed and worked on.
Elliptic Curves
This part corresponds to the chapter 5 of the MoonMath Manual
The Study Groupers gathered in a live session on Thursday 16 May to cover questions and exercises from the first part of Chapter 5: Elliptic Curves.
Check out this link to @ret2basic notes for this session, corresponding to his lecture about Elliptic Curves – see recording just below.
Anna from Least Authority then covered exercices 58, 71 and 94 from the Chapter 5: Elliptic Curves.
The Study Groupers gathered again on Thursday 30 May at 11:00 AM UTC, and in the second part @ret2basic ran a lecture about the elliptic curve BLS12-381, inspired from this article written by Ben Edgington (@ret2basic notes are available here).
And on Thursday 6 June at 11:00 AM UTC, Anna from Least Authority covered exercises 96, 97 and 101 from the Chapter 5: Elliptic Curves.
Statements
This part corresponds to the chapter 6 of the MoonMath Manual
When the Study Groupers gathered on Thursday 30 May at 11:00 AM UTC, @Anna from Least Authority covered exercises 103 and 106 from Chapter 6: Statements. She also reviewed the same exercises in the first part of the session on Thursday 13 June (second video below).
The Study Groupers gathered again on Thursday 6 June at 11:00 AM UTC, and in the second part @ret2basic started his series about building Groth16 end-to-end using Circom (@ret2basic notes are available here).
Circuit Compilers
This part corresponds to the chapter 7 of the MoonMath Manual
The Study Groupers gathered on Thursday 13 June at 11:00 AM UTC, and in the second part @ret2basic continued his series about R1CS and building Groth16 end-to-end using Circom (@ret2basic notes are available here).
Zero Knowledge Proofs
This part corresponds more or less to the chapter 8 of the MoonMath Manual (but tackles several of them really)
The Study Groupers gathered in a live session on Thursday 20 June at 11:00 AM UTC to continue the lecture series on Zero Knowledge Proofs, R1CS and Groth16 (@ret2basic notes are available here).
The Study Groupers gathered for the last live session on Thursday 27 June at 11:00 AM UTC to continue the lecture series on Zero Knowledge Proofs, R1CS and Groth16 (@ret2basic notes are available here).
Get notified on latest ZK Hack news by signing up below.
Thank you!
You have successfully joined our subscriber list.