pub struct CompactProof {
pub challenge: Scalar,
pub responses: Vec<Scalar>,
}Expand description
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: ScalarThe Fiat-Shamir challenge.
responses: Vec<Scalar>The prover’s responses, one per secret variable.
Trait Implementations§
Source§impl Clone for CompactProof
impl Clone for CompactProof
Source§fn clone(&self) -> CompactProof
fn clone(&self) -> CompactProof
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl<'de> Deserialize<'de> for CompactProof
impl<'de> Deserialize<'de> for CompactProof
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompactProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<CompactProof, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl Serialize for CompactProof
impl Serialize for CompactProof
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
Auto Trait Implementations§
impl Freeze for CompactProof
impl RefUnwindSafe for CompactProof
impl Send for CompactProof
impl Sync for CompactProof
impl Unpin for CompactProof
impl UnsafeUnpin for CompactProof
impl UnwindSafe for CompactProof
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