Barretenberg
The ZK-SNARK library at the core of Aztec
Loading...
Searching...
No Matches
goblin_recursive_verifier.hpp
Go to the documentation of this file.
1// === AUDIT STATUS ===
2// internal: { status: not started, auditors: [], date: YYYY-MM-DD }
3// external_1: { status: not started, auditors: [], date: YYYY-MM-DD }
4// external_2: { status: not started, auditors: [], date: YYYY-MM-DD }
5// =====================
6
7#pragma once
12
14
24
26 public:
27 // Goblin Recursive Verifier circuit is using Ultra arithmetisation
35
36 // ECCVM and Translator verification keys
38
39 // Merge commitments
41
48
49 [[nodiscard("IPA claim and Pairing points should be accumulated")]] GoblinRecursiveVerifierOutput verify(
50 const GoblinProof&,
51 const MergeCommitments& merge_commitments,
52 const MergeSettings merge_settings = MergeSettings::PREPEND);
53 [[nodiscard("IPA claim and Pairing points should be accumulated")]] GoblinRecursiveVerifierOutput verify(
54 const GoblinStdlibProof&,
55 const MergeCommitments& merge_commitments,
56 const MergeSettings merge_settings = MergeSettings::PREPEND);
57
58 private:
60 VerificationKey verification_keys; // ECCVM and Translator verification keys
61 std::shared_ptr<Transcript> transcript;
62};
63
64} // namespace bb::stdlib::recursion::honk
Common transcript class for both parties. Stores the data for the current round, as well as the manif...
Unified verifier class for the Goblin ECC op queue transcript merge protocol.
Unverified claim (C,r,v) for some witness polynomial p(X) such that.
Definition claim.hpp:53
The recursive counterpart of the native Translator flavor.
TranslationEvaluations_< BF > TranslationEvaluations
A simple wrapper around a vector of stdlib field elements representing a proof.
Definition proof.hpp:19
GoblinRecursiveVerifier(Builder *builder, const VerificationKey &verification_keys, const std::shared_ptr< Transcript > &transcript=std::make_shared< Transcript >())
GoblinRecursiveVerifierOutput verify(const GoblinProof &, const MergeCommitments &merge_commitments, const MergeSettings merge_settings=MergeSettings::PREPEND)
Creates a circuit that executes the ECCVM, Translator and Merge verifiers.
BaseTranscript< stdlib::StdlibCodec< stdlib::field_t< UltraCircuitBuilder > >, stdlib::poseidon2< UltraCircuitBuilder > > UltraStdlibTranscript
UltraCircuitBuilder_< UltraExecutionTraceBlocks > UltraCircuitBuilder
MergeSettings
The MergeSettings define whether an current subtable will be added at the beginning (PREPEND) or at t...
constexpr decltype(auto) get(::tuplet::tuple< T... > &&t) noexcept
Definition tuple.hpp:13
Stores the evaluations of op, Px, Py, z1, and z2 computed by the ECCVM Prover. These evaluations are ...
Data passed from ECCVM Verifier to Translator Verifier for verification.
Curve grumpkin in circuit setting.
Definition grumpkin.hpp:21