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

Drop equivocations #153

Closed
Tracked by #12
anorth opened this issue Apr 3, 2024 · 3 comments · Fixed by #200
Closed
Tracked by #12

Drop equivocations #153

anorth opened this issue Apr 3, 2024 · 3 comments · Fixed by #200
Assignees
Labels
gossipbft Relates to core GossipPBFT protocol

Comments

@anorth
Copy link
Member

anorth commented Apr 3, 2024

Prior versions of the protocol spec required a node to retain all equivocating messages (same instance, round, step and peer but different value). The code reflects this. The explicit justification removes that need, so the code should instead ignore equivocations. Change it to ignore all but the first message from a peer for each round and step (this will also help one angle of #12).

With luck, this can be done just by changing the quorum state data structures to be only able to represent one value per participant, and checking if such value has been received before updating.

@anorth anorth added the gossipbft Relates to core GossipPBFT protocol label Apr 3, 2024
@Kubuxu
Copy link
Collaborator

Kubuxu commented Apr 22, 2024

Is this complete with #145 or do we have to do more?

@ranchalp
Copy link
Collaborator

I have not gone through it yet, though it may be complete after #145 . Will do that, but stuck with finishing touches on design docs.

@anorth
Copy link
Member Author

anorth commented Apr 22, 2024

I don't think it's done. At minimum requires a careful audit and then some tests demonstrating the ignoring of equivocating messages. This would probably be best as unit tests cc @masih

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
gossipbft Relates to core GossipPBFT protocol
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants