keep-core
keep-core copied to clipboard
ECDSA signing test loop
Depends on #3014
For the first 50 blocks after the new group creation, the client should keep signing random data (e.g. new Ethereum block hashes) with the newly created group. This should include the retry algorithm from #3014.
Roadmap:
- [x] Prepare the ground for signing implementation (#3201, #3209)
- [x] Test loop and signing executor setup (#3219)
- [ ] Actual signing protocol implementation that consists of:
- [ ] Ephemeral key exchange and symmetric key generation rounds
- [ ] TSS round 1
- [ ] TSS round 2
- [ ] TSS round 3
- [ ] TSS round 4
- [ ] TSS round 5
- [ ] TSS round 6
- [ ] TSS round 7
- [ ] TSS round 8
- [ ] TSS round 9
- [ ] TSS finalization round
- [ ] Integration with the retry algorithm
- [ ] Improve logging by adding the context of the given signing process
A thing to consider: Reusing symmetric keys generated using the ECDH algorithm upon key generation for securing signing P2P messages. It makes sense at the first sight though we need to think about the consequences in terms of security.
Another thing to consider: renaming group package to clearly indicating the components are used in DKG.