snark_verifier::pcs

Trait PolynomialCommitmentScheme

Source
pub trait PolynomialCommitmentScheme<C, L>: Clone + Debug
where C: CurveAffine, L: Loader<C>,
{ type VerifyingKey: Clone + Debug; type Proof: Clone + Debug; type Output: Clone + Debug; // Required methods fn read_proof<T>( vk: &Self::VerifyingKey, queries: &[Query<Rotation>], transcript: &mut T, ) -> Result<Self::Proof, Error> where T: TranscriptRead<C, L>; fn verify( vk: &Self::VerifyingKey, commitments: &[Msm<'_, C, L>], point: &L::LoadedScalar, queries: &[Query<Rotation, L::LoadedScalar>], proof: &Self::Proof, ) -> Result<Self::Output, Error>; }
Expand description

Polynomial commitment scheme verifier.

Required Associated Types§

Source

type VerifyingKey: Clone + Debug

Verifying key.

Source

type Proof: Clone + Debug

Structured proof read from transcript.

Source

type Output: Clone + Debug

Output of verification.

Required Methods§

Source

fn read_proof<T>( vk: &Self::VerifyingKey, queries: &[Query<Rotation>], transcript: &mut T, ) -> Result<Self::Proof, Error>
where T: TranscriptRead<C, L>,

Read PolynomialCommitmentScheme::Proof from transcript.

Source

fn verify( vk: &Self::VerifyingKey, commitments: &[Msm<'_, C, L>], point: &L::LoadedScalar, queries: &[Query<Rotation, L::LoadedScalar>], proof: &Self::Proof, ) -> Result<Self::Output, Error>

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.

Implementors§