Implement the contracts necessary to run DKG on-chain. This includes
- a bulletin board contract where DKG messages are posted
- a key registry where keypers can register their poly eval encryption keys
The bulletin board contract should
- follow four phase model (dealing, accusations, apologies, finalization)
- accept messages from keyper set members if sent during the correct phase and before finalization
- vote on success during finalization
- support retries if finalization doesn't succeed
- not do message validation on-chain
The key registry contract should allow keypers to
- register their encryption key
- update their encryption key
Additionally, there should be a benchmark to calculate the gas usage of the DKG contract in the best and worst case as a function of the number of keypers.
Implement the contracts necessary to run DKG on-chain. This includes
The bulletin board contract should
The key registry contract should allow keypers to
Additionally, there should be a benchmark to calculate the gas usage of the DKG contract in the best and worst case as a function of the number of keypers.