Struct ark_poly_commit::streaming_kzg::VerifierKey
source · pub struct VerifierKey<E: Pairing> { /* private fields */ }
Expand description
The verification key for the polynomial commitment scheme. It also implements verification functions for the evaluation proof.
Implementations§
source§impl<E: Pairing> VerifierKey<E>
impl<E: Pairing> VerifierKey<E>
sourcepub fn verify(
&self,
commitment: &Commitment<E>,
alpha: &E::ScalarField,
evaluation: &E::ScalarField,
proof: &EvaluationProof<E>
) -> Result<(), VerificationError>
pub fn verify( &self, commitment: &Commitment<E>, alpha: &E::ScalarField, evaluation: &E::ScalarField, proof: &EvaluationProof<E> ) -> Result<(), VerificationError>
The verification procedure for the EvaluationProof with a single polynomial evaluated at a single evaluation point.
The polynomial are evaluated at the point alpha
and is committed as commitment
.
The evaluation proof can be obtained either in a space-efficient or a time-efficient flavour.
sourcepub fn verify_multi_points(
&self,
commitments: &[Commitment<E>],
eval_points: &[E::ScalarField],
evaluations: &[Vec<E::ScalarField>],
proof: &EvaluationProof<E>,
open_chal: &E::ScalarField
) -> Result<(), VerificationError>
pub fn verify_multi_points( &self, commitments: &[Commitment<E>], eval_points: &[E::ScalarField], evaluations: &[Vec<E::ScalarField>], proof: &EvaluationProof<E>, open_chal: &E::ScalarField ) -> Result<(), VerificationError>
The verification procedure for the EvaluationProof with a set of polynomials evaluated at a set of evaluation points.
All the polynomials are evaluated at the set of points eval_points
and are committed as commitments
.
evaluations
contains evaluations of each polynomial at each point in eval_points
.
evaluations
follows the same polynomial order as commitments
and the same evaluation point order as eval_points
.
The evaluation proof can be obtained either in a space-efficient or a time-efficient flavour.
open_chal
is a random challenge for batching evaluation proofs across different polynomials.
Trait Implementations§
source§impl<E: Debug + Pairing> Debug for VerifierKey<E>where
E::G1Affine: Debug,
E::G2Affine: Debug,
impl<E: Debug + Pairing> Debug for VerifierKey<E>where E::G1Affine: Debug, E::G2Affine: Debug,
source§impl<E: Pairing> From<&CommitterKey<E>> for VerifierKey<E>
impl<E: Pairing> From<&CommitterKey<E>> for VerifierKey<E>
source§fn from(ck: &CommitterKey<E>) -> VerifierKey<E>
fn from(ck: &CommitterKey<E>) -> VerifierKey<E>
source§impl<E, SG> From<&CommitterKeyStream<E, SG>> for VerifierKey<E>where
E: Pairing,
SG: Iterable,
SG::Item: Borrow<E::G1Affine>,
impl<E, SG> From<&CommitterKeyStream<E, SG>> for VerifierKey<E>where E: Pairing, SG: Iterable, SG::Item: Borrow<E::G1Affine>,
source§fn from(ck: &CommitterKeyStream<E, SG>) -> Self
fn from(ck: &CommitterKeyStream<E, SG>) -> Self
source§impl<E: PartialEq + Pairing> PartialEq<VerifierKey<E>> for VerifierKey<E>where
E::G1Affine: PartialEq,
E::G2Affine: PartialEq,
impl<E: PartialEq + Pairing> PartialEq<VerifierKey<E>> for VerifierKey<E>where E::G1Affine: PartialEq, E::G2Affine: PartialEq,
source§fn eq(&self, other: &VerifierKey<E>) -> bool
fn eq(&self, other: &VerifierKey<E>) -> bool
self
and other
values to be equal, and is used
by ==
.