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

[stacks-signer] Update signers to query stackerdb for DKG messages to prevent DKG stalls due to timing issues #4636

Closed
jferrant opened this issue Apr 3, 2024 · 1 comment · Fixed by #4658

Comments

@jferrant
Copy link
Collaborator

jferrant commented Apr 3, 2024

Suppose we have three signers, signer-0, signer-1, and signer-2.

Signer-0 and signer-1 receive burn block X which happens to be in the prepare phase of the next reward cycle, but it happens to be right in the middle of their nodes calculating the registration set so they do not see themselves as registered.
Signer-2 gets burn block X, but the milliseconds later is all that is needed for the node to finish the registration calculations. so it finds itself as registered AND that it is the coordinator. So it triggers DKGPublicGather sendings its public shares to other signers.
Signer-0 and Signer-1 receive this public share but because they ONLY check for a refresh once a burn block arrives, it ignores this event until burn block event X+1 shows up and THEN it queries for the registered signers. However, it never responds to the initial coordiantor message as it was ignored when it first arrived since they did not think themselves to be reigstered.

Fix this.

This may also fix #4630
This will also address #3990

@blockstack-devops
Copy link
Contributor

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@stacks-network stacks-network locked as resolved and limited conversation to collaborators Oct 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
Archived in project
Development

Successfully merging a pull request may close this issue.

3 participants