Bulletproofs
Transparent discrete-log argument
Bulletproofs: Transparent discrete-log argument. Setup: None. Proof size: Logarithmic; small for ranges. On-chain verification: Linear in circuit size — not succinct. PQ: No. Recursion: Poor. Maturity: Production for range proofs since 2018. Prover cost profile: Linear MSMs; slow for general circuits. Peak prover memory: Low. Off-chain verifier: Linear in circuit size; batchable. Implementations and maintainers: dalek bulletproofs (Rust), Monero, Bulletproofs+ in several wallets. Where it is measured: Range-proof figures in Monero and dalek benchmarks. Choose it when: Range proofs and small confidential-transaction statements verified by full nodes.
What it is
Logarithmic-size zero-knowledge arguments from the inner-product argument, with no trusted setup. Best known for range proofs in confidential transactions; general circuits are supported but not the strength.
Strengths and tradeoffs
- No trusted setup and only the discrete-log assumption
- Very small proofs for range statements, with cheap aggregation of many range proofs
- Batch verification gives real speedups across many proofs
- Long production track record in confidential-transaction systems
- Verification is linear in circuit size — no succinct verifier, so unsuitable for on-chain verification of large statements
- Not post-quantum
- General-circuit performance is poor relative to modern SNARKs; the sweet spot is narrow
Choose it whenRange proofs and small confidential-transaction statements verified by full nodes.
Related pages
Sources cited on this page · 1
All 40 sources for §01 are listed on the section page →
Cite this page
MarketComp (2026). Bulletproofs. The ZK Field Manual (Version 1.3). MarketComp. https://zkpick.com/proof-systems/bulletproofs/
@misc{zkfieldmanual-bulletproofs,
title = {Bulletproofs — The ZK Field Manual},
author = {MarketComp},
year = {2026},
version = {1.3},
howpublished = {\url{https://zkpick.com/proof-systems/bulletproofs/}},
note = {Accessed: YYYY-MM-DD}
}