barretenberg
Loading...
Searching...
No Matches
ultra_verifier.hpp
1#pragma once
2#include "barretenberg/flavor/goblin_ultra.hpp"
3#include "barretenberg/flavor/ultra.hpp"
4#include "barretenberg/plonk/proof_system/types/proof.hpp"
5#include "barretenberg/srs/global_crs.hpp"
6#include "barretenberg/sumcheck/sumcheck.hpp"
7
8namespace proof_system::honk {
9template <typename Flavor> class UltraVerifier_ {
10 using FF = typename Flavor::FF;
11 using Commitment = typename Flavor::Commitment;
12 using VerificationKey = typename Flavor::VerificationKey;
13 using VerifierCommitmentKey = typename Flavor::VerifierCommitmentKey;
14 using Transcript = typename Flavor::Transcript;
15
16 public:
17 explicit UltraVerifier_(const std::shared_ptr<Transcript>& transcript,
18 const std::shared_ptr<VerificationKey>& verifier_key = nullptr);
19 explicit UltraVerifier_(const std::shared_ptr<VerificationKey>& verifier_key);
21
22 UltraVerifier_& operator=(const UltraVerifier_& other) = delete;
23 UltraVerifier_& operator=(UltraVerifier_&& other);
24
25 bool verify_proof(const plonk::proof& proof);
26
27 std::shared_ptr<VerificationKey> key;
28 std::map<std::string, Commitment> commitments;
29 std::shared_ptr<VerifierCommitmentKey> pcs_verification_key;
30 std::shared_ptr<Transcript> transcript;
31};
32
33extern template class UltraVerifier_<honk::flavor::Ultra>;
35
38
39} // namespace proof_system::honk
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
Definition: transcript.hpp:62
Definition: ultra_verifier.hpp:9
bool verify_proof(const plonk::proof &proof)
This function verifies an Ultra Honk proof for a given Flavor.
Definition: ultra_verifier.cpp:49
VerificationKey_< PrecomputedEntities< Commitment > > VerificationKey
The verification key is responsible for storing the the commitments to the precomputed (non-witnessk)...
Definition: goblin_translator.hpp:941
Definition: verification_key.hpp:25
Defines particular circuit builder types expected to be used for circuit construction in stdlib and c...
Definition: claim.hpp:6
Definition: proof.hpp:11