Paper 2025/105

Twist and Shout: Faster memory checking arguments via one-hot addressing and increments

Srinath Setty, Microsoft Research
Justin Thaler, Georgetown University, a16z crypto research
Michael Zhu, a16z crypto
Abstract

Memory checking arguments enable an untrusted prover to prove 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, called the method of one-hot addressing and increments. We instantiate this method via two families of protocols, called Twist and Shout. Twist supports read/write memories, while Shout targets read-only memories (also known as lookup arguments). Both have logarithmic verifier costs. Unlike prior works, these protocols do not invoke "grand product" or "grand sum" arguments. Twist and Shout reduce commitment costs in two Jolt settings: 32 RISC-V registers and structured lookup tables of size $2^64$. With curve-based commitments, Twist at $d=1$ has about 3.7x fewer nonzero committed values and 1.7x fewer field multiplications than Spice for 32 registers; Shout at $d=2$ has at least 8x fewer nonzero committed values and 3.4x fewer field multiplications than Lasso for structured tables. We integrate Twist and Shout into the Jolt zkVM. They speed up the Jolt prover 3x while reducing proof size by about 5x.

Note: This update includes several concrete optimizations as well as additional details and corrections regarding one-hot checking in small-characteristic fields.

Metadata
Available format(s)
PDF
Category
Cryptographic protocols
Publication info
Preprint.
Keywords
SNARKsmemory-checking argumentssum-check protocolzkVMs
Contact author(s)
srinath @ microsoft com
justin r thaler @ gmail com
mzhu @ a16z com
History
2026-10-17: last of 8 revisions
2025-01-22: received
See all versions
Short URL
https://ia.cr/2025/105
License
Creative Commons Attribution
CC BY

BibTeX

@misc{cryptoeprint:2025/105,
      author = {Srinath Setty and Justin Thaler and Michael Zhu},
      title = {Twist and Shout: Faster memory checking arguments via one-hot addressing and increments},
      howpublished = {Cryptology {ePrint} Archive, Paper 2025/105},
      year = {2025},
      url = {https://eprint.iacr.org/2025/105}
}
Note: In order to protect the privacy of readers, eprint.iacr.org does not use cookies or embedded third party content.