pub type PlonkSuccinctVerifier<As> = PlonkSuccinctVerifier<As>;
Expand description

Plonk succinct verifier with KzgAs

Aliased Type§

struct PlonkSuccinctVerifier<As>(/* private fields */);

Trait Implementations

§

impl<C, L, AS, AE> CostEstimation<(C, L)> for PlonkSuccinctVerifier<AS, AE>
where C: CurveAffine, L: Loader<C>, AS: AccumulationScheme<C, L> + PolynomialCommitmentScheme<C, L, Output = <AS as AccumulationScheme<C, L>>::Accumulator> + CostEstimation<C, Input = Vec<Query<<C as PrimeCurveAffine>::Scalar>>>,

§

type Input = PlonkProtocol<C, L>

Input for [CostEstimation::estimate_cost].
§

fn estimate_cost(protocol: &PlonkProtocol<C, L>) -> Cost

Estimate cost of verifier given the input.
§

impl<AS, AE> Debug for PlonkSuccinctVerifier<AS, AE>
where AS: Debug, AE: Debug,

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl<C, L, AS, AE> SnarkVerifier<C, L> for PlonkSuccinctVerifier<AS, AE>
where C: CurveAffine, L: Loader<C>, AS: AccumulationScheme<C, L> + PolynomialCommitmentScheme<C, L, Output = <AS as AccumulationScheme<C, L>>::Accumulator>, AE: AccumulatorEncoding<C, L, Accumulator = <AS as AccumulationScheme<C, L>>::Accumulator>,

§

type VerifyingKey = <AS as PolynomialCommitmentScheme<C, L>>::VerifyingKey

Verifying key for subroutines if any.
§

type Protocol = PlonkProtocol<C, L>

Protocol specifying configuration of a (S)NARK.
§

type Proof = PlonkProof<C, L, AS>

Structured proof read from transcript.
§

type Output = Vec<<AE as AccumulatorEncoding<C, L>>::Accumulator>

Output of verification.
§

fn read_proof<T>( svk: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::VerifyingKey, protocol: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Protocol, instances: &[Vec<<L as ScalarLoader<<C as CurveAffine>::ScalarExt>>::LoadedScalar>], transcript: &mut T ) -> Result<<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Proof, Error>
where T: TranscriptRead<C, L>,

Read [SnarkVerifier::Proof] from transcript.
§

fn verify( svk: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::VerifyingKey, protocol: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Protocol, instances: &[Vec<<L as ScalarLoader<<C as CurveAffine>::ScalarExt>>::LoadedScalar>], proof: &<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Proof ) -> Result<<PlonkSuccinctVerifier<AS, AE> as SnarkVerifier<C, L>>::Output, Error>

Verify [SnarkVerifier::Proof] and output [SnarkVerifier::Output].