Expand description
§Threshold Signature Scheme (TSS)
The TSS (Threshold Signature Scheme) module handles cryptographic operations related to distributed key generation (DKG) and signature generation using the Roast protocol. This flowchart illustrates the key states and actions within the TSS module.
graph TD A[Tss::new] --> B[Determine Initial State] B -->|DKG| C[TssState::Dkg] B -->|Roast| D[TssState::Roast] E[Tss::on_message] --> F{Current State} F -->|DKG| G[Handle DKG Messages] F -->|Roast| H[Handle Roast Messages] H --> N[Roast Actions] N -->|Send| O[Send Roast Messages] N -->|SendMany| P[Send Roast Messages to Multiple Peers] N -->|Complete| Q[Complete Roast Signing] G --> I[DKG Actions] I -->|Send| J[Send DKG Messages] I -->|Commit| K[Commit DKG State] I -->|Complete| L[Complete DKG and Transition to Roast] I -->|Failure| M[DKG Failure] C --> G D --> H L --> D B -.-> E I -.-> E N -.-> E %% style extrinsics style A fill:#f9f,stroke:#333,stroke-width:2px; style E fill:#f9f,stroke:#333,stroke-width:2px; style C fill:#f9f,stroke:#333,stroke-width:2px; style D fill:#f9f,stroke:#333,stroke-width:2px; %% style errors style M fill:#f96,stroke:#333,stroke-width:2px; style F fill:#fff0f5,stroke:#333,stroke-width:2px;
Modules§
Structs§
- Tss state machine.
Enums§
- Represents possible actions in the TSS process.
- Represents messages in the TSS process.
- TssState 🔒Represents the state of the TSS process.
Traits§
Functions§
- Constructs a proof of knowledge for a given peer, using the provided coefficients and commitment.
- Sum the commitments from all participants in a distributed key generation run into a single group commitment.
- Verifies a proof of knowledge for a given peer, using the provided commitment and proof of knowledge.
Type Aliases§
- A FROST(secp256k1, SHA-256) participant identifier.
- A Schnorr signature on FROST(secp256k1, SHA-256).
- A secret scalar value representing a signer’s share of the group secret.
- Contains the commitments to the coefficients for our secret polynomial f, used to generate participants’ key shares.