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

Batch merge prover. More...

#include <batch_merge_prover.hpp>

Inheritance diagram for bb::BatchMergeProver:
bb::TweakableBatchMergeProver

Public Types

using MergeProof = std::vector< FF >
 

Public Member Functions

 BatchMergeProver (const std::shared_ptr< ECCOpQueue > &op_queue, size_t max_subtables)
 
MergeProof construct_proof ()
 Construct the batch merge proof.
 

Public Attributes

CommitmentKey pcs_commitment_key
 
std::shared_ptr< Transcripttranscript
 

Static Public Attributes

static constexpr size_t NUM_WIRES = MegaExecutionTraceBlocks::NUM_WIRES
 

Protected Types

using Curve = curve::BN254
 
using FF = Curve::ScalarField
 
using Commitment = Curve::AffineElement
 
using Polynomial = bb::Polynomial< FF >
 
using CommitmentKey = bb::CommitmentKey< Curve >
 
using PCS = KZG< Curve >
 
using OpeningClaim = ProverOpeningClaim< Curve >
 
using Transcript = NativeTranscript
 
using ShplonkProver = ShplonkProver_< Curve >
 

Static Protected Member Functions

static Polynomial compute_degree_check_polynomial (const std::vector< Polynomial > &flattened_columns, const std::vector< FF > &degree_check_challenges, const size_t max_size)
 

Protected Attributes

std::shared_ptr< ECCOpQueueop_queue
 
size_t max_subtables
 

Detailed Description

Batch merge prover.

This prover proves that the full merged table T is the correct concatenation of all N accumulated subtables C_0, ..., C_{N-1} (padded to MAX_SUBTABLES M).

Definition at line 25 of file batch_merge_prover.hpp.

Member Typedef Documentation

◆ Commitment

Definition at line 29 of file batch_merge_prover.hpp.

◆ CommitmentKey

◆ Curve

Definition at line 27 of file batch_merge_prover.hpp.

◆ FF

Definition at line 28 of file batch_merge_prover.hpp.

◆ MergeProof

using bb::BatchMergeProver::MergeProof = std::vector<FF>

Definition at line 38 of file batch_merge_prover.hpp.

◆ OpeningClaim

◆ PCS

using bb::BatchMergeProver::PCS = KZG<Curve>
protected

Definition at line 32 of file batch_merge_prover.hpp.

◆ Polynomial

Definition at line 30 of file batch_merge_prover.hpp.

◆ ShplonkProver

Definition at line 35 of file batch_merge_prover.hpp.

◆ Transcript

Definition at line 34 of file batch_merge_prover.hpp.

Constructor & Destructor Documentation

◆ BatchMergeProver()

bb::BatchMergeProver::BatchMergeProver ( const std::shared_ptr< ECCOpQueue > &  op_queue,
size_t  max_subtables 
)
explicit
Parameters
op_queueThe ECC op queue containing all accumulated subtables (N subtables, in append order).
transcriptShared prover transcript.
max_subtablesM: the fixed maximum number of subtables (CHONK_MAX_ACCUMULATION_STEPS).

Definition at line 14 of file batch_merge_prover.cpp.

Member Function Documentation

◆ compute_degree_check_polynomial()

BatchMergeProver::Polynomial bb::BatchMergeProver::compute_degree_check_polynomial ( const std::vector< Polynomial > &  flattened_columns,
const std::vector< FF > &  degree_check_challenges,
const size_t  max_size 
)
staticprotected

Definition at line 23 of file batch_merge_prover.cpp.

◆ construct_proof()

BatchMergeProver::MergeProof bb::BatchMergeProver::construct_proof ( )

Construct the batch merge proof.

Proves that the full merged table T is the correct concatenation of all N subtables C_0, ..., C_{N-1} stored in the op_queue in append order (C_0 oldest, C_{N-1} most recently merged) together with an additional zero-knowledge commitment C_zk (prepended at the beginning).

Definition at line 52 of file batch_merge_prover.cpp.

Member Data Documentation

◆ max_subtables

size_t bb::BatchMergeProver::max_subtables
protected

Definition at line 67 of file batch_merge_prover.hpp.

◆ NUM_WIRES

constexpr size_t bb::BatchMergeProver::NUM_WIRES = MegaExecutionTraceBlocks::NUM_WIRES
staticconstexpr

Definition at line 40 of file batch_merge_prover.hpp.

◆ op_queue

std::shared_ptr<ECCOpQueue> bb::BatchMergeProver::op_queue
protected

Definition at line 66 of file batch_merge_prover.hpp.

◆ pcs_commitment_key

CommitmentKey bb::BatchMergeProver::pcs_commitment_key

Definition at line 60 of file batch_merge_prover.hpp.

◆ transcript

std::shared_ptr<Transcript> bb::BatchMergeProver::transcript

Definition at line 63 of file batch_merge_prover.hpp.


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