Common transcript class for both parties. Stores the data for the current round, as well as the manif...
CommitmentKey object over a pairing group 𝔾₁.
Manages ECC operations for the Goblin proving system.
The proving key is responsible for storing the polynomials used by the prover.
ECCVMCircuitBuilder CircuitBuilder
FixedVKAndHash_< PrecomputedEntities< Commitment >, BF, ECCVMHardcodedVKAndHash > VerificationKey
The verification key stores commitments to the precomputed polynomials used by the verifier.
Simple verification key class for fixed-size circuits (ECCVM, Translator).
fq evaluation_challenge_x
std::pair< PairingPoints, RecursiveTableCommitments > recursively_verify_merge(MegaBuilder &builder, const RecursiveMergeCommitments &merge_commitments, const std::shared_ptr< RecursiveTranscript > &transcript, const MergeSettings merge_settings=MergeSettings::PREPEND)
Recursively verify the next merge proof in the merge verification queue.
MergeRecursiveVerifier::Commitment RecursiveCommitment
void prove_eccvm()
Construct an ECCVM proof and IPA opening proof.
fq translation_batching_challenge_v
MergeVerifier::TableCommitments TableCommitments
GoblinProof prove()
Constuct a full Goblin proof (ECCVM, Translator, merge)
MergeRecursiveVerifier::PairingPoints PairingPoints
void prove_merge(const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >(), const MergeSettings merge_settings=MergeSettings::PREPEND)
Construct a merge proof for the goblin ECC ops in the provided circuit; append the proof to the merge...
std::shared_ptr< OpQueue > op_queue
void prove_translator()
Construct a translator proof.
MegaFlavor::Commitment Commitment
MergeProver::MergeProof MergeProof
CommitmentKey< curve::BN254 > commitment_key
std::deque< MergeProof > merge_verification_queue
std::shared_ptr< Transcript > transcript
MergeRecursiveVerifier::TableCommitments RecursiveTableCommitments
IPA (inner product argument) commitment scheme class.
Curve::AffineElement Commitment
std::vector< FF > MergeProof
Unified verifier class for the Goblin ECC op queue transcript merge protocol.
typename Curve::AffineElement Commitment
std::conditional_t< Curve::is_stdlib_type, stdlib::recursion::PairingPoints< Curve >, bb::PairingPoints< Curve > > PairingPoints
std::array< Commitment, NUM_WIRES > TableCommitments
TranslatorCircuitBuilder creates a circuit that evaluates the correctness of the evaluation of EccOpQ...
FixedVKAndHash_< PrecomputedEntities< Commitment >, FF, TranslatorHardcodedVKAndHash > VerificationKey
The verification key stores commitments to the precomputed polynomials used by the verifier.
Entry point for Barretenberg command-line interface.
field< Bn254FrParams > fr
MergeSettings
The MergeSettings define whether an current subtable will be added at the beginning (PREPEND) or at t...
BaseTranscript< FrCodec, bb::crypto::Poseidon2< bb::crypto::Poseidon2Bn254ScalarFieldParams > > NativeTranscript
MegaCircuitBuilder_< field< Bn254FrParams > > MegaCircuitBuilder
BaseTranscript< stdlib::StdlibCodec< stdlib::field_t< MegaCircuitBuilder > >, stdlib::poseidon2< MegaCircuitBuilder > > MegaStdlibTranscript
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
std::shared_ptr< TranslatorVerificationKey > translator_verification_key
std::shared_ptr< ECCVMVerificationKey > eccvm_verification_key