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

Adjust DKG result submission timeout #3455

Closed
lukasz-zimnoch opened this issue Dec 28, 2022 · 1 comment · Fixed by #3463
Closed

Adjust DKG result submission timeout #3455

lukasz-zimnoch opened this issue Dec 28, 2022 · 1 comment · Fixed by #3463

Comments

@lukasz-zimnoch
Copy link
Member

lukasz-zimnoch commented Dec 28, 2022

We need to adjust the resultSubmissionTimeout parameter in the WalletRegistry contract. See discussion

@pdyraga
Copy link
Member

pdyraga commented Jan 3, 2023

The referenced discussion gets resolved so I am going to copy here what we have agreed on to reference it easier:

These are the numbers of DKG retries we need to execute for non-attributable protocol:

  • 1 malicious member: 100 retries worst case, 50 retries average case. (P = (99 choose 99) / (100 choose 99) = 0.01)
  • 2 malicious member: 4950 retries worst case, 2475 retries average case.
  • 3 malicious member: 161700 retries worst case, 80850 retries average case.

This is quite a lot and I think we should agree that if there is even one malicious member in the group, it is better not to create this group at all because it will require multiple retries during the signing:

  • 1 malicious member, 99 honest members, P = (99 choose 51) / (100 choose 51) = 0.49
  • 2 malicious members, 98 honest members, P = (98 choose 51) / (100 choose 51) = 0.23757575757
  • 3 malicious members, 97 honest members, P = (97 choose 51) / (100 choose 51) = 0.11393939393

So let's assume we do not allow for any malicious behavior during DKG but we take into account inactivities after the announcement phase. If we allow for 5 retries of the protocol we need 5 x (1 + 5 + 150 + 5) + 15x100 = 2305 blocks, which is about 7.5h assuming 15 blocks delay for a result publication.

We should also add the time needed to confirm the event informing about DKG started.

@lukasz-zimnoch lukasz-zimnoch moved this from Todo to In Progress in Launch 🚀 Jan 4, 2023
@github-project-automation github-project-automation bot moved this from In Progress to Done in Launch 🚀 Jan 4, 2023
@pdyraga pdyraga added this to the v2.0.0-m2 milestone Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants