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

Zero Knowledge

Browse all Zero Knowledge articles.

8 min read

Number Theoretic Transform (NTT)

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. Normally, evaluating a polynomial...

Last updated onJul 1, 2026
Read Article

11 min read

Using the Convolution Theorem to Prove Equivalence Between Multiplication in Coefficient Form and Point Form

Using 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...

Last updated onJun 16, 2026
Read Article

16 min read

Understanding Starknet’s Contract Deployment Model

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,...

Last updated onApr 26, 2026
Read Article

10 min read

Orthogonality of Roots of Unity

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$. We call this property the orthogonality of roots of...

Last updated onApr 21, 2026
Read Article

13 min read

Reading Solana Instruction inputs using sBPF assembly

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. In this...

Last updated onFeb 26, 2026
Read Article

12 min read

sBPF Memory Layout and Register Conventions

sBPF Memory Layout and Register Conventions This tutorial introduces the Solana BPF (sBPF) memory layout and the roles of its virtual machine registers. We'll demonstrate the conventions for how...

Last updated onFeb 27, 2026
Read Article

7 min read

Using Sstore Hooks with Storage Mappings

Using Sstore Hooks with Storage Mappings Introduction In the chapter “Introduction to Storage Hooks And Ghosts”, we covered storage hooks and ghosts with simple storage variables. We showed that...

Last updated onFeb 13, 2026
Read Article

9 min read

Conditional Statements in CVL and Formally Verifying Parts of Solady and Solmate

Conditional Statements in CVL and Formally Verifying Parts of Solady and Solmate Introduction Some contract behaviors (properties) are inherently conditional, and using constructs like if/else in CVL...

Last updated onFeb 13, 2026
Read Article

5 min read

Overflow and Mathint

Overflow and Mathint In CVL, the type represents unbounded integers, unlike Solidity’s fixed-size types such as . It performs arithmetic without overflow or underflow, which allows reasoning based on...

Last updated onFeb 13, 2026
Read Article

10 min read

Implication Operator

Implication Operator Introduction The implication operator is frequently used as a substitute for the statement since it is cleaner. Consider the following example: a function that takes two unsigned...

Last updated onFeb 13, 2026
Read Article

17 min read

Introduction to the Cairo Language

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 Layer 2...

Last updated onJan 15, 2026
Read Article

4 min read

Visual representation of the roots of unity

Visual representation of the roots of unity The property that if $\omega$ is a $k$-th root of unity, then $\omega^i$ and $\omega^{i+k/2}$ are additive inverses may seem a little abstract — this...

Last updated onNov 12, 2025
Read Article