[][src]Struct zkp::CompactProof

pub struct CompactProof {
    pub challenge: Scalar,
    pub responses: Vec<Scalar>,
}

A Schnorr proof in compact format.

This performs the standard folklore optimization of sending the challenge in place of the commitments to the prover's randomness. However, this optimization prevents batch verification.

This proof has m+1 32-byte elements, where m is the number of secret variables. This means there is no space savings for a CompactProof over a BatchableProof when there is only one statement.

Fields

challenge: Scalar

The Fiat-Shamir challenge.

responses: Vec<Scalar>

The prover's responses, one per secret variable.

Trait Implementations

impl Clone for CompactProof[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Serialize for CompactProof[src]

impl<'de> Deserialize<'de> for CompactProof[src]

Auto Trait Implementations

impl Send for CompactProof

impl Sync for CompactProof

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: Deserialize<'de>, 
[src]

impl<T> Same for T

type Output = T

Should always be Self