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

Prover class for the Goblin ECC op queue transcript merge protocol. More...

#include <merge_prover.hpp>

Public Types

using MergeProof = std::vector< FF >
 

Public Member Functions

 MergeProver (const std::shared_ptr< ECCOpQueue > &op_queue, const MergeSettings settings=MergeSettings::PREPEND, const CommitmentKey &commitment_key=CommitmentKey(), const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
 Create MergeProver.
 
BB_PROFILE MergeProof construct_proof ()
 

Public Attributes

std::shared_ptr< ECCOpQueueop_queue
 
CommitmentKey pcs_commitment_key
 
std::shared_ptr< Transcripttranscript
 
MergeSettings settings
 

Static Public Attributes

static constexpr size_t NUM_WIRES = MegaExecutionTraceBlocks::NUM_WIRES
 

Private 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 OpeningPair = bb::OpeningPair< Curve >
 
using Transcript = NativeTranscript
 

Detailed Description

Prover class for the Goblin ECC op queue transcript merge protocol.

Definition at line 22 of file merge_prover.hpp.

Member Typedef Documentation

◆ Commitment

Definition at line 25 of file merge_prover.hpp.

◆ CommitmentKey

Definition at line 27 of file merge_prover.hpp.

◆ Curve

Definition at line 23 of file merge_prover.hpp.

◆ FF

Definition at line 24 of file merge_prover.hpp.

◆ MergeProof

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

Definition at line 34 of file merge_prover.hpp.

◆ OpeningClaim

Definition at line 29 of file merge_prover.hpp.

◆ OpeningPair

Definition at line 30 of file merge_prover.hpp.

◆ PCS

using bb::MergeProver::PCS = KZG<Curve>
private

Definition at line 28 of file merge_prover.hpp.

◆ Polynomial

Definition at line 26 of file merge_prover.hpp.

◆ Transcript

Definition at line 31 of file merge_prover.hpp.

Constructor & Destructor Documentation

◆ MergeProver()

bb::MergeProver::MergeProver ( const std::shared_ptr< ECCOpQueue > &  op_queue,
const MergeSettings  settings = MergeSettings::PREPEND,
const CommitmentKey commitment_key = CommitmentKey(),
const std::shared_ptr< Transcript > &  transcript = std::make_shared<Transcript>() 
)
explicit

Create MergeProver.

We require an SRS at least as large as the current ultra ecc ops table TODO(https://github.com/AztecProtocol/barretenberg/issues/1267): consider possible efficiency improvements

Definition at line 18 of file merge_prover.cpp.

Member Function Documentation

◆ construct_proof()

BB_PROFILE MergeProof bb::MergeProver::construct_proof ( )

Member Data Documentation

◆ NUM_WIRES

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

Definition at line 50 of file merge_prover.hpp.

◆ op_queue

std::shared_ptr<ECCOpQueue> bb::MergeProver::op_queue

Definition at line 43 of file merge_prover.hpp.

◆ pcs_commitment_key

CommitmentKey bb::MergeProver::pcs_commitment_key

Definition at line 44 of file merge_prover.hpp.

◆ settings

MergeSettings bb::MergeProver::settings

Definition at line 46 of file merge_prover.hpp.

◆ transcript

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

Definition at line 45 of file merge_prover.hpp.


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