Skip to main content
11 Weeks of Online Classes

Zero Knowledge Bootcamp

Advanced zero-knowledge applications and protocols for experienced developers.

Next Cohort:
Jul 14, 2026 at 8:00 AM EDT

Overview

Vitalik Buterin

"I expect ZK-SNARKs to be a significant revolution as they permeate the mainstream world over the next 10-20 years"

Vitalik Buterin

Ethereum Co-Founder

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?

We don’t think so. If you have a STEM major or taught yourself how to code, you’ll be able to learn the parts you need. Abstract algebra isn’t useful because of its complexity (it’s not complex), but because of its generalizability. We will only cover elementary abstract algebra, equivalent to two or three chapters in a lightweight textbook.

Don't ZK proofs require moon math?

No, only bilinear pairings can rightfully be considered moon math. The rest requires math every 1st year undergraduate STEM major knows (or can easily learn). But armed with abstract algebra, you’ll be able to literally abstract away the complexity and focus on the practical aspects.

Prerequisites

Python and numpy. Basic experience with Jupyter Notebooks is highly recommended.

You need to have taken a course on linear algebra before. It’s okay if you’ve forgotten it, we will give you some refresher materials, but to really appreciate abstract algebra, you need to have seen at least two fields of “traditional” algebra. We will also take it for granted that you know how matrix multiplication and the dot product works.

You should know what Z.K.-S.N.A.R.K. stands for and what each term means. We will not waste time explaining to you why ZK-SNARKs are important. Hopefully you know that already.

Being familiar with Solidity, Yul assembly, and ABI encoding will be helpful for completing the assignments. If you do not come from a smart contract programming background, we have a separate set of assignments for you to enforce the concepts as a replacement for the Solidity ones. The course is taught from the perspective of a Solidity developer, but blockchain developers from other chains like Solana can benefit too, even those from a non-web3 technical background such as machine learning engineers.

ZK Bootcamp syllabus

Last updated on Apr, 2025
1.

Algebraic Structures

Sets, semigroups, monoids, groups, abelian groups, cyclic groups, rings, and fields.

2.

Homomorphisms and Modular Arithmetic

Galois fields, Galois field arithmetic, homomorphic encryption.

3.

Introduction to Elliptic Curves and ECDSA

Why elliptic curve addition is closed. Elliptic Curve Digital Signature Algorithm.

4.

BN128 Curve Arithmetic

Elliptic Curve addition, scalar multiplication, point negation.

5.

Bilinear Pairings

Optimal ate pairing, G1, G2, and G12, EIP-197, symmetric and asymmetric pairings, final exponentiate.

6.

Arithmetic Circuits

Witnesses, computation vs verification.

7.

Rank 1 Constraint Systems

Rank 1 Constraint Systems, ZK-NARKS (non-succinct ZK Proofs).

8.

Quadratic Arithmetic Programs

Schwartz-Zippel Lemma, Polynomial and Column Vector Rings, Lagrange Interpolation, target polynomial.

9.

Evaluating Polynomials at Elliptic Curve Points

Polynomials as inner products, evaluating polynomials without knowing x.

10.

Groth16 Part 1

Proof forgery, alpha, beta, trusted setup.

11.

Groth16 Part 2

Gamma, delta, salts, end-to-end Groth16.

Your Instructor

Course Instructor

João Paulo Morais

João Paulo Morais, a PhD in physics with 30+ academic publications, began programming in Pascal and Clipper. In 2021, he pivoted to Web3, blockchain, and cryptography, focusing on Ethereum and zero-knowledge proofs. He teaches a Solidity course on Udemy (in Portuguese) and has authored advanced articles on Solidity for RareSkills.

Flexible Plans

ZK Bootcamp Pricing

Next Cohort:
Jul 14, 2026 at 8:00 AM EDT
Save 2% if you pay with USDC or USDT

Standard

$2,600

/ Upfront

$1,000 × 3

/ Monthly
  • 11 × Weekly Live Classes
  • Tailored Homework
  • Access to the RareSkills Slack and Discord Community (Lifetime Access)

Premium

$3,900

/ Upfront

$2,100 × 2

/ Monthly
  • Everything in Starter Tier
  • 11 × Individual Code Review and Mentoring Sessions
Everything You Need To Know

Frequently Asked Questions

Unlock Your Potential

Job Opportunities

Smart Contract Engineer

Smart Contract Engineer

Category Labs is looking for a Smart Contract Engineer to join the core engineering team to build at the application layer.

Senior Protocol Engineer

Senior Protocol Engineer

Join us as a Senior Protocol Engineer at Sorella Labs, where you will be instrumental in architecting and engineering a first-of-its-kind decentralised trading system at the forefront of MEV-aware application design.

DeFi Risk & Strategy Lead

DeFi Risk & Strategy Lead

You will be the single owner of our risk and strategy function. From researching new yield opportunities to designing leveraged positions, building risk frameworks, conducting due diligence on protocols, and monitoring everything in real-time.

Growth Lead

Growth Lead

We're seeking a growth lead to scale HyperLink's adoption, TVL, and partner ecosystem.