PlonK Permutation Check
A worked explanation of PlonK's permutation check, why row constraints are insufficient, and how beta and gamma bind wire values to positions.
A (Relaxed) PCS by Merkle Trees and Low-Degree Tests
Building a relaxed polynomial commitment scheme using Merkle trees and low-degree tests for a first succinct argument of circuit satisfiability.
An Unnecessarily Generic Fiat-Shamir Transformation
Turning interactive proofs into non-interactive ones with a generic Fiat-Shamir transformation implementation in Rust.
The GKR Protocol
Implementing the GKR interactive proof protocol for arithmetic circuit evaluation in Rust.
Efficient IP for MatMult
Optimizing the matrix multiplication interactive proof from O(n^3) to O(n^2) prover runtime, following Thaler's Chapter 4.
1
→