-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
Optimize DKG debug message processing for performance and lower bandwidth #2672
Conversation
…ssionStatus No need to waste one byte per member and per LLMQ type.
Profiling has shown that a lot of time is spent in resizing the data vector when large messages are involved.
This field changes every block and causes all masternodes to propagate its status for every block, even if nothing DKG related has changed.
Otherwise MNs which are not members of DKG sessions will spam the network
This is not bound to a session and thus is prone to spam the network when final commitments are propagated in the finalization phase.
"statuses" only contains the current messages but none of the old messages, so nodes kept re-requesting old messages.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
utACK, a nit
if (ban) { | ||
LOCK(cs_main); | ||
Misbehaving(pfrom->id, 10); | ||
return; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd prefer a comment here on what action etc it is punishing
Profiling has shown that a lot of time is spent processing DKG debug messages. There are multiple reasons for this:
See individual commits for the fixes