pub trait VerifierTranscript<F> {
// Required methods
fn consume_input_elements(
&mut self,
label: &'static str,
num_elements: usize,
) -> Result<(Vec<F>, Vec<F>)>;
fn consume_element(&mut self, label: &'static str) -> Result<F>;
fn consume_elements(
&mut self,
label: &'static str,
num_elements: usize,
) -> Result<Vec<F>>;
fn get_challenge(&mut self, label: &'static str) -> Result<F>;
fn get_challenges(
&mut self,
label: &'static str,
num_elements: usize,
) -> Result<Vec<F>>;
}Required Methods§
Sourcefn consume_input_elements(
&mut self,
label: &'static str,
num_elements: usize,
) -> Result<(Vec<F>, Vec<F>)>
fn consume_input_elements( &mut self, label: &'static str, num_elements: usize, ) -> Result<(Vec<F>, Vec<F>)>
Circuit input elements are treated differently in order to mitigate the Rothblum et. al. attack in https://eprint.iacr.org/2025/118.
In particular, a hash chain of the elements is computed and absorbed by the transcript sponge alongside each of the given elements.