Skip to main content
Try out the RareSkills ZK AI Tutor!

Blog

The technical content top engineers rely on to level up.

3 min read

Trusted Setup

Trusted Setup A trusted setup is a mechanism ZK-SNARKs use to evaluate a polynomial at a secret value. Observe that a polynomial $f(x)$ can be evaluated by computing the inner product of the...

Last updated onOct 10, 2024
Read Article

22 min read

Elementary Set Theory for Programmers

Elementary Set Theory for Programmers Why another set theory tutorial? The target audience for this piece is the sort of folks who don’t care about abstract math unless they see a direct use-case for...

Last updated onApr 25, 2025
Read Article

17 min read

Quadratic Arithmetic Programs

Quadratic Arithmetic Programs A quadratic arithmetic program is an arithmetic circuit, specifically a Rank 1 Constraint System (R1CS) represented as a set of polynomials. It is derived using Lagrange...

Last updated onMar 22, 2026
Read Article

29 min read

Converting Algebraic Circuits to R1CS (Rank One Constraint System)

Converting Algebraic Circuits to R1CS (Rank One Constraint System) This article is explains how to turn a set of arithmetic constraints into Rank One Constraint System (R1CS). The focus of this...

Last updated onJan 22, 2026
Read Article

9 min read

Building a Zero Knowledge Proof from an R1CS

Building a Zero Knowledge Proof from an R1CS Given an arithmetic circuit encoded as a Rank 1 Constraint System, it is possible to create a ZK-proof of having a witness, albeit not a succinct one....

Last updated onOct 31, 2024
Read Article

18 min read

Elliptic Curves over Finite Fields

Elliptic Curves over Finite Fields What do elliptic curves in finite fields look like? It’s easy to visualize smooth elliptic curves, but what do elliptic curves over a finite field look like? The...

Last updated onMar 22, 2026
Read Article

4 min read

R1CS to Quadratic Arithmetic Program over a Finite Field in Python

R1CS to Quadratic Arithmetic Program over a Finite Field in Python To make the transformation from R1CS to QAP less abstract, let’s use a real example. Let’s say we are encoding the arithmetic...

Last updated onAug 5, 2024
Read Article

18 min read

Groth16 Explained

Groth16 Explained The Groth16 algorithm enables a quadratic arithmetic program to be computed by a prover over elliptic curve points derived in a trusted setup, and quickly checked by a verifier. It...

Last updated onMar 16, 2026
Read Article

14 min read

Elliptic Curve Point Addition

Elliptic Curve Point Addition This article describes how elliptic curve addition works over real numbers. Cryptography uses elliptic curves over finite fields, but elliptic curves are easier to...

Last updated onMar 10, 2026
Read Article

30 min read

Finite Fields and Modular Arithmetic for ZK Proofs

Finite Fields and Modular Arithmetic for ZK Proofs This article is the third in a series. We present finite fields in the context of circuits for zero-knowledge proofs. The previous chapters are P vs...

Last updated onMar 10, 2026
Read Article

10 min read

Evaluating a Quadratic Arithmetic Program on a Trusted Setup

Evaluating a Quadratic Arithmetic Program on a Trusted Setup Evaluating a Quadratic Arithmetic Program (QAP) on a trusted setup enables a prover to demonstrate that a QAP is satisfied without...

Last updated onJan 5, 2026
Read Article

12 min read

Elementary Group Theory for Programmers

Elementary Group Theory for Programmers !Group Theory Hero Image This article provides several examples of algebraic groups so that you can build an intuition for them. A group is a set with: a...

Last updated onFeb 25, 2026
Read Article