Skip to content

Add a signing threshold to the coordinators#177

Merged
xoloki merged 3 commits into
mainfrom
signing-threshold
Apr 30, 2026
Merged

Add a signing threshold to the coordinators#177
xoloki merged 3 commits into
mainfrom
signing-threshold

Conversation

@xoloki
Copy link
Copy Markdown
Owner

@xoloki xoloki commented Jun 4, 2025

The FIRE coordinator currently waits to get a number of nonces from signers who control a threshold number of keys before continuing a signing round. While this is optimal for normal use, there are scenarios when we want to wait for more signers to respond, e.g. in sBTC when we are verifying that all signers have completed DKG successfully, and can form a valid spend transaction from the new aggregate key.

This PR adds a config field sign_threshold, and by default sets it to threshold. The FIRE coordinator then waits to get nonces from signers who control this many keys before continuing. A sign_threshold_sign test has been added to validate this new behavior.

Since we added this to state_machine::coordinator::Config, I went ahead and updated the FROST coordinator to also respect this field. Previously the FROST coordinator had waited for all signers to sign, ignoring the configured threshold.

Fixes #174

@xoloki xoloki requested review from djordon and jferrant June 4, 2025 01:55
@xoloki xoloki self-assigned this Jun 4, 2025
@xoloki xoloki added this to sBTC Jun 4, 2025
@github-project-automation github-project-automation Bot moved this to Needs Triage in sBTC Jun 4, 2025
@xoloki xoloki moved this from Needs Triage to In Review in sBTC Jun 4, 2025
@xoloki xoloki added this to the Audit and Hardening milestone Jun 4, 2025
Comment thread src/state_machine/coordinator/mod.rs
…ect number of nonces and signature shares when it is set
@xoloki xoloki force-pushed the signing-threshold branch from ac1f21a to f1b9233 Compare April 30, 2026 04:57
@xoloki xoloki changed the title Add a signing threshold to the FIRE coordinator Add a signing threshold to the coordinators Apr 30, 2026
@xoloki xoloki merged commit 5d0e698 into main Apr 30, 2026
5 checks passed
@xoloki xoloki deleted the signing-threshold branch April 30, 2026 05:22
@github-project-automation github-project-automation Bot moved this from In Review to Done in sBTC Apr 30, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature]: Allow FIRE coordinator to set the participation threshold for signing rounds

2 participants