barretenberg
Loading...
Searching...
No Matches
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
proof_system::honk::ProtoGalaxyVerifier_< VerifierInstances > Class Template Reference

Public Types

using Flavor = typename VerifierInstances::Flavor
 
using Transcript = typename Flavor::Transcript
 
using FF = typename Flavor::FF
 
using Commitment = typename Flavor::Commitment
 
using Instance = typename VerifierInstances::Instance
 
using VerificationKey = typename Flavor::VerificationKey
 
using WitnessCommitments = typename Flavor::WitnessCommitments
 
using CommitmentLabels = typename Flavor::CommitmentLabels
 

Public Member Functions

 ProtoGalaxyVerifier_ (VerifierInstances insts)
 
std::shared_ptr< Instance > get_accumulator ()
 
void prepare_for_folding (const std::vector< uint8_t > &)
 Instatiate the instances and the transcript.
 
void receive_accumulator (const std::shared_ptr< Instance > &, const std::string &)
 Instantiatied the accumulator (i.e. the relaxed instance) from the transcript.
 
void receive_and_finalise_instance (const std::shared_ptr< Instance > &, const std::string &)
 Process the public data ϕ for the Instances to be folded.
 
bool verify_folding_proof (std::vector< uint8_t >)
 Run the folding protocol on the verifier side to establish whether the public data ϕ of the new accumulator, received from the prover is the same as that produced by the verifier.
 

Static Public Member Functions

static std::vector< FF > compute_round_challenge_pows (size_t log_instance_size, FF round_challenge)
 Given a new round challenge δ for each iteration of the full ProtoGalaxy protocol, compute the vector [δ, δ^2,..., δ^t] where t = logn and n is the size of the instance.
 
static std::vector< FF > update_gate_challenges (const FF perturbator_challenge, const std::vector< FF > &gate_challenges, const std::vector< FF > &round_challenges)
 

Public Attributes

VerifierInstances instances
 
std::shared_ptr< Transcript > transcript = std::make_shared<Transcript>()
 
CommitmentLabels commitment_labels
 

Member Function Documentation

◆ prepare_for_folding()

template<class VerifierInstances >
void proof_system::honk::ProtoGalaxyVerifier_< VerifierInstances >::prepare_for_folding ( const std::vector< uint8_t > &  fold_data)

Instatiate the instances and the transcript.

Parameters
fold_dataThe data transmitted via the transcript by the prover.

◆ receive_accumulator()

template<class VerifierInstances >
void proof_system::honk::ProtoGalaxyVerifier_< VerifierInstances >::receive_accumulator ( const std::shared_ptr< Instance > &  inst,
const std::string &  domain_separator 
)

Instantiatied the accumulator (i.e. the relaxed instance) from the transcript.

◆ receive_and_finalise_instance()

template<class VerifierInstances >
void proof_system::honk::ProtoGalaxyVerifier_< VerifierInstances >::receive_and_finalise_instance ( const std::shared_ptr< Instance > &  inst,
const std::string &  domain_separator 
)

Process the public data ϕ for the Instances to be folded.

◆ verify_folding_proof()

template<class VerifierInstances >
bool proof_system::honk::ProtoGalaxyVerifier_< VerifierInstances >::verify_folding_proof ( std::vector< uint8_t >  fold_data)

Run the folding protocol on the verifier side to establish whether the public data ϕ of the new accumulator, received from the prover is the same as that produced by the verifier.


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