ZK/SEC Research notes from zkSecurity
All series
Series

Bulletproofs

3 parts October 2025 – November 2025 52 min in total David Wong · teddav
  1. Part 1

    Breaking Down Bulletproofs: No Pairings, No Trusted Setup

    Learn how Bulletproofs enables efficient zero-knowledge proofs without trusted setups by computing inner products in a verifiable way. This post breaks down the core folding technique that reduces large vectors to single elements through recursive compression, making proofs both compact and fast to verify. Used in Monero, Mina's Kimchi, and Zcash's Halo 2, Bulletproofs is a practical alternative to pairing-based schemes.

  2. Part 2

    Unfolding the Bulletproofs Magic: A SageMath Deep Dive

    In this post, we dive deep into the Inner Product Argument (IPA), the mathematical core of Bulletproofs. Starting from simple vector folding, we build up to a full zero-knowledge proof with Pedersen commitments, explore how the mysterious `L` and `R` terms appear, and finish with smart verifier optimizations. All illustrated with clear, runnable SageMath code.

  3. Part 3

    Stay in Range: Deeper Into Bulletproofs

    This article breaks down how Bulletproofs enable range proofs: proofs that a hidden value lies within a range without revealing it. Starting from bit decomposition, it shows how to express and combine constraints into a single inner product, then make the proof zero-knowledge with blinding polynomials and commitments. By the end, you’ll understand how systems like Monero’s confidential transactions prove valid amounts while keeping values private.

Other series see all →