|
Barretenberg
The ZK-SNARK library at the core of Aztec
|
Transcript isolation and counting invariants for Chonk IVC. More...
#include "barretenberg/chonk/chonk.hpp"#include "barretenberg/chonk/chonk_verifier.hpp"#include "barretenberg/chonk/mock_circuit_producer.hpp"#include "barretenberg/common/test.hpp"#include "barretenberg/goblin/merge_prover.hpp"#include "barretenberg/goblin/merge_verifier.hpp"#include "barretenberg/goblin/mock_circuits.hpp"#include "barretenberg/hypernova/hypernova_decider_prover.hpp"#include "barretenberg/hypernova/hypernova_decider_verifier.hpp"#include "barretenberg/hypernova/hypernova_prover.hpp"#include "barretenberg/hypernova/hypernova_verifier.hpp"#include "barretenberg/multilinear_batching/multilinear_batching_prover.hpp"#include "barretenberg/multilinear_batching/multilinear_batching_verifier.hpp"#include "barretenberg/stdlib_circuit_builders/mega_circuit_builder.hpp"#include "barretenberg/stdlib_circuit_builders/mock_circuits.hpp"#include "barretenberg/transcript/transcript_manifest.hpp"#include "barretenberg/ultra_honk/prover_instance.hpp"#include <gtest/gtest.h>Go to the source code of this file.
Classes | |
| class | ChonkTranscriptInvariantTests |
| Test fixture for Chonk transcript invariant tests. More... | |
Functions | |
| TEST_F (ChonkTranscriptInvariantTests, AccumulationTranscriptCount) | |
| Pin the exact number of transcripts created during IVC accumulation. | |
| TEST_F (ChonkTranscriptInvariantTests, RecursiveVerificationTranscriptCount) | |
| Pin the exact number of transcripts created during recursive Chonk verification. | |
Transcript isolation and counting invariants for Chonk IVC.
These tests verify critical transcript invariants that ensure security:
Why these invariants matter:
Definition in file chonk_transcript_invariants.test.cpp.
| TEST_F | ( | ChonkTranscriptInvariantTests | , |
| AccumulationTranscriptCount | |||
| ) |
Pin the exact number of transcripts created during IVC accumulation.
This test ensures the transcript creation count during accumulation is a fixed constant. Any change to this count indicates a structural change in how transcripts are managed, which could have security implications (e.g., unexpected transcript isolation or sharing).
The 2-app IVC flow creates 7 circuits: app0 -> kernel0 -> app1 -> kernel1 -> reset -> tail -> hiding
Per-circuit transcript breakdown (from complete_kernel_circuit_logic):
Total: 0 + 3 + 0 + 3 + 3 + 3 + 2 = 14 transcripts
Definition at line 75 of file chonk_transcript_invariants.test.cpp.
| TEST_F | ( | ChonkTranscriptInvariantTests | , |
| RecursiveVerificationTranscriptCount | |||
| ) |
Pin the exact number of transcripts created during recursive Chonk verification.
The recursive Chonk verifier creates transcripts that are tracked via unique_transcript_index (which is incremented for each in-circuit transcript creation). This test pins the exact count to detect any changes in transcript management that could affect security.
Expected breakdown (4 transcripts total):
Definition at line 138 of file chonk_transcript_invariants.test.cpp.