# [−][src]Struct zkp::CompactProof

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(&self) -> 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]

`fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where`

__S: Serializer,

[src]

__S: Serializer,

`impl<'de> Deserialize<'de> for CompactProof`

[src]

`fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where`

__D: Deserializer<'de>,

[src]

__D: Deserializer<'de>,

## Auto Trait Implementations

`impl Send for CompactProof`

`impl Sync for CompactProof`

## Blanket Implementations

`impl<T> ToOwned for T where`

T: Clone,

[src]

T: Clone,

`type Owned = T`

The resulting type after obtaining ownership.

`fn to_owned(&self) -> T`

[src]

`fn clone_into(&self, target: &mut T)`

[src]

`impl<T> From<T> for T`

[src]

`impl<T, U> Into<U> for T where`

U: From<T>,

[src]

U: From<T>,

`impl<T, U> TryFrom<U> for T where`

U: Into<T>,

[src]

U: Into<T>,

`type Error = Infallible`

The type returned in the event of a conversion error.

`fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>`

[src]

`impl<T, U> TryInto<U> for T where`

U: TryFrom<T>,

[src]

U: TryFrom<T>,

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

The type returned in the event of a conversion error.

`fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>`

[src]

`impl<T> BorrowMut<T> for T where`

T: ?Sized,

[src]

T: ?Sized,

`fn borrow_mut(&mut self) -> &mut T`

[src]

`impl<T> Borrow<T> for T where`

T: ?Sized,

[src]

T: ?Sized,

`impl<T> Any for T where`

T: 'static + ?Sized,

[src]

T: 'static + ?Sized,

`impl<T> DeserializeOwned for T where`

T: Deserialize<'de>,

[src]

T: Deserialize<'de>,

`impl<T> Same<T> for T`

`type Output = T`

Should always be `Self`