03 — Auditing · Failure mode
Cross-table lookup and multiplicity bugs
In multi-table designs — zkVM chips, bus architectures — soundness depends on sends and receives balancing across tables and on multiplicity columns being correctly constrained. An unbalanced bus, an unconstrained multiplicity, or a permutation argument over the wrong tuple silently admits executions that never happened. This is a dominant recurring class in zkVM codebases and has no analogue in single-circuit review.
Mitigation
Review the bus or cross-table argument as its own artefact: enumerate every send and receive, check they balance, and confirm multiplicity columns are range-constrained and cannot be chosen freely by the prover.
Related pages
Cite this page
MarketComp (2026). Cross-table lookup and multiplicity bugs. The ZK Field Manual (Version 1.3). MarketComp. https://zkpick.com/audit/failure-modes/cross-table-lookup-and-multiplicity-bugs/
@misc{zkfieldmanual-cross-table-lookup-and-multiplicity-bugs,
title = {Cross-table lookup and multiplicity bugs — The ZK Field Manual},
author = {MarketComp},
year = {2026},
version = {1.3},
howpublished = {\url{https://zkpick.com/audit/failure-modes/cross-table-lookup-and-multiplicity-bugs/}},
note = {Accessed: YYYY-MM-DD}
}