-
Notifications
You must be signed in to change notification settings - Fork 220
Expand file tree
/
Copy pathmod.rs
More file actions
39 lines (38 loc) · 1.29 KB
/
mod.rs
File metadata and controls
39 lines (38 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
//! Distributed Key Generation (DKG), Resharing, Signatures, and Threshold Signatures over the BLS12-381 curve.
//!
//! # Features
//!
//! This crate has the following features:
//!
//! - `portable`: Enables `portable` feature on `blst` (<https://github.com/supranational/blst?tab=readme-ov-file#platform-and-language-compatibility>).
//!
//! # DKG Protocols
//!
//! This module exports two DKG protocols:
//!
//! - [`dkg`], a two-round synchronous protocol,
//! - [`golden_dkg`], a one-round asynchronous protocol (currently in ALPHA).
//!
//! The tradeoff is that the latter is more complicated, and more computationally
//! expensive. However, it is less reliant on assumptions about the number of corruptions,
//! and the single round can be very useful, operationally. At the moment,
//! the status of our Golden implementation is experimental, so we recommend
//! using [`dkg`] for now.
pub mod certificate;
#[cfg(feature = "std")]
pub mod dkg;
#[cfg(all(
feature = "std",
not(any(
commonware_stability_BETA,
commonware_stability_GAMMA,
commonware_stability_DELTA,
commonware_stability_EPSILON,
commonware_stability_RESERVED
))
))] // ALPHA
pub mod golden_dkg;
pub mod primitives;
mod scheme;
pub mod tle;
pub use scheme::{Batch, PrivateKey, PublicKey, Signature};