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

Qbft justifications #122

Merged
merged 51 commits into from
Feb 6, 2025
Merged

Qbft justifications #122

merged 51 commits into from
Feb 6, 2025

Conversation

Zacholme7
Copy link
Member

@Zacholme7 Zacholme7 commented Feb 3, 2025

Issue Addressed

#106

Proposed Changes

This is an initial implementation of the round change and prepare justifications for proper qbft behavior. The actual justification implementation is pretty small, but a lot of message validation checks have been added in from the spec. In the future, we can more rigorously sift through the checks to only keep what we need.

Additional Info

We do not have the the infra in place to properly test this. I have a follow up PR in progress that adds testing functionality (#98). The plan is to get this in and then follow up with another PR where all testing, bugfixes, and general productionizing occur so that the scope of this PR is limited.

Update: There are a few bugs in this code that I have fixed in the qbft testing pr. Can also make the updates here if needed.

@Zacholme7 Zacholme7 added ready-for-review This PR is ready to be reviewed QBFT labels Feb 3, 2025
@Zacholme7 Zacholme7 marked this pull request as ready for review February 3, 2025 14:46
@Zacholme7
Copy link
Member Author

Do we know how to fix this failing CI?

@dknopik
Copy link
Member

dknopik commented Feb 4, 2025

Do we know how to fix this failing CI?

I investigated a bit, see #123

Copy link
Member

@dknopik dknopik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added some first thoughts.

Update: There are a few bugs in this code that I have fixed in the qbft testing pr. Can also make the updates here if needed.

If it's not a lot of effort, it would be nice if you merge the fixes into this one.

There are a lot of TODOs in the comment, and one todo!() invocation. Do you plan to address them, and do you want to discuss any specific ones?

anchor/common/qbft/src/lib.rs Show resolved Hide resolved
anchor/common/qbft/src/lib.rs Show resolved Hide resolved
anchor/common/qbft/src/lib.rs Outdated Show resolved Hide resolved
anchor/common/qbft/src/lib.rs Outdated Show resolved Hide resolved
anchor/common/qbft/src/lib.rs Outdated Show resolved Hide resolved
@Zacholme7 Zacholme7 requested a review from dknopik February 5, 2025 16:30
@dknopik
Copy link
Member

dknopik commented Feb 6, 2025

added #127 to track getting rid of some of these expects

Copy link
Member

@dknopik dknopik left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, good job!

There is the commit aggregation and some refactoring left to do as discussed, but let's go ahead with this to enable testing. Thanks!

@dknopik dknopik merged commit dbb1446 into sigp:unstable Feb 6, 2025
10 checks passed
@Zacholme7 Zacholme7 deleted the qbft-justifications branch February 6, 2025 15:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
QBFT ready-for-review This PR is ready to be reviewed
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants