pub trait PolynomialCommitmentScheme<C, L>: Clone + Debugwhere
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§
Sourcetype VerifyingKey: Clone + Debug
type VerifyingKey: Clone + Debug
Verifying key.
Required Methods§
Sourcefn read_proof<T>(
vk: &Self::VerifyingKey,
queries: &[Query<Rotation>],
transcript: &mut T,
) -> Result<Self::Proof, Error>where
T: TranscriptRead<C, L>,
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.
Sourcefn verify(
vk: &Self::VerifyingKey,
commitments: &[Msm<'_, C, L>],
point: &L::LoadedScalar,
queries: &[Query<Rotation, L::LoadedScalar>],
proof: &Self::Proof,
) -> Result<Self::Output, Error>
fn verify( vk: &Self::VerifyingKey, commitments: &[Msm<'_, C, L>], point: &L::LoadedScalar, queries: &[Query<Rotation, L::LoadedScalar>], proof: &Self::Proof, ) -> Result<Self::Output, Error>
Verify PolynomialCommitmentScheme::Proof
and output PolynomialCommitmentScheme::Output
.
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.