Zero Knowledge
Browse all Zero Knowledge articles.
18 min read
Succinct proofs of a vector commitment
This requires sending n elements to the verifier (assuming a is of length n). In the previous chapter, we showed how to do this with zero knowledge.
8 min read
A Zero Knowledge Proof for the Inner Product
An inner product argument is a proof that the prover carried out the inner product computation correctly.
10 min read
Introduction to ZK Bulletproofs
Bulletproofs are a zero knowledge inner product argument, which enable a prover to convince a verifier that they correctly computed an inner product.
22 min read
The intuition behind elliptic curve digital signatures (ECDSA)
This article explains how the ECDSA (Elliptic Curve Digital Signature Algorithm) works as well as why it works.
6 min read
Cost of storage, maximum storage size, and account resizing in Solana
When allocating storage space, the payer must pay a certain number of SOL per byte allocated. Solana calls this the "rent".
9 min read
Solana Sysvars Explained
In Solana, sysvars are read-only system accounts that give Solana programs access to the blockchain state as well as network information.
7 min read
Init_if_needed in Anchor and the Reinitialization Attack
In previous tutorials, we've had to initialize an account in a separate transaction before we can write data to it.
5 min read
Deleting and Closing Accounts and Programs in Solana
In the Anchor framework for Solana, close is the opposite of init (initializing an account in Anchor) — it reduces the lamport balance to zero, sending…
10 min read
Zero Knowledge Multiplication
Using the polynomial commitment scheme from the previous chapter, a prover can show that they have three polynomials l(x), r(x), and t(x) and prove that…
30 min read
How Tornado Cash Works (Line by Line for Devs)
Tornado Cash is a cryptocurrency smart contract mixer that enables users to deposit crypto with one address and withdraw with another wallet without…
4 min read
The Schwartz-Zippel Lemma and its application to Zero Knowledge Proofs
Nearly all ZK-Proof algorithms rely on the Schwartz-Zippel Lemma to achieve succintness. Let's consider a few examples.
12 min read
What are Pedersen Commitments and How They Work
Pedersen commitments allow us to encode arbitrarily large vectors with a single elliptic curve point, while optionally hiding any information about the…