Zero Knowledge
Browse all Zero Knowledge articles.
8 min read
Number Theoretic Transform (NTT)
The Number Theoretic Transform (NTT) is an algorithm for evaluating a polynomial in a finite field on n values in O(n log n) time.
11 min read
Using the Convolution Theorem to Prove Equivalence Between Multiplication in Coefficient Form and Point Form
At the beginning of this series, we argued that the multiplication of two polynomials of degree at most n can be performed in O(n) complexity time if…
16 min read
Understanding Starknet’s Contract Deployment Model
On Ethereum, you deploy a contract in a single transaction. Starknet takes a different approach: deployment is split into two separate transactions…
10 min read
Orthogonality of Roots of Unity
The sum of powers of the k-th roots of unity generated by a primitive k-th root of unity is either zero or k.
13 min read
Reading Solana Instruction inputs using sBPF assembly
In the previous tutorial, we introduced the sBPF memory layout and explained the purpose of each register during program execution.
12 min read
sBPF Memory Layout and Register Conventions
This tutorial introduces the Solana BPF (sBPF) memory layout and the roles of its virtual machine registers.
7 min read
Using Sstore Hooks with Storage Mappings
In the chapter “Introduction to Storage Hooks And Ghosts”, we covered storage hooks and ghosts with simple storage variables.
10 min read
Implication Operator
The implication operator is frequently used as a substitute for the if statement since it is cleaner.
9 min read
Conditional Statements in CVL and Formally Verifying Parts of Solady and Solmate
Some contract behaviors (properties) are inherently conditional, and using constructs like if/else in CVL is one way to capture conditional behavior…
5 min read
Overflow and Mathint
In CVL, the type mathint represents unbounded integers, unlike Solidity’s fixed-size types such as uint256.
17 min read
Introduction to the Cairo Language
Cairo is a programming language designed for provable, verifiable computation, particularly within the context of zero-knowledge systems like Starknet, a…
4 min read
Visual representation of the roots of unity
The property that if ω is a k-th root of unity, then ω^i and ω^(i+k/2) are additive inverses may seem a little abstract — this chapter introduces a…