-
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
Implement LLMQ DKG #2617
Implement LLMQ DKG #2617
Conversation
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.
Just some general comments for now, will take some time to dig in and do a full review 😅
@@ -110,6 +110,7 @@ BITCOIN_CORE_H = \ | |||
core_memusage.h \ | |||
cuckoocache.h \ | |||
ctpl.h \ | |||
cxxtimer.hpp \ |
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.
Why using some new library for timers instead of simply
int64_t nTimeStart = GetTimeMillis();
// some code
LogPrintf("Some code took %dms\n", GetTimeMillis() - nTimeStart);
like we already do?
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.
Because a class for timers makes using them a lot easier, especially when you have multiple timers per method and need to start/stop them in different places. I initially thought about implementing my own timer class, but then found this header-only "library" and took it instead.
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.
2 suggestions to fix compilation issues
Useful when many sigs need to be deserialized and at the same time the hash of these is never used.
https://github.com/andremaravilha/cxxtimer Commit: 7d208ebba79e85da8efae5a4b8996846a68bee0f
Nodes started randomly voting other members as bad members because contributions were not received fast enough.
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 have few patches and one question so far :)
- 4ead34438 Batched logger should not break log parsing
e4c1b02da Add someconst
sed00a9761 some trivial cleanup
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.
Few more small suggestions
It's expected to have timestamp to be the first thing in every row if it's not a whitespace
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.
A couple of suggestions to fix quorum dkgstatus
help message format to match the one used in other places and a question regarding "0", see below.
Suggesting another few patches after the discussion in previous ones :)
EDIT: forgot to pull the latest changes first, fixed |
I just wanted to split "seen" and actual (pre)verification steps, cause it seems like they should not be coupled. Or am I missing smth? |
Hmm, problem with that is that it doesn't do what one might expect. I added a commit that does a completely different thing: Instead of calling |
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.
Looks good IMO, though I'm still a bit confused with all the crypto magic happening here :D
utACK
This is extracted from #2311 and only contains the DKG. It also removes the dummy DKG in the first commit.
It does not contain the signing sessions code as I'm planning to create another PR for this.