Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
bb::Chonk Class Reference

The IVC scheme used by the aztec client for private function execution. More...

#include <chonk.hpp>

Classes

struct  PublicInputsResult
 
struct  StdlibVerifierInputs
 
struct  VerifierInputs
 

Public Types

using AppFlavor = MegaAppFlavor
 
using KernelFlavor = MegaKernelFlavor
 
using HidingKernelFlavor = MegaZKFlavor
 
using AppVerificationKey = AppFlavor::VerificationKey
 
using KernelVerificationKey = KernelFlavor::VerificationKey
 
using MegaZKVerificationKey = MegaZKFlavor::VerificationKey
 
using FF = bb::fr
 
using Commitment = curve::BN254::AffineElement
 
using HidingKernelProverInstance = ProverInstance_< HidingKernelFlavor >
 
using ClientCircuit = MegaCircuitBuilder
 
using ECCVMVerificationKey = bb::ECCVMFlavor::VerificationKey
 
using TranslatorVerificationKey = bb::TranslatorFlavor::VerificationKey
 
using Transcript = NativeTranscript
 
using AppRecursiveFlavor = MegaAppRecursiveFlavor
 
using KernelRecursiveFlavor = MegaKernelRecursiveFlavor
 
using StdlibFF = KernelRecursiveFlavor::FF
 
using RecursiveCurve = KernelRecursiveFlavor::Curve
 
using RecursiveCommitment = KernelRecursiveFlavor::Commitment
 
using RecursiveTranscript = KernelRecursiveFlavor::Transcript
 
using AppRecursiveVerifierInstance = VerifierInstance_< AppRecursiveFlavor >
 
using KernelRecursiveVerifierInstance = VerifierInstance_< KernelRecursiveFlavor >
 
using AppRecursiveVKAndHash = AppRecursiveFlavor::VKAndHash
 
using KernelRecursiveVKAndHash = KernelRecursiveFlavor::VKAndHash
 
using PairingPoints = stdlib::recursion::PairingPoints< stdlib::bn254< ClientCircuit > >
 
using KernelIO = bb::stdlib::recursion::honk::KernelIO
 
using HidingKernelIO = bb::stdlib::recursion::honk::HidingKernelIO< ClientCircuit >
 
using AppIO = bb::stdlib::recursion::honk::AppIO
 
using StdlibProof = stdlib::Proof< ClientCircuit >
 
using AppWitnessCommitments = AppRecursiveFlavor::WitnessCommitments
 
using KernelWitnessCommitments = KernelRecursiveFlavor::WitnessCommitments
 
using DataBusDepot = stdlib::DataBusDepot< ClientCircuit >
 
using FoldingProver = HypernovaFoldingProver
 
using DeciderProver = HypernovaDeciderProver
 
using RecursiveDeciderVerifier = HypernovaDeciderVerifier< KernelRecursiveFlavor >
 
using ProverAccumulator = FoldingProver::Accumulator
 
using VerifierAccumulator = MultilinearBatchingVerifierClaim< curve::BN254 >
 
using RecursiveVerifierAccumulator = MultilinearBatchingVerifierClaim< stdlib::bn254< ClientCircuit > >
 
using EccOpRunningHash = StdlibFF
 
using CircuitKind = bb::CircuitKind
 
using CircuitVerificationKey = bb::CircuitVerificationKey
 
using VerificationQueue = std::deque< VerifierInputs >
 
using StdlibVerificationQueue = std::deque< StdlibVerifierInputs >
 

Public Member Functions

size_t get_num_circuits () const
 
Goblinget_goblin ()
 
const Goblinget_goblin () const
 
 Chonk (std::vector< CircuitKind > circuit_kinds)
 
void instantiate_stdlib_verification_queue (ClientCircuit &circuit, const std::vector< StdlibCircuitVKAndHash > &input_keys={})
 Instantiate a stdlib verification queue for use in the kernel completion logic.
 
std::pair< PairingPoints, EccOpRunningHashrecursive_verification_and_consistency_checks (const StdlibVerifierInputs &verifier_inputs, HypernovaFoldingRecursiveVerifier &folding_verifier, const std::optional< StdlibFF > &prev_stdlib_acc_hash, const std::optional< EccOpRunningHash > &running_ecc_op_hash)
 Run sumcheck on a single proof in the group and perform its databus/accumulator-hash consistency checks.
 
void complete_kernel_circuit_logic (ClientCircuit &circuit)
 Append logic to complete a kernel circuit.
 
void accumulate (ClientCircuit &circuit, const CircuitVerificationKey &vk)
 Accumulate a circuit into the running IVC.
 
CircuitKind current_kind () const
 Kind of the circuit currently being accumulated (or, between accumulate calls, the next one expected).
 
CircuitKind next_kind () const
 Kind of the circuit that follows the one currently being accumulated, or CircuitKind::None if the current circuit is the last in the stack.
 
bool is_init_kernel () const
 Whether the kernel currently being completed is the init kernel (the first kernel, which carries no accumulator from a previous kernel).
 
bool is_hiding_kernel () const
 Whether the circuit currently being accumulated/completed is the hiding kernel.
 
size_t get_num_circuits_accumulated () const
 Get the number of circuits accumulated by the IVC.
 
void set_num_circuits_accumulated_for_mocking (const size_t num_circuits)
 Set the num circuits accumulated for mocking an IVC state. Used when writing VKs.
 
ChonkProof prove ()
 Construct Chonk proof using the batched MegaZK + Translator protocol.
 
std::shared_ptr< MegaZKFlavor::VKAndHashget_hiding_kernel_vk_and_hash () const
 Get the hiding kernel verification key and hash for Chonk verification.
 

Static Public Member Functions

static constexpr size_t group_claim_count (bool has_previous_accumulator, size_t group_size)
 Number of claims a kernel batches: the previous accumulator (absent for the init kernel) plus one sumcheck claim per proof in the group. A single claim needs no batching proof.
 
static void hide_op_queue_content_in_hiding (ClientCircuit &circuit)
 Adds two random non-ops to the hiding kernel for zero-knowledge.
 

Public Attributes

ProverAccumulator prover_accumulator
 
std::shared_ptr< FoldingProverfolding_prover
 
HonkProof multilinear_batch_proof
 
HonkProof decider_proof
 
VerifierAccumulator recursive_verifier_native_accum
 
VerifierAccumulator native_verifier_accum
 
std::shared_ptr< HypernovaFoldingNativeVerifiernative_folding_verifier
 
std::shared_ptr< Transcriptnative_verifier_accumulation_transcript = std::make_shared<Transcript>()
 
VerificationQueue verification_queue
 
StdlibVerificationQueue stdlib_verification_queue
 
DataBusDepot bus_depot
 
Goblin goblin
 
std::shared_ptr< HidingKernelProverInstancehiding_prover_inst
 
std::shared_ptr< MegaZKVerificationKeyhiding_vk
 

Private Member Functions

void verify_native_instance_sumcheck (const VerifierInputs &queue_entry)
 Natively verify the instance-to-accumulator sumcheck of the circuit just accumulated. Useful for debugging.
 
template<typename NativeFlavor >
void run_native_instance_sumcheck (const std::shared_ptr< typename NativeFlavor::VerificationKey > &honk_vk, const VerifierInputs &queue_entry)
 Templated native verification of the instance to accumulator sumcheck.
 
void update_native_verifier_accumulator (bool is_init_group)
 Natively verify the multilinear batching proof and update the native verifier accumulator. Useful for debugging.
 
void verify_decider_natively ()
 
template<typename InstanceFlavor >
void debug_incoming_circuit (ClientCircuit &circuit, const std::shared_ptr< ProverInstance_< InstanceFlavor > > &prover_instance, const std::shared_ptr< typename InstanceFlavor::VerificationKey > &precomputed_vk)
 
PublicInputsResult process_kernel_public_inputs (std::vector< StdlibFF > &public_inputs, KernelWitnessCommitments &witness_commitments, const std::optional< StdlibFF > &prev_accum_hash)
 Process public inputs from a verified circuit and perform databus consistency checks.
 
PublicInputsResult process_app_public_inputs (std::vector< StdlibFF > &public_inputs, AppWitnessCommitments &witness_commitments)
 
void accumulate_and_fold (ClientCircuit &circuit, const CircuitVerificationKey &vk)
 Turn the incoming instance into an accumulator. If a kernel follows, also produce a multilinear batching proof.
 
void prove_multilinear_batching ()
 Generate multilinear batching proof for the current group of accumulators.
 
template<typename InstanceFlavor >
HonkProof instance_to_accumulator (ClientCircuit &circuit, const std::shared_ptr< typename InstanceFlavor::VerificationKey > &vk)
 
void accumulate_hiding_kernel (ClientCircuit &circuit, const std::shared_ptr< MegaZKVerificationKey > &precomputed_vk)
 Build the hiding kernel's ZK proving key and verification key (proving is deferred to prove()).
 

Private Attributes

std::shared_ptr< Transcripttranscript = std::make_shared<Transcript>()
 
std::shared_ptr< Transcriptprover_accumulation_transcript = std::make_shared<Transcript>()
 
std::vector< CircuitKindcircuit_kinds
 
size_t num_circuits
 
size_t num_circuits_accumulated = 0
 

Detailed Description

The IVC scheme used by the aztec client for private function execution.

Combines HyperNova with Goblin to accumulate one circuit at a time with efficient EC group operations. It is assumed that the circuits being accumulated correspond alternatingly to an app and a kernel, as is the case in Aztec. Two recursive folding verifiers are appended to each kernel (except the first one) to verify the folding of a previous kernel and an app/function circuit. Due to this structure it is enforced that the total number of circuits being accumulated is even.

Definition at line 42 of file chonk.hpp.

Member Typedef Documentation

◆ AppFlavor

Definition at line 48 of file chonk.hpp.

◆ AppIO

Definition at line 77 of file chonk.hpp.

◆ AppRecursiveFlavor

◆ AppRecursiveVerifierInstance

◆ AppRecursiveVKAndHash

◆ AppVerificationKey

◆ AppWitnessCommitments

◆ CircuitKind

Definition at line 100 of file chonk.hpp.

◆ CircuitVerificationKey

◆ ClientCircuit

Definition at line 58 of file chonk.hpp.

◆ Commitment

Definition at line 56 of file chonk.hpp.

◆ DataBusDepot

◆ DeciderProver

Definition at line 84 of file chonk.hpp.

◆ EccOpRunningHash

Definition at line 92 of file chonk.hpp.

◆ ECCVMVerificationKey

◆ FF

Definition at line 55 of file chonk.hpp.

◆ FoldingProver

Definition at line 83 of file chonk.hpp.

◆ HidingKernelFlavor

Definition at line 50 of file chonk.hpp.

◆ HidingKernelIO

◆ HidingKernelProverInstance

◆ KernelFlavor

Definition at line 49 of file chonk.hpp.

◆ KernelIO

◆ KernelRecursiveFlavor

◆ KernelRecursiveVerifierInstance

◆ KernelRecursiveVKAndHash

◆ KernelVerificationKey

◆ KernelWitnessCommitments

◆ MegaZKVerificationKey

◆ PairingPoints

◆ ProverAccumulator

◆ RecursiveCommitment

◆ RecursiveCurve

◆ RecursiveDeciderVerifier

◆ RecursiveTranscript

◆ RecursiveVerifierAccumulator

◆ StdlibFF

Definition at line 66 of file chonk.hpp.

◆ StdlibProof

Definition at line 78 of file chonk.hpp.

◆ StdlibVerificationQueue

Definition at line 150 of file chonk.hpp.

◆ Transcript

Definition at line 61 of file chonk.hpp.

◆ TranslatorVerificationKey

◆ VerificationQueue

Definition at line 122 of file chonk.hpp.

◆ VerifierAccumulator

Constructor & Destructor Documentation

◆ Chonk()

bb::Chonk::Chonk ( std::vector< CircuitKind circuit_kinds)

Definition at line 121 of file chonk.cpp.

Member Function Documentation

◆ accumulate()

void bb::Chonk::accumulate ( ClientCircuit circuit,
const CircuitVerificationKey vk 
)

Accumulate a circuit into the running IVC.

Unified accumulation entry point. Dispatches on current_kind() to either folding (App / Kernel) or the hiding-kernel path (HidingKernel — proving deferred to prove()). When the next circuit is a kernel, the circuit being accumulated completes that kernel's group, so its multilinear batching proof (and, before the hiding kernel, the decider proof) is produced here.

Single entry point for circuit accumulation. Internally, it selects the correct flavor for accumulation based on the kind of the circuit processed (which are provided to Chonk at construction):

Each accumulation step:

  • Transforms the incoming circuit into an Hypernova accumulator
  • When the next circuit is a kernel, also produces the kernel's multilinear batching proof
  • When the next circuit is the hiding kernel, also produces the decider proof

If we are accumulating the hiding kernel, we construct its prover_instance.

Note
The caller must pass the VK variant alternative matching current_kind(); mismatches throw std::bad_variant_access.

Definition at line 635 of file chonk.cpp.

◆ accumulate_and_fold()

void bb::Chonk::accumulate_and_fold ( ClientCircuit circuit,
const CircuitVerificationKey vk 
)
private

Turn the incoming instance into an accumulator. If a kernel follows, also produce a multilinear batching proof.

Definition at line 545 of file chonk.cpp.

◆ accumulate_hiding_kernel()

void bb::Chonk::accumulate_hiding_kernel ( ClientCircuit circuit,
const std::shared_ptr< MegaZKVerificationKey > &  precomputed_vk 
)
private

Build the hiding kernel's ZK proving key and verification key (proving is deferred to prove()).

Definition at line 487 of file chonk.cpp.

◆ complete_kernel_circuit_logic()

void bb::Chonk::complete_kernel_circuit_logic ( ClientCircuit circuit)

Append logic to complete a kernel circuit.

This is the verifier counterpart to prover's accumulate(). While accumulate() creates proofs for each circuit, this method adds recursive verification constraints to kernel circuits.

The method performs the following steps:

  1. SETUP: Initialize transcript and determine kernel type
  2. VERIFICATION LOOP: Process each entry in stdlib_verification_queue
  3. OUTPUT: Set public inputs (KernelIO or HidingKernelIO) for propagation to next kernel
Parameters
circuitThe kernel circuit to append verification logic to

Definition at line 355 of file chonk.cpp.

◆ current_kind()

Chonk::CircuitKind bb::Chonk::current_kind ( ) const

Kind of the circuit currently being accumulated (or, between accumulate calls, the next one expected).

Definition at line 610 of file chonk.cpp.

◆ debug_incoming_circuit()

template<typename InstanceFlavor >
void bb::Chonk::debug_incoming_circuit ( ClientCircuit circuit,
const std::shared_ptr< ProverInstance_< InstanceFlavor > > &  prover_instance,
const std::shared_ptr< typename InstanceFlavor::VerificationKey > &  precomputed_vk 
)
private

Definition at line 48 of file chonk.cpp.

◆ get_goblin() [1/2]

Goblin & bb::Chonk::get_goblin ( )
inline

Definition at line 205 of file chonk.hpp.

◆ get_goblin() [2/2]

const Goblin & bb::Chonk::get_goblin ( ) const
inline

Definition at line 206 of file chonk.hpp.

◆ get_hiding_kernel_vk_and_hash()

std::shared_ptr< MegaZKFlavor::VKAndHash > bb::Chonk::get_hiding_kernel_vk_and_hash ( ) const

Get the hiding kernel verification key and hash for Chonk verification.

Returns
VKAndHash containing the MegaZK verification key and its hash

Definition at line 772 of file chonk.cpp.

◆ get_num_circuits()

size_t bb::Chonk::get_num_circuits ( ) const
inline

Definition at line 203 of file chonk.hpp.

◆ get_num_circuits_accumulated()

size_t bb::Chonk::get_num_circuits_accumulated ( ) const
inline

Get the number of circuits accumulated by the IVC.

Definition at line 274 of file chonk.hpp.

◆ group_claim_count()

static constexpr size_t bb::Chonk::group_claim_count ( bool  has_previous_accumulator,
size_t  group_size 
)
inlinestaticconstexpr

Number of claims a kernel batches: the previous accumulator (absent for the init kernel) plus one sumcheck claim per proof in the group. A single claim needs no batching proof.

Definition at line 198 of file chonk.hpp.

◆ hide_op_queue_content_in_hiding()

void bb::Chonk::hide_op_queue_content_in_hiding ( ClientCircuit circuit)
static

Adds two random non-ops to the hiding kernel for zero-knowledge.

See MERGE_PROTOCOL.md (ZK Considerations) for detailed analysis.

Definition at line 713 of file chonk.cpp.

◆ instance_to_accumulator()

template<typename InstanceFlavor >
HonkProof bb::Chonk::instance_to_accumulator ( ClientCircuit circuit,
const std::shared_ptr< typename InstanceFlavor::VerificationKey > &  vk 
)
private

Definition at line 524 of file chonk.cpp.

◆ instantiate_stdlib_verification_queue()

void bb::Chonk::instantiate_stdlib_verification_queue ( ClientCircuit circuit,
const std::vector< StdlibCircuitVKAndHash > &  input_keys = {} 
)

Instantiate a stdlib verification queue for use in the kernel completion logic.

Construct a stdlib proof/verification_key for each entry in the native verification queue. By default, both are constructed from their counterpart in the native queue. Alternatively, Stdlib verification keys can be provided directly as input to this method. (The later option is used, for example, when constructing recursive verifiers based on the verification key witnesses from an acir recursion constraint. This option is not provided for proofs since valid proof witnesses are in general not known at the time of acir constraint generation).

Parameters
circuit

Definition at line 160 of file chonk.cpp.

◆ is_hiding_kernel()

bool bb::Chonk::is_hiding_kernel ( ) const
inline

Whether the circuit currently being accumulated/completed is the hiding kernel.

Derived from the circuit kinds supplied at construction: the hiding kernel is the final circuit in the stack.

Definition at line 268 of file chonk.hpp.

◆ is_init_kernel()

bool bb::Chonk::is_init_kernel ( ) const

Whether the kernel currently being completed is the init kernel (the first kernel, which carries no accumulator from a previous kernel).

Derived from the group queued for verification: the init kernel's group begins with the first app's proof, whereas every later kernel's group begins with the previous kernel's proof. Must be called once the stdlib verification queue holds the current kernel's group.

Definition at line 622 of file chonk.cpp.

◆ next_kind()

Chonk::CircuitKind bb::Chonk::next_kind ( ) const

Kind of the circuit that follows the one currently being accumulated, or CircuitKind::None if the current circuit is the last in the stack.

Definition at line 616 of file chonk.cpp.

◆ process_app_public_inputs()

Chonk::PublicInputsResult bb::Chonk::process_app_public_inputs ( std::vector< StdlibFF > &  public_inputs,
AppWitnessCommitments witness_commitments 
)
private

Definition at line 271 of file chonk.cpp.

◆ process_kernel_public_inputs()

Chonk::PublicInputsResult bb::Chonk::process_kernel_public_inputs ( std::vector< StdlibFF > &  public_inputs,
KernelWitnessCommitments witness_commitments,
const std::optional< StdlibFF > &  prev_accum_hash 
)
private

Process public inputs from a verified circuit and perform databus consistency checks.

For kernel circuits: reconstructs KernelIO from public inputs, verifies that databus return data commitments match witness commitments, checks accumulator hash consistency, and returns the kernel's ECC op running hash. For app circuits: reconstructs AppIO from public inputs and extracts pairing points. In both cases, updates the bus depot with the appropriate return data commitment.

Parameters
verifier_inputs{proof, vkey, type (Oink/HN)} A set of inputs for recursive verification
public_inputsThe public inputs extracted from the verifier instance that was folded into the running accumulator
witness_commitmentsThe witness commitments extracted from the verifier instance that was folded into the running accumulator
prev_accum_hashThe accumulator hash from the previous kernel

Definition at line 207 of file chonk.cpp.

◆ prove()

ChonkProof bb::Chonk::prove ( )

Construct Chonk proof using the batched MegaZK + Translator protocol.

Orchestrates the batched proving flow on a shared transcript:

  1. MegaZK Oink (pre-sumcheck commitments for the hiding kernel)
  2. Merge proof (fixed-location append of the final subtable from the hiding kernel)
  3. ECCVM proof (produces translation challenges v, x)
  4. IPA proof (separate transcript)
  5. Translator Oink + Joint sumcheck + Joint PCS

The joint sumcheck and PCS batch the MegaZK and translator circuits together, eliminating separate sumcheck/PCS phases and reducing proof size.

Definition at line 732 of file chonk.cpp.

◆ prove_multilinear_batching()

void bb::Chonk::prove_multilinear_batching ( )
private

Generate multilinear batching proof for the current group of accumulators.

Batch the group's sumcheck claims (collected during the group's accumulate() calls) together with the previous accumulator, using the batching circuit of exactly matching width.

In between kernels, instances are turned into accumulators. When we reach the last app in a group, we generate a single proof that batches the accumulators in the group into a single accumulator, which will be propagated by the following kernel.

Called at the end of accumulating the last circuit of a group, i.e. when the next circuit is a kernel. The resulting proof is recursively verified in that kernel's complete_kernel_circuit_logic.

Definition at line 680 of file chonk.cpp.

◆ recursive_verification_and_consistency_checks()

std::pair< Chonk::PairingPoints, Chonk::EccOpRunningHash > bb::Chonk::recursive_verification_and_consistency_checks ( const StdlibVerifierInputs verifier_inputs,
HypernovaFoldingRecursiveVerifier folding_verifier,
const std::optional< StdlibFF > &  prev_stdlib_acc_hash,
const std::optional< EccOpRunningHash > &  running_ecc_op_hash 
)

Run sumcheck on a single proof in the group and perform its databus/accumulator-hash consistency checks.

Delegates to two steps: (1) sumcheck on the incoming instance to obtain its claim (no multilinear batching), and (2) public inputs processing and databus consistency checks. Returns the resulting sumcheck claim, its pairing points, and the updated ECC-op running hash. The claim is collected by complete_kernel_circuit_logic and batched together with the rest of the group at the end of the kernel.

Parameters
verifier_inputs{proof, vkey, type (Oink/HN)} A set of inputs for recursive verification
prev_stdlib_acc_hashThe hash of the accumulator from the previous step of recursive verification
running_ecc_op_hashRunning hash of ECC-op column commitments from prior steps in this kernel.
accumulation_recursive_transcriptTranscript shared across recursive verification of the sumchecks of K_{i-1} (kernel), A_{i,1} (app), .., A_{i, n} (app)

Definition at line 293 of file chonk.cpp.

◆ run_native_instance_sumcheck()

template<typename NativeFlavor >
void bb::Chonk::run_native_instance_sumcheck ( const std::shared_ptr< typename NativeFlavor::VerificationKey > &  honk_vk,
const VerifierInputs queue_entry 
)
private

Templated native verification of the instance to accumulator sumcheck.

Definition at line 28 of file chonk.cpp.

◆ set_num_circuits_accumulated_for_mocking()

void bb::Chonk::set_num_circuits_accumulated_for_mocking ( const size_t  num_circuits)
inline

Set the num circuits accumulated for mocking an IVC state. Used when writing VKs.

Definition at line 280 of file chonk.hpp.

◆ update_native_verifier_accumulator()

void bb::Chonk::update_native_verifier_accumulator ( bool  is_init_group)
private

Natively verify the multilinear batching proof and update the native verifier accumulator. Useful for debugging.

Batches the previous accumulator (absent for the init group) with the group's collected sumcheck claims, mirroring prove_multilinear_batching, and cross-checks the result against the prover accumulator.

Definition at line 83 of file chonk.cpp.

◆ verify_decider_natively()

void bb::Chonk::verify_decider_natively ( )
private

Definition at line 107 of file chonk.cpp.

◆ verify_native_instance_sumcheck()

void bb::Chonk::verify_native_instance_sumcheck ( const VerifierInputs queue_entry)
private

Natively verify the instance-to-accumulator sumcheck of the circuit just accumulated. Useful for debugging.

Parameters
queue_entryThe verifier inputs from the queue.

Definition at line 70 of file chonk.cpp.

Member Data Documentation

◆ bus_depot

DataBusDepot bb::Chonk::bus_depot

Definition at line 186 of file chonk.hpp.

◆ circuit_kinds

std::vector<CircuitKind> bb::Chonk::circuit_kinds
private

Definition at line 159 of file chonk.hpp.

◆ decider_proof

HonkProof bb::Chonk::decider_proof

Definition at line 169 of file chonk.hpp.

◆ folding_prover

std::shared_ptr<FoldingProver> bb::Chonk::folding_prover

Definition at line 165 of file chonk.hpp.

◆ goblin

Goblin bb::Chonk::goblin

Definition at line 188 of file chonk.hpp.

◆ hiding_prover_inst

std::shared_ptr<HidingKernelProverInstance> bb::Chonk::hiding_prover_inst

Definition at line 191 of file chonk.hpp.

◆ hiding_vk

std::shared_ptr<MegaZKVerificationKey> bb::Chonk::hiding_vk

Definition at line 192 of file chonk.hpp.

◆ multilinear_batch_proof

HonkProof bb::Chonk::multilinear_batch_proof

Definition at line 167 of file chonk.hpp.

◆ native_folding_verifier

std::shared_ptr<HypernovaFoldingNativeVerifier> bb::Chonk::native_folding_verifier

Definition at line 174 of file chonk.hpp.

◆ native_verifier_accum

VerifierAccumulator bb::Chonk::native_verifier_accum

Definition at line 173 of file chonk.hpp.

◆ native_verifier_accumulation_transcript

std::shared_ptr<Transcript> bb::Chonk::native_verifier_accumulation_transcript = std::make_shared<Transcript>()

Definition at line 175 of file chonk.hpp.

◆ num_circuits

size_t bb::Chonk::num_circuits
private

Definition at line 160 of file chonk.hpp.

◆ num_circuits_accumulated

size_t bb::Chonk::num_circuits_accumulated = 0
private

Definition at line 162 of file chonk.hpp.

◆ prover_accumulation_transcript

std::shared_ptr<Transcript> bb::Chonk::prover_accumulation_transcript = std::make_shared<Transcript>()
private

Definition at line 157 of file chonk.hpp.

◆ prover_accumulator

ProverAccumulator bb::Chonk::prover_accumulator

Definition at line 164 of file chonk.hpp.

◆ recursive_verifier_native_accum

VerifierAccumulator bb::Chonk::recursive_verifier_native_accum

Definition at line 171 of file chonk.hpp.

◆ stdlib_verification_queue

StdlibVerificationQueue bb::Chonk::stdlib_verification_queue

Definition at line 183 of file chonk.hpp.

◆ transcript

std::shared_ptr<Transcript> bb::Chonk::transcript = std::make_shared<Transcript>()
private

Definition at line 154 of file chonk.hpp.

◆ verification_queue

VerificationQueue bb::Chonk::verification_queue

Definition at line 182 of file chonk.hpp.


The documentation for this class was generated from the following files: