pub struct DeepTranscript<F, EF>where
F: Field,
EF: ExtensionField<F>,{
pub evals: Vec<Vec<DenseMatrix<EF>>>,
pub pow_witness: F,
pub challenge_columns: EF,
pub challenge_points: EF,
}Expand description
Structured transcript view for the DEEP interaction.
This records the prover’s PoW witness and the two challenges sampled from the Fiat-Shamir transcript after observing evaluations.
evals[g][m] is a RowMajorMatrix<EF> with num_eval_points rows for
commitment group g, matrix m. Widths include alignment padding (matching
the committed rows).
Fields§
§evals: Vec<Vec<DenseMatrix<EF>>>evals[g][m] is a RowMajorMatrix with num_eval_points rows.
pow_witness: FProof-of-work witness sampled before DEEP challenges.
challenge_columns: EFChallenge α for batching columns into f_reduced.
challenge_points: EFChallenge β for batching opening points.
Implementations§
Source§impl<F, EF> DeepTranscript<F, EF>where
F: TwoAdicField,
EF: ExtensionField<F>,
impl<F, EF> DeepTranscript<F, EF>where
F: TwoAdicField,
EF: ExtensionField<F>,
Sourcepub fn from_verifier_channel<Ch>(
params: &DeepParams,
commitments: &[(<Ch as Channel>::Commitment, Vec<usize>)],
num_eval_points: usize,
channel: &mut Ch,
) -> Result<DeepTranscript<F, EF>, TranscriptError>where
Ch: VerifierChannel<F = F>,
pub fn from_verifier_channel<Ch>(
params: &DeepParams,
commitments: &[(<Ch as Channel>::Commitment, Vec<usize>)],
num_eval_points: usize,
channel: &mut Ch,
) -> Result<DeepTranscript<F, EF>, TranscriptError>where
Ch: VerifierChannel<F = F>,
Parse DEEP transcript data from a verifier channel.
Reads OOD evaluations, verifies the PoW witness, and samples batching challenges. Does not verify the DEEP quotient itself; that validation happens in the DEEP verifier. Commitment widths must match the committed rows (including any alignment padding).
Auto Trait Implementations§
impl<F, EF> Freeze for DeepTranscript<F, EF>
impl<F, EF> RefUnwindSafe for DeepTranscript<F, EF>where
F: RefUnwindSafe,
EF: RefUnwindSafe,
impl<F, EF> Send for DeepTranscript<F, EF>
impl<F, EF> Sync for DeepTranscript<F, EF>
impl<F, EF> Unpin for DeepTranscript<F, EF>
impl<F, EF> UnsafeUnpin for DeepTranscript<F, EF>where
F: UnsafeUnpin,
EF: UnsafeUnpin,
impl<F, EF> UnwindSafe for DeepTranscript<F, EF>where
F: UnwindSafe,
EF: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more