Overview of fastcrypto-tbls capabilities
mainThe fastcrypto-tbls crate provides implementations for threshold signatures and distributed key generation. Its core features include:
- Threshold BLS (
tbls): Supports partial signing and aggregation of BLS signatures over a shared key using Shamir secret sharing over polynomials (polynomial). - Distributed Key Generation (
dkg_v1): A DKG protocol designed for a weighted set of nodes (nodes). It utilizes ECIES encryption (ecies_v1) for share handling and discrete-log NIZKs (nizk,dl_verification) to prove correctness. Amocked_dkgvariant is available for deterministic testing. - Weight Reduction (
knapsack_weight_reduction): A utility to reduce the total weight of a weighted node set while preserving the threshold structure, optimizing protocol costs for large committees. - Threshold Schnorr (
threshold_schnorr): Implements asynchronous verifiable secret sharing (AVSS) in several variants: plain (avss), batched (batch_avss), and AVID-backed (avid,batch_avss_avid). It also includes support forpresigning,signing,key_derivation, and mechanisms for complaints and recovery proofs. - Random Oracle (
random_oracle): Provides domain-separated hashing used across the protocols mentioned above.
WARNING The threshold Schnorr modules are still under development and have not been audited.