barretenberg icon indicating copy to clipboard operation
barretenberg copied to clipboard

State tracking in CIVC verifiers

Open iakovenkos opened this issue 8 months ago • 0 comments

Our native and recursive CIVC verifiers consist of several large components (Mega(ZK)-, Merge-, ECCVM-, and Translator- Verifiers), but only output a single bool and print a bunch of intermediate debug statements.

  • Consider creating a struct containing all main CIVC check results and printing something informative in the case of failure.
  • Consider if we should proceed with native verification if current step failed. Not proceeding has a couple of downsides - 1) failure tests will break due to incomplete transcript and not because of wrong witnesses; 2) non-const time native verification of incorrect proofs (with valid proof structure); 3) the native behaviour differs from the recursive one

iakovenkos avatar May 16 '25 08:05 iakovenkos