[−][src]Struct bulletproofs::range_proof::dealer::DealerAwaitingProofShares
A dealer which has sent the PolyChallenge
to the parties and
is waiting to aggregate their ProofShare
s into a
RangeProof
.
Fields
n: usize
m: usize
transcript: &'a mut Transcript
initial_transcript: Transcript
bp_gens: &'b BulletproofGens
pc_gens: &'b PedersenGens
bit_challenge: BitChallenge
bit_commitments: Vec<BitCommitment>
poly_challenge: PolyChallenge
poly_commitments: Vec<PolyCommitment>
A: RistrettoPoint
S: RistrettoPoint
T_1: RistrettoPoint
T_2: RistrettoPoint
Methods
impl<'a, 'b> DealerAwaitingProofShares<'a, 'b>
[src]
fn assemble_shares(
&mut self,
proof_shares: &[ProofShare]
) -> Result<RangeProof, MPCError>
[src]
&mut self,
proof_shares: &[ProofShare]
) -> Result<RangeProof, MPCError>
Assembles proof shares into an RangeProof
.
Used as a helper function by receive_trusted_shares
(which
just hands back the result) and receive_shares
(which
validates the proof shares.
pub fn receive_shares(
self,
proof_shares: &[ProofShare]
) -> Result<RangeProof, MPCError>
[src]
self,
proof_shares: &[ProofShare]
) -> Result<RangeProof, MPCError>
Assemble the final aggregated RangeProof
from the given
proof_shares
, then validate the proof to ensure that all
ProofShare
s were well-formed.
If the aggregated proof fails to validate, this function
audits the submitted shares to determine which shares were
invalid. This information is returned as part of the
MPCError
.
If the proof shares are known to be trusted, for instance when
performing local aggregation,
receive_trusted_shares
saves time by skipping verification of the aggregated proof.
pub fn receive_trusted_shares(
self,
proof_shares: &[ProofShare]
) -> Result<RangeProof, MPCError>
[src]
self,
proof_shares: &[ProofShare]
) -> Result<RangeProof, MPCError>
Assemble the final aggregated RangeProof
from the given
proof_shares
, but skip validation of the proof.
WARNING
This function does NOT validate the proof shares. It is suitable for creating aggregated proofs when all parties are known by the dealer to be honest (for instance, when there's only one party playing all roles).
Otherwise, use
receive_shares
,
which validates that all shares are well-formed, or else
detects which party(ies) submitted malformed shares.
Auto Trait Implementations
impl<'a, 'b> RefUnwindSafe for DealerAwaitingProofShares<'a, 'b>
impl<'a, 'b> Send for DealerAwaitingProofShares<'a, 'b>
impl<'a, 'b> Sync for DealerAwaitingProofShares<'a, 'b>
impl<'a, 'b> Unpin for DealerAwaitingProofShares<'a, 'b>
impl<'a, 'b> !UnwindSafe for DealerAwaitingProofShares<'a, 'b>
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &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> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = !
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>,