RapPartialProver

Trait RapPartialProver 

Source
pub trait RapPartialProver<PB: ProverBackend> {
    // Required method
    fn partially_prove(
        &self,
        challenger: &mut PB::Challenger,
        mpk: &DeviceMultiStarkProvingKeyView<'_, PB>,
        trace_views: Vec<AirView<PB::Matrix, PB::Val>>,
    ) -> (PB::RapPartialProof, ProverDataAfterRapPhases<PB>);
}
Expand description

This trait is responsible for all partial proving of after challenge rounds (a.k.a layers) in a RAP after the main trace has been committed.

The partial prover may:

  • observe and/or sample challenges
  • commit to additional trace data
  • generate other partial proof data

Required Methods§

Source

fn partially_prove( &self, challenger: &mut PB::Challenger, mpk: &DeviceMultiStarkProvingKeyView<'_, PB>, trace_views: Vec<AirView<PB::Matrix, PB::Val>>, ) -> (PB::RapPartialProof, ProverDataAfterRapPhases<PB>)

The trace_views are the respective (owned) trace matrices, evaluated on the trace domain. Currently this function does not provide a view of any already committed data associated with the trace views, although that data is available.

The AirView are owned matrices because it is expected these matrices may be dropped after this function call.

Implementors§