aztec-packages
aztec-packages copied to clipboard
chore: chonk verifier simplifications
Motivation: make the op_queue wire handling more transparent and rigid, avoid consistency checks that were most likely caused by considering Goblin pieces as potentially independent protocols. + Reduce CHONK_PROOF_LENGTH
Core Changes
- Compute
accumulated_resultinECCVMverifiers instead of doing itTranslator-side - Pass
accumulated_resultinstead ofTranslationEvaluationsstruct --> These data does not need to be sent by theTranslatorProver,TranslatorVerifierplaces the result computed byECCVMinto the relations that are checking the correctness ofaccumulated_result - Pass final table commitments directly from
MergetoTranslator- The prover doesn't recompute these commitments and doesn't send them to the verifier --> Smaller proof size, no need for
verify_consistency_with_final_mergecheck
- The prover doesn't recompute these commitments and doesn't send them to the verifier --> Smaller proof size, no need for
- Extract
TranslatorInputDatavia getter instead of accessingECCVMmember variables directly
Collateral Changes:
- Introduced
HIDING_KERNEL_LOG_Nconstant- Extracted hardcoded
VIRTUAL_LOG_N= 16 in MegaZKFlavor to use named constant - Included this since
CHONK_PROOF_LENGTHreduction required protocol circuit updates anyway and it's a long overdue
- Extracted hardcoded
- Renamed constant
CONST_PG_LOG_N→CONST_FOLDING_LOG_N