Expand description
§Roast Module Documentation
The Roast module implements a state machine for managing the Robust Online Asynchronous Schnorr Threshold (ROAST) protocol. This protocol allows a distributed set of signers to collaboratively generate Schnorr signatures in a secure and robust manner, ensuring that the signature process can continue even if some participants fail to respond or act maliciously.
§Overview
The main components of the Roast module include:
- ‘RoastSigner’: Manages the signing process for a single participant.
- ‘RoastCoordinator’: Coordinates the signing process, ensuring that enough participants have committed to generate a signature.
- ‘RoastSession’: Manages a single signing session, tracking commitments and signature shares.
- ‘Roast’: The main state machine that brings together the RoastSigner and RoastCoordinator to manage the overall ROAST protocol.
Structs§
- The main state machine that manages the overall ROAST protocol by integrating [‘RoastSigner’] and [‘RoastCoordinator’].
- Coordinates the signing process, ensuring that enough participants have committed to generate a signature.
- Manages a single signing session, tracking commitments and signature shares.
- Represents a signing request sent to a RoastSigner.
- Represents a response from a RoastSigner containing a signature share and a new commitment.
Enums§
- Represents an action to be taken by the Roast state machine.
- Represents a message exchanged between Roast participants.