Twist and Shout: Faster Memory Checking Arguments via One-Hot Addressing and Increments
Srinath Setty, Justin Thaler, Michael Zhu
摘要
A memory checking argument enables a prover to prove to a verifier that it is correctly processing reads and writes to memory. They are used widely in modern SNARKs, especially in zkVMs, where the prover proves the correct execution of a CPU including the correctness of memory operations.
We describe a new approach for memory checking, which we call the method of one-hot addressing and increments. We instantiate this method via two different families of protocols, called Twist and Shout. Twist supports read/write memories, while Shout targets read-only memories (also known as lookup arguments). Both Shout and Twist have logarithmic verifier costs. Unlike prior works, these protocols do not invoke "grand product" or "grand sum" arguments.
Twist and Shout significantly improve the prover costs of prior works across the full range of realistic memory sizes, from tiny memories (e.g., 32 registers as in RISC-V), to memories that are so large they cannot be explicitly materialized (e.g., structured lookup tables of size 2 64 or larger, which arise in Lasso and the Jolt zkVM). Detailed cost analysis shows that Twist and Shout are well over 10× times cheaper for the prover than state-of-the-art memory-checking procedures configured to have logarithmic proof length. Prior memory-checking procedures can also be configured to have larger proofs. Even then, we estimate that Twist and Shout are at least 2-4× faster for the prover in key applications.
Finally, using Shout, we provide two fast-prover SNARKs for non-uniform constraint systems, both of which achieve minimal commitment costs (the prover commits only to the witness): (1) SpeedySpartan applies to Plonkish constraints, substantially improving the previous state-of-the-art protocol, BabySpartan; and (2) Spartan++ applies to CCS (a generalization of Plonkish and R1CS), improving prover times over the previous state-of-the-art protocol, Spartan, by 6×.
问问这篇 Paper
智能体会读完全文。
Lune 把这篇 Paper 索引到了每一个公式,引用它的顶会 Paper 也一样。你提问,回答直接引用原文。
引用它的顶会 Paper3
- Speeding Up Sum-Check ProvingQuang Dao, Zachary DeStefano, Suyash Bagad, Yuval Domb 等CCS 2026 · 被引用 6 次
- Automating Bitvector and Finite Field Equivalence Proofs in LeanElizaveta Pertseva, Valentin Robert, Clark W. Barrett, James ParkerCAV 2026
- GenZA: A General and Efficient Accelerator for Diverse Zero-Knowledge Proof ProtocolsCheng Wang, Jiangbin Dong, Mingyu GaoISCA 2026
它引用的顶会 Paper17
- Bulletproofs: Short Proofs for Confidential Transactions and MoreBenedikt Bünz, Jonathan Bootle, Dan Boneh, Andrew Poelstra 等S&P 2018 · 被引用 1,285 次
- Doubly-Efficient zkSNARKs Without Trusted SetupRiad S. Wahby, Ioanna Tzialla, Abhi Shelat, Justin Thaler 等S&P 2018 · 被引用 356 次
- Spartan: Efficient and General-Purpose zkSNARKs Without Trusted SetupSrinath T. V. SettyCRYPTO 2020 · 被引用 262 次
- Transparent SNARKs from DARK CompilersBenedikt Bünz, Ben Fisch, Alan SzepieniecEUROCRYPT 2020 · 被引用 240 次
- Fractal: Post-quantum and Transparent Recursive Proofs from HolographyAlessandro Chiesa, Dev Ojha, Nicholas SpoonerEUROCRYPT 2020 · 被引用 162 次
相关 Paper
- Jolt: SNARKs for Virtual Machines via LookupsArasu Arun, Srinath T. V. Setty, Justin ThalerEUROCRYPT 2024 · 被引用 43 次
- Jagged Polynomial Commitments (or: How to Stack Multilinears)Tamir Hemo, Kevin Jue, Eugene Rabinovich, Gyumin Roh 等EUROCRYPT 2026 · 被引用 1 次
- Scribe: Low-memory SNARKs via Read-Write StreamingAnubhav Baweja, Pratyush Mishra, Tushar Mopuri, Karan Newatia 等USENIX Security 2026
- Hekaton: Horizontally-Scalable zkSNARKs Via Proof AggregationMichael Rosenberg, Tushar Mopuri, Hossein Hafezi, Ian Miers 等CCS 2024 · 被引用 7 次
- SubLogarithmic Linear Time SNARKs from Improved SumcheckSikhar Patranabis, Nitin Singh, Sayani SinhaCCS 2026
