Over-constrained circuits and completeness failures
The circuit rejects witnesses that correspond to correct executions: a range check tighter than the specification, an edge case such as zero or the field's maximum value, or a constraint that assumes an invariant the honest prover does not always satisfy. No forged proof results, so the bug is invisible to soundness tooling, but a user with a legitimate claim cannot produce a proof — funds are stuck, a withdrawal path is dead, or a rollup cannot progress until the circuit is redeployed.
Test completeness deliberately: generate valid witnesses across boundary values and assert the proof is produced, fuzz against a reference implementation for rejected-but-valid inputs, and include completeness in the bug-bounty scope. Tools that vet completeness as well as soundness exist for zkVMs and some circuit pipelines.
Related pages
Cite this page
MarketComp (2026). Over-constrained circuits and completeness failures. The ZK Field Manual (Version 1.3). MarketComp. https://zkpick.com/audit/failure-modes/over-constrained-circuits-and-completeness-failures/
@misc{zkfieldmanual-over-constrained-circuits-and-completene,
title = {Over-constrained circuits and completeness failures — The ZK Field Manual},
author = {MarketComp},
year = {2026},
version = {1.3},
howpublished = {\url{https://zkpick.com/audit/failure-modes/over-constrained-circuits-and-completeness-failures/}},
note = {Accessed: YYYY-MM-DD}
}