Skip to main content

commonware_consensus/simplex/scheme/bls12381_threshold/
standard.rs

1//! Standard BLS12-381 threshold implementation of the [`Scheme`] trait for `simplex`.
2//!
3//! Certificates contain only a vote signature (requires half the computation to verify
4//! partial signatures and recover threshold signatures as [super::vrf]).
5//!
6//! [`Scheme`] is **non-attributable**: exposing partial signatures as evidence
7//! of either liveness or of committing a fault is not safe. With threshold signatures,
8//! any `t` valid partial signatures can be used to forge a partial signature for any
9//! other player, enabling equivocation attacks. Because peer connections are
10//! authenticated, evidence can be used locally (as it must be sent by said
11//! participant) but can't be used by an external observer.
12
13use crate::simplex::{scheme::Namespace, types::Subject};
14use commonware_cryptography::impl_certificate_bls12381_threshold;
15
16impl_certificate_bls12381_threshold!(Subject<'a, D>, Namespace);