chore: chonk rec ver 0#20506
Conversation
|
|
||
| ## Overview | ||
|
|
||
| SmallSubgroupIPA enables proving statements of the form $ \langle F, G \rangle = s$ where: |
There was a problem hiding this comment.
just some formatting fixes to get this to display well
| static void handle_edge_cases(const FF& vanishing_poly_eval) | ||
| { | ||
|
|
||
| // TODO(https://github.com/AztecProtocol/barretenberg/issues/1194). Handle edge cases in PCS |
There was a problem hiding this comment.
These are both closed - I think we made the explicit decision that they were not needed
| // ============================================================================ | ||
| // Translator proof structure (always ZK, with interleaved claims) | ||
| // ============================================================================ | ||
| template <typename Flavor> struct TranslatorStructuredProofBase : StructuredProofHelper<Flavor> { |
There was a problem hiding this comment.
maybe there's a way to do more code sharing here to reduce line count but didn't seem worth it in the age of claude
| RecursiveMergeCommitments recursive_merge_commitments; | ||
| }; | ||
| // TODO(https://github.com/AztecProtocol/barretenberg/issues/1298): | ||
| // Better recursion testing - create more flexible proof tampering tests. |
There was a problem hiding this comment.
I'm relying on the independent ECCVM/Translator tests for most of the coverage here. Just trying to target things that are particular to the connective tissue of Goblin here
| END | ||
| }; | ||
|
|
||
| static void tamper_eccvm_proof(InnerProver& prover, |
There was a problem hiding this comment.
again I explored sharing this code across different contexts but ends up being more complex to do it that way
| */ | ||
| static void test_recursive_verification_fails() | ||
| requires(!IsAnyOf<InnerFlavor, MegaZKFlavor, MegaFlavor>) | ||
| enum class TamperType { |
There was a problem hiding this comment.
Just extending the Ultra testing scheme to Mega
There was a problem hiding this comment.
Killed this bc it was too complicated to have one method for all contexts. Relevant methods are in the suite that use them
| UltraStarknetZKFlavor, | ||
| UltraZKFlavor, | ||
| UltraKeccakZKFlavor>; | ||
| UltraKeccakZKFlavor, |
There was a problem hiding this comment.
Just combining the Ultra/Mega transcript tests into one suite to reduce a ton of duplication
iakovenkos
left a comment
There was a problem hiding this comment.
Great work! The tampering tests are finally legible and maintainable
Thanks for adding the nice framework in the first place :) |
BEGIN_COMMIT_OVERRIDE chore: chonk rec ver 0 (#20506) fix: allocate non-gate selectors at trace-active size instead of dyadic size (#20600) chore: numeric audit 0 (#20491) chore: prepare barretenberg-rs for crates.io publishing (#20496) chore: add build_bench to ci-barretenberg-full (#20650) chore: add component graphs for app-proving benchmarks (#20649) END_COMMIT_OVERRIDE
Test improvements for Chonk recursive verifier components: