pub trait MultiRapProver<PB: ProverBackend, TS> {
type PartialProof: Clone + Send + Sync + Serialize + DeserializeOwned;
type Artifacts;
type Error: Debug;
// Required method
fn prove_rap_constraints(
&self,
transcript: &mut TS,
mpk: &DeviceMultiStarkProvingKey<PB>,
ctx: &ProvingContext<PB>,
common_main_pcs_data: &PB::PcsData,
) -> Result<(Self::PartialProof, Self::Artifacts), Self::Error>;
}Expand description
This trait is responsible for the proving steps that reduce AIR zerocheck constraints and interaction consistency claims to polynomial opening claims.
This trait is not responsible for committing to trace matrices or for checking polynomial openings against PCS commitments.
Required Associated Types§
Sourcetype PartialProof: Clone + Send + Sync + Serialize + DeserializeOwned
type PartialProof: Clone + Send + Sync + Serialize + DeserializeOwned
The partial proof is the proof that the trace matrices satisfy all constraints assuming that certain polynomial opening claims are validated. In other words, it is a proof that reduces the constraint satisfaction claim to certain polynomial opening claims.
Sourcetype Artifacts
type Artifacts
Other artifacts of the proof (e.g., sampled randomness) that may be passed to later stages of the protocol.
type Error: Debug
Required Methods§
fn prove_rap_constraints( &self, transcript: &mut TS, mpk: &DeviceMultiStarkProvingKey<PB>, ctx: &ProvingContext<PB>, common_main_pcs_data: &PB::PcsData, ) -> Result<(Self::PartialProof, Self::Artifacts), Self::Error>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".