Differential and fuzz testing
Dynamic testing
Differential and fuzz testing: Dynamic testing. Layer: Circuit / VM. Characteristic finds: Divergence from a reference implementation; witnesses a malicious prover could pass. Blind to: Anything the oracle also gets wrong; bug classes outside the mutation model. Coverage claim: Sampled only. Cost profile: Moderate setup, cheap to re-run. Choose it when: zkVMs, ISA and EVM emulation chips, standard cryptographic gadgets, and any circuit with an independent reference implementation. Also the right home for regression tests from prior findings.
What it is
Executing the circuit against an independent oracle and searching for divergence, or mutating the prover to simulate a malicious one and checking the constraints reject it. For zkVMs, conformance suites are the natural oracle — the RISC-V architectural certification tests and the reference tests in Ethereum's execution specs provide an externally defined notion of correct. This is how a specification-conformance bug in a formally verified zkVM was found: by conformance tests, outside the verification effort's scope.
Strengths and tradeoffs
- Finds bugs manual review misses in large repetitive constraint sets
- Every finding arrives with a reproducing input, so it becomes a regression test immediately
- Runs continuously and cheaply once set up
- Metamorphic and fault-injection oracles need no full formal specification
- No completeness guarantee — absence of findings means nothing
- Requires a trustworthy oracle, which novel application circuits often lack
- Prover-side fuzzing needs fault injection into witness generation, which not all stacks expose
- Coverage over constraint systems is hard to define and harder to measure
- Proof generation per test case makes zkVM campaigns expensive
Choose it whenzkVMs, ISA and EVM emulation chips, standard cryptographic gadgets, and any circuit with an independent reference implementation. Also the right home for regression tests from prior findings.
Related pages
Sources cited on this page · 1
All 48 sources for §03 are listed on the section page →
Cite this page
MarketComp (2026). Differential and fuzz testing. The ZK Field Manual (Version 1.3). MarketComp. https://zkpick.com/audit/differential-and-fuzz-testing/
@misc{zkfieldmanual-differential-and-fuzz-testing,
title = {Differential and fuzz testing — The ZK Field Manual},
author = {MarketComp},
year = {2026},
version = {1.3},
howpublished = {\url{https://zkpick.com/audit/differential-and-fuzz-testing/}},
note = {Accessed: YYYY-MM-DD}
}