11 Weeks of Online Classes
Zero Knowledge Bootcamp

Zero Knowledge proofs (ZK proofs) have two incredible properties:
- They allow privacy preservation in ways that were previously impossible, and
- They allow the computation to be verified faster than the original computation.
- This allows for the Ethereum blockchain to scale up because validators don’t have to re-run all the transactions to ensure they are valid - they just need to check the proofs.
Unfortunately, like all new technologies, learning Zero Knowledge is not easy. But that’s what this Zero Knowledge course is for!
This course is not simply about writing applications in Zero Knowledge programming languages, but acquiring such a comprehensive understanding of the subject that you can write a Zero Knowledge proof algorithm from scratch.
Isn’t abstract algebra hard to learn?
Don't ZK proofs require moon math?
Before You Start
Prerequisites
Structured For Success
ZK Bootcamp Curriculum
Algebraic Structures
Homomorphisms and Modular Arithmetic
Introduction to Elliptic Curves and ECDSA
BN128 Curve Arithmetic
Bilinear Pairings
Arithmetic Circuits
Rank 1 Constraint Systems
Quadratic Arithmetic Programs
Evaluating Polynomials at Elliptic Curve Points
Groth16 Part 1
Groth16 Part 2
Meet Your Mentor
Your Instructor
Welcome Onboard
Onboarding Process
1
Apply To Enroll
5
Attend Class
2
Interview
3
Payment
4
Course Access
Flexible Plans
ZK Bootcamp Pricing
Standard
- 11 × Weeks Lectures
- Tailored Homework
- Weekly Office Hours (Lifetime Access)
- Access to the RareSkills Slack and Discord Community (Lifetime Access)
Premium
- Everything in Starter Tier
- 11 × Individual Code Review and Mentoring Sessions
Making Their Mark
Our Impressive Alumni
Everything You Need To Know
Frequently Asked Questions
Your topics section has a lot of scary math terminology. Are you sure this doesn’t require moon math?
Although mathematicians often use unnecessarily complex vocabulary to describe simple concepts, we opt to use their lingo because it will help you study the literature on your own later. You’ll get used to it pretty quickly.
I want to get started right now. What should I do?
Please read our article Elementary Set Theory and Abstract Algebra for Programmers and do the exercises in it.
Is this course self-paced?
No. If you are just looking to casually understand the subject, check out our blog topics tagged Zero Knowledge Proof. This course is intended for serious learners who are not satisfied with going halfway.
What is the course structure?
If you purchase the basic plan, you get access to weekly live lectures (11 total), study materials, and the RareSkills community. If you purchase the premium plan, you also get a weekly one-on-one meeting (11 in total) with one of the instructors to review your code and make sure you really understand the material. The hard commitments are 1 hour per week, plus an optional 30-minute meeting.
How many hours per week?
This will strongly depend on your background. If you’ve already taken an abstract algebra course, you might be able to do the course in as little as 6 hours a week. If you’re newer to the fields of math we’ve listed above, you should set aside 20 hours to be on the safe side, as it will take more time for the concepts to sink in and complete the homework satisfactorily.
I don’t care how Zero Knowledge works. I just want to use it.
This isn’t advisable because without a deeper understanding, you won’t be able to design applications, and you’ll have a harder time understanding vulnerabilities. Additionally, there seem to be far more jobs in the infrastructure layer than the application layer. That said, our Zero Knowledge puzzles (in Circom) and Noir puzzles are open-sourced. So check them out to start writing code right away.
How good do I need to be at Python?
Beginner is good enough. We use Python as it has some handy math libraries that we will explicitly teach. You are free to use another language, but you’ll need to find the equivalent libraries on your own. If you prefer to use math software like Matlab, you can do that also, but we won’t offer support for other languages. That said, you need to be proficient at coding in general. If you are completely new to Python, we will provide some pre-course study materials for you to go over.
Is this in person or online?
100% online. Everything will be done through Google meets.