A 2.1 KHz Zero-Knowledge Processor with BubbleRAM
David Heath, Vladimir Kolesnikov
Abstract
Zero-Knowledge (ZK) proofs (ZKP) are foundational in cryptography. Most recent ZK research focuses on non-interactive proofs (NIZK) of small statements, useful in blockchain scenarios. Another line, and our focus, instead targets proofs of large statements that are useful, e.g., in proving properties of programs in ZK. We specify a zero-knowledge processor that executes arbitrary programs written in a simple instruction set, and proves in ZK the correctness of the execution. Such an approach is well-suited for constructing ZK proofs of large statements as it efficiently supports complex programming constructs, such as loops and RAM access. Critically, we propose several novel ZK improvements that make our approach concretely efficient: (1) an efficient arithmetic representation with conversions to/from Boolean, (2) an efficient read-only memory that uses OTs per access, and (3) an efficient read-write memory, øurram, which uses OTs per access. øurram beats linear scan for RAM of size elements! Prior ZK systems used generic ORAM costing orders of magnitude more. We cast our system as a garbling scheme that can be plugged into the ZK protocol of [Jawurek et al, CCS'13]. Put together, our system is concretely efficient: for a processor instantiated with KB of main memory, each processor cycle costs KB of communication. We implemented our approach in ++. On a 1Gbps LAN our implementation realizes a KHz processor.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Cited by top-tier papers14
- Mystique: Efficient Conversions for Zero-Knowledge Proofs with Applications to Machine LearningChenkai Weng, Kang Yang, Xiang Xie, Jonathan Katz et al.USENIX Security 2021 · 161 citations
- Zapper: Smart Contracts with Data and Identity PrivacySamuel Steffen, Benjamin Bichsel, Martin T. VechevCCS 2022 · 17 citations
- Two Shuffles Make a RAM: Improved Constant Overhead Zero Knowledge RAMYibin Yang, David HeathUSENIX Security 2024 · 14 citations
- Snapshot-Oblivious RAMs: Sub-logarithmic Efficiency for Short TranscriptsYang Du, Daniel Genkin, Paul GrubbsCRYPTO 2022 · 5 citations
- Towards Practical Zero-Knowledge Proof for PSPACEAshwin Karthikeyan, Hengyu Liu, Kuldeep S. Meel, Ning LuoS&P 2026 · 4 citations
Builds on9
- Bulletproofs: Short Proofs for Confidential Transactions and MoreBenedikt Bünz, Jonathan Bootle, Dan Boneh, Andrew Poelstra et al.S&P 2018 · 1,285 citations
- Ligero: Lightweight Sublinear Arguments Without a Trusted SetupScott Ames, Carmit Hazay, Yuval Ishai, Muthuramakrishnan VenkitasubramaniamCCS 2017 · 338 citations
- Post-Quantum Zero-Knowledge and Signatures from Symmetric-Key PrimitivesMelissa Chase, David Derler, Steven Goldfeder, Claudio Orlandi et al.CCS 2017 · 316 citations
- ZKBoo: Faster Zero-Knowledge for Boolean CircuitsIrene Giacomelli, Jesper Madsen, Claudio OrlandiUSENIX Security 2016 · 287 citations
- Improved Non-Interactive Zero Knowledge with Applications to Post-Quantum SignaturesJonathan Katz, Vladimir Kolesnikov, Xiao WangCCS 2018 · 257 citations
Related papers
- Zero Knowledge for Everything and Everyone: Fast ZK Processor with Cached ORAM for ANSI C ProgramsDavid Heath, Yibin Yang, David Devecsery, Vladimir KolesnikovS&P 2021 · 22 citations
- Constant-Overhead Zero-Knowledge for RAM ProgramsNicholas Franzese, Jonathan Katz, Steve Lu, Rafail Ostrovsky et al.CCS 2021 · 1 citation
- Dora: A Simple Approach to Zero-Knowledge for RAM ProgramsAarushi Goel, Mathias Hall-Andersen, Gabriel KaptchukCCS 2024 · 2 citations
- Tight ZK CPU: Batched ZK Branching with Cost Proportional to Evaluated InstructionYibin Yang, David Heath, Carmit Hazay, Vladimir Kolesnikov et al.CCS 2024 · 5 citations
- ZEE200: Zero Knowledge for Everything and Everyone @ 200 KHzSunghyeon Jo, Vladimir Kolesnikov, Yibin YangCCS 2026
