Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Backport] Single-shot DKG #3782

Merged
merged 2 commits into from
Feb 12, 2024

Conversation

lukasz-zimnoch
Copy link
Member

This pull request backports #3776 to the releases/mainnet/v2.0.0-m7 branch.

The currently used DKG retry mechanism based on random exclusion turned
out to be ineffective for a higher number of participating operators.
Such retries have a very small chance for success and produce a lot of
unnecessary network traffic that consumes bandwidth and CPU excessively.

Here we aim to improve the situation. First, we are making DKG a single-shot
process which fails fast if the result cannot be produced during the
first attempt. Second, we are doubling down the announcement period to
maximize participation chance for all selected operators, even those being
at the edge of the network. Last but not least, we are reducing the submission
delay that is preserved between operators attempting to submit the final
result on-chain.

All those changes combined allow to achieve shorter DKG iterations that can
be timed out quicker. This way, we will be able to repeat DKG more often, with
different operator sets.

(cherry picked from commit 7896c7a)
All DKG states use the `BackoffRetransmissionStrategy` strategy.
There is no point to make an exception for the `resultSigningState`.
This should reduce network load in case one of the participants fails
at the end of the protocol.

(cherry picked from commit 5049f77)
Copy link

Solidity API documentation preview available in the artifacts of the https://github.com/keep-network/keep-core/actions/runs/7869853939 check.

@lukasz-zimnoch lukasz-zimnoch merged commit cbf53d5 into releases/mainnet/v2.0.0-m7 Feb 12, 2024
26 of 27 checks passed
@lukasz-zimnoch lukasz-zimnoch deleted the backport-single-shot-dkg branch February 12, 2024 09:48
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants