nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType > Struct Template Reference

#include <proof.hpp>

+ Collaboration diagram for nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >:

Public Types

typedef CurveType curve_type
 

Public Member Functions

bool is_valid () const
 

Public Attributes

curve_type::template g1_type ::value_type agg_c
 $C^r$ is used on the right side of the aggregated Groth16 equation More...
 
r1cs_gg_ppzksnark_ipp2_commitment_output< curve_typecom_ab
 
r1cs_gg_ppzksnark_ipp2_commitment_output< curve_typecom_c
 commit to C separate since we use it only in MIPP More...
 
curve_type::gt_type::value_type ip_ab
 $A^r * B = Z$ is the left value on the aggregated Groth16 equation More...
 
tipp_mipp_proof< curve_typetmipp
 

Detailed Description

template<typename CurveType>
struct nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >

AggregateProof contains all elements to verify n aggregated Groth16 proofs using inner pairing product arguments. This proof can be created by any party in possession of valid Groth16 proofs.

Member Typedef Documentation

◆ curve_type

template<typename CurveType >
typedef CurveType nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::curve_type

Member Function Documentation

◆ is_valid()

template<typename CurveType >
bool nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::is_valid ( ) const
inline

Performs some high level checks on the length of vectors and others to make sure all items in the proofs are consistent with each other.

Member Data Documentation

◆ agg_c

template<typename CurveType >
curve_type::template g1_type ::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::agg_c

$C^r$ is used on the right side of the aggregated Groth16 equation

◆ com_ab

commitment to A and B using the pair commitment scheme needed to verify TIPP relation.

◆ com_c

commit to C separate since we use it only in MIPP

◆ ip_ab

template<typename CurveType >
curve_type::gt_type::value_type nil::crypto3::zk::snark::r1cs_gg_ppzksnark_aggregate_proof< CurveType >::ip_ab

$A^r * B = Z$ is the left value on the aggregated Groth16 equation

◆ tmipp


The documentation for this struct was generated from the following file: