-
Notifications
You must be signed in to change notification settings - Fork 189
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
Add a condition sending a COMMIT message in handleCommit #888
Conversation
44b1bb5
to
cfc0040
Compare
@alanchchen @bailantaotao @markya0616 @tailingchen @yutelin First of all, briefly speaking about our Klaytn blockchain. Recently, the Klaytn network has some round change problems. And we investigated and concluded that the IBFT code misses some code like this PR. And also we made a issue/PR(Consensys/quorum#1133, Consensys/quorum#1134) to Quorum. So I think it's the most accurate and honorable to get a review as the original developer. |
Hi, it's honored to see that Klaytn chooses IBFT. Unfortunately our team haven't continued IBFT development for a long time. I suggest you contact the Quorum team. BTW, Hyperledger Besu have implemented IBFT 2.0. It might be helpful. Thank you 😀 |
Proposed changes
When CNs try to have a consensus on the hashed-locked block, they may fail to send a
commit
message. Non-hash-locked nodes need to change their state toprepared
sending acommit
message when they received more than 2f+1prepare
orcommit
messages. But, they don't change their state in the current logic when onlycommit
messages are delivered after 2f messages since the state changing logic exists inprepare
message handling logic.With this change, committee nodes can change their state to
prepared
when they received 2f+1 agreement regardless of the message order.Types of changes
Please put an x in the boxes related to your change.
Checklist
Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your code.
$ make test
)Related issues