-
Notifications
You must be signed in to change notification settings - Fork 6
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
beginNextRound
constains assumption on recieving local messages
#351
Comments
The message broadcast mechanism cannot guarantee that broadcasts to self are delivered synchronously. This means it is possible for next round with justification for non-bottom value from self to begin before the justification for it is delivered. Relax this assumption by directly updating the committed quorum state when the participant itself find a strong quorum of PREPARE and builds a justification for it. This change guarantees that regardless of the order of message delivery in broadcast the next round can begin when initiated by a justification from self. Fixes #351
The message broadcast mechanism cannot guarantee that broadcasts to self are delivered synchronously. This means it is possible for next round with justification for non-bottom value from self to begin before the justification for it is delivered. Relax this assumption by directly updating the committed quorum state when the participant itself find a strong quorum of PREPARE and builds a justification for it. This change guarantees that regardless of the order of message delivery in broadcast the next round can begin when initiated by a justification from self. Fixes #351
The message broadcast mechanism cannot guarantee that broadcasts to self are delivered synchronously. This means it is possible for next round with justification for non-bottom value from self to begin before the justification for it is delivered. Relax this assumption by directly updating the committed quorum state when the participant itself find a strong quorum of PREPARE and builds a justification for it. This change guarantees that regardless of the order of message delivery in broadcast the next round can begin when initiated by a justification from self. Fixes #351
I don't think this one is an assumption on receiving local messages because I don't think we can reach beginNextRound without receiving some message. (In another channel, I learned that @adlrocha subsequently realised his panic was caused by another bug) |
You are right. Thanks Alex. The bug that caused this in @adlrocha's branch was related to missing power table values unrelated to the core protocol. I think we can close this issue. I'll close my PR. |
go-f3/gpbft/gpbft.go
Lines 854 to 858 in ad199a8
@adlrocha observes a panic from GPBFT in this piece of code.
Commit might require a similar treatment as converge: #334
Part of #319
The text was updated successfully, but these errors were encountered: