taurushq-io / multi-party-sig

Implementation of protocols for threshold signatures
Apache License 2.0
311 stars 120 forks source link

protocol: implement correct broadcast for all protocols #61

Closed adr1anh closed 3 years ago

adr1anh commented 3 years ago

After considering some problems detailed in #36, it became apparent that full identifiable aborts will require all messages to be broadcast. This PR changes the frost and cmp protocols to use broadcast when available

In particular this addresses #60.

The issue of having the BroadcastRound interface be inherited by subsequent round is not an issue, since we actually need to broadcast a message in all rounds now. In the future, it may be a good idea to embed round.BroadcastRound inside of round.Round directly.

We also fix a bug that could have occurred when messages were put in the queue.