pub struct Proof(pub Vec<U256>);Expand description
Represents a zero-knowledge proof generated by a backend.
A proof is the cryptographic output that demonstrates knowledge of a secret witness
satisfying the circuit constraints, without revealing the witness itself. The proof
is represented as a vector of field elements (U256) whose specific format and
interpretation depends on the backend implementation.
§Format
Different ZK-SNARK schemes produce proofs with different structures:
- Groth16: Typically contains 3 group elements (A, B, C)
- PLONK: Contains multiple commitments and evaluation proofs
- Marlin: Contains various polynomial commitments and evaluations
The exact encoding of these elements into U256 values is backend-specific.
Tuple Fields§
§0: Vec<U256>Auto Trait Implementations§
impl Freeze for Proof
impl RefUnwindSafe for Proof
impl Send for Proof
impl Sync for Proof
impl Unpin for Proof
impl UnwindSafe for Proof
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
Mutably borrows from an owned value. Read more