The MoonMath Manual

To zk-SNARKs

The MoonMath Manual will serve as a resource for anyone interested in understanding and unlocking the potential of zk-SNARKs, from beginners to experts.

The acronym zk-SNARK stands for “Zero-Knowledge Succinct Non-Interactive Argument of Knowledge,” and refers to a cryptographic technique where one can prove possession of certain information without revealing the information itself. Zk-SNARKs, a type of zero-knowledge proof, offer a new paradigm for privacy, and have been used to enable private blockchain transactions. They also have  the potential to securely scale blockchain-based solutions.

Most explanations struggle to clarify how and why they work, so zk-SNARKs remain somewhat “magical” and elusive, deterring developers from exploring or utilizing them in projects. Resources are scattered across blog posts and Github libraries. This results in a high barrier to entry, thereby slowing the widespread adoption of zk-SNARKs and associated privacy-enhancing technologies. Even worse, implementing zk-SNARKs without understanding the fundamentals of how they work increases the potential for security issues.

We want to change that with our MoonMath Manual to zk-SNARKs, designed for an audience with only minimal experience in cryptography and programming.

What is particularly unique about the MoonMath Manual is that it is designed to enable users to construct zk-SNARKs using simple pen-and-paper computations. Throughout the manual, users are encouraged to complete exercises that ensure they engage with the foundational building blocks of zk-SNARKs. While doing that, readers build the smallest possible but fully functional cryptographic stack to compute zk-SNARK internals without the need of a computer.

As users go through the manual, they will not only grasp mathematical concepts that are used in SNARKs, but also in other zero-knowledge proofs and cryptography more generally. 


  • First release: Q2 2022
  • Progress depends on sufficient funding.


If you wish to support our efforts in producing and disseminating the MoonMath Manual to zk-SNARKs you can contribute to our Gitcoin fundraiser.

Special Thanks

A special thanks to a sponsor of this grant Skilltree, whose early contribution supported the start of this project.

Skilltree is a sustainable educational ecosystem and certification framework that rewards content producers, learners and sponsors.

Skilltree’s sponsorship pools and educational tools empower industry experts to produce courses that benefit learning communities. It supports the elevation of learners into subject matter experts, empowers them to help others on the same journey, and enables them to monetize their own knowledge. Learn more at