barretenberg
Loading...
Searching...
No Matches
Public Member Functions | Public Attributes | List of all members
proof_system::honk::MergeVerifier_< Flavor > Class Template Reference

Verifier class for the Goblin ECC op queue transcript merge protocol. More...

#include <merge_verifier.hpp>

Public Member Functions

bool verify_proof (const plonk::proof &proof)
 Verify proper construction of the aggregate Goblin ECC op queue polynomials T_i^(j), j = 1,2,3,4.
 

Public Attributes

std::shared_ptr< Transcript > transcript
 
std::shared_ptr< ECCOpQueueop_queue
 
std::shared_ptr< VerifierCommitmentKey > pcs_verification_key
 

Detailed Description

template<typename Flavor>
class proof_system::honk::MergeVerifier_< Flavor >

Verifier class for the Goblin ECC op queue transcript merge protocol.

Template Parameters
Flavor

Member Function Documentation

◆ verify_proof()

template<typename Flavor >
bool proof_system::honk::MergeVerifier_< Flavor >::verify_proof ( const plonk::proof proof)

Verify proper construction of the aggregate Goblin ECC op queue polynomials T_i^(j), j = 1,2,3,4.

Let T_i^(j) be the jth column of the aggregate op queue after incorporating the contribution from the present circuit. T_{i-1}^(j) corresponds to the aggregate op queue at the previous stage and $t_i^(j)$ represents the contribution from the present circuit only. For each j, we have the relationship T_i = T_{i-1} + right_shift(t_i, M_{i-1}), where the shift magnitude M_{i-1} is the length of T_{i-1}. This protocol verfies that the aggregate op queue has been constructed correctly via a simple Schwartz-Zippel check. Evaluations are checked via batched KZG.

Template Parameters
Flavor
Returns
plonk::proof&

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