Zero Knowledge
Browse all Zero Knowledge articles.
22 min read
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…
25 min read
Arithmetic Circuits for ZK
In the context of zero-knowledge proofs, an arithmetic circuit is a system of equations that models a problem in NP.
12 min read
Abstract Algebra
Abstract Algebra is the study of sets that have one or more operators on that set.
15 min read
Bilinear Pairings in Python, Solidity, and the EVM
Sometimes also called bilinear mappings, bilinear pairings allow us to take three numbers, a, b, and c, where ab = c, encrypt them to become E(a), E(b)…
30 min read
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.
12 min read
Elementary Group Theory for Programmers
This article provides several examples of algebraic groups so that you can build an intuition for them. We also discussed abelian groups.
30 min read
P vs NP Explained Simply, and Why It Matters for ZK Proofs
P vs NP asks if every problem that is quick to verify is also quick to solve. A plain explanation with Boolean formulas, and what it means for ZK proofs.
18 min read
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…
29 min read
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).
17 min read
Quadratic Arithmetic Programs
A quadratic arithmetic program is an arithmetic circuit, specifically a Rank 1 Constraint System (R1CS) represented as a set of polynomials.
4 min read
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.
9 min read
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.