Browse all Zero Knowledge articles.
11 min read
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...
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$. We call this property the orthogonality of roots of...
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. In this...
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. We'll demonstrate the conventions for how...
7 min read
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...
9 min read
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...
10 min read
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...
5 min read
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...
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 Layer 2...
4 min read
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...
20 min read
Roots of Unity in Finite Fields This article explains what Roots of Unity in a Finite Field are and how they are intertwined with multiplicative subgroups. The reader is expected to be familiar with...