Module refresh

Module refresh 

Source
Expand description

Refresh Shares

Refreshing shares has two purposes:

  • Mitigate against share compromise.
  • Remove participants from a group.

Refer to the FROST book for important details.

This modules supports refreshing shares using a Trusted Dealer or DKG. You probably want to use the same approach as the original share generation.

For the Trusted Dealer approach, the trusted dealer should call compute_refreshing_shares() and send the returned refreshing shares to the participants. Each participant should then call refresh_share().

For the DKG approach, the flow is very similar to DKG itself. Each participant calls refresh_dkg_part_1(), keeps the returned secret package and sends the returned package to other participants. Then each participants calls refresh_dkg_part2() and sends the returned packages to the other participants. Finally each participant calls refresh_dkg_shares().

Functionsยง

compute_refreshing_shares
Compute refreshing shares for the Trusted Dealer refresh procedure.
refresh_dkg_part2
Performs the second part of the refresh procedure for the participant holding the given round1::SecretPackage, given the received round1::Packages received from the other participants.
refresh_dkg_part_1
Part 1 of refresh share with DKG.
refresh_dkg_shares
Performs the third and final part of the refresh procedure for the participant holding the given round2::SecretPackage, given the received round1::Packages and round2::Packages received from the other participants.
refresh_share
Refresh a share in the Trusted Dealer refresh procedure.