Barretenberg
The ZK-SNARK library at the core of Aztec
|
#include <protogalaxy_recursive_verifier.hpp>
Public Types | |
using | Flavor = typename DeciderVerificationKeys::Flavor |
using | FF = typename Flavor::FF |
using | Commitment = typename Flavor::Commitment |
using | DeciderVK = typename DeciderVerificationKeys::DeciderVK |
using | VKAndHash = typename Flavor::VKAndHash |
using | Builder = typename Flavor::CircuitBuilder |
using | Transcript = bb::BaseTranscript< bb::stdlib::recursion::honk::StdlibTranscriptParams< Builder > > |
Public Member Functions | |
ProtogalaxyRecursiveVerifier_ (Builder *builder, const std::shared_ptr< DeciderVK > &accumulator, const std::vector< std::shared_ptr< VKAndHash > > &vk_and_hashs, const std::shared_ptr< Transcript > &transcript) | |
ProtogalaxyRecursiveVerifier_ (Builder *builder, const std::shared_ptr< DeciderVK > &accumulator, const std::shared_ptr< DeciderVK > &incoming_instance, const std::shared_ptr< Transcript > &transcript) | |
void | run_oink_verifier_on_each_incomplete_key (const std::vector< FF > &) |
Process the public data ϕ for the decider verification keys to be folded. | |
std::shared_ptr< DeciderVK > | verify_folding_proof (const stdlib::Proof< Builder > &) |
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. | |
Public Attributes | |
Builder * | builder |
DeciderVerificationKeys | keys_to_fold |
std::shared_ptr< Transcript > | transcript = std::make_shared<Transcript>() |
Static Public Attributes | |
static constexpr size_t | NUM_SUBRELATIONS = Flavor::NUM_SUBRELATIONS |
Definition at line 18 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::Builder = typename Flavor::CircuitBuilder |
Definition at line 26 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::Commitment = typename Flavor::Commitment |
Definition at line 22 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::DeciderVK = typename DeciderVerificationKeys::DeciderVK |
Definition at line 23 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::FF = typename Flavor::FF |
Definition at line 21 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::Flavor = typename DeciderVerificationKeys::Flavor |
Definition at line 20 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::Transcript = bb::BaseTranscript<bb::stdlib::recursion::honk::StdlibTranscriptParams<Builder> > |
Definition at line 27 of file protogalaxy_recursive_verifier.hpp.
using bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::VKAndHash = typename Flavor::VKAndHash |
Definition at line 24 of file protogalaxy_recursive_verifier.hpp.
|
inline |
Definition at line 37 of file protogalaxy_recursive_verifier.hpp.
|
inline |
Definition at line 45 of file protogalaxy_recursive_verifier.hpp.
void bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::run_oink_verifier_on_each_incomplete_key | ( | const std::vector< FF > & | proof | ) |
Process the public data ϕ for the decider verification keys to be folded.
Definition at line 17 of file protogalaxy_recursive_verifier.cpp.
std::shared_ptr< typename DeciderVerificationKeys::DeciderVK > bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::verify_folding_proof | ( | const stdlib::Proof< Builder > & | proof | ) |
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.
In the recursive setting this function doesn't return anything because the equality checks performed by the recursive verifier, ensuring the folded ϕ*, e* and β* on the verifier side correspond to what has been sent by the prover, are expressed as constraints.
Definition at line 41 of file protogalaxy_recursive_verifier.cpp.
Builder* bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::builder |
Definition at line 31 of file protogalaxy_recursive_verifier.hpp.
DeciderVerificationKeys bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::keys_to_fold |
Definition at line 33 of file protogalaxy_recursive_verifier.hpp.
|
staticconstexpr |
Definition at line 29 of file protogalaxy_recursive_verifier.hpp.
std::shared_ptr<Transcript> bb::stdlib::recursion::honk::ProtogalaxyRecursiveVerifier_< DeciderVerificationKeys >::transcript = std::make_shared<Transcript>() |
Definition at line 35 of file protogalaxy_recursive_verifier.hpp.