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

When different validators commit in different rounds, all but one round will have signatures dropped #1782

Open
piersy opened this issue Dec 17, 2021 · 0 comments

Comments

@piersy
Copy link
Contributor

piersy commented Dec 17, 2021

The istanbul consensus algorithm allows blocks to be committed in different rounds although it enforces that if a block was committed in a previous round, then only the same block can be committed in future rounds.

The BLS seal used to indicate block signers includes the round in its digest, so at most only signatures from one round can be included in the seal.

Some example scenarios:

All validators send commits for for block X in round 0, only one validator receives them and commits in round 0, remaining validators commit the block in round 1. If the validator to commit in round 0 is the next block proposer only their signature will make it into the parent block seals. All other validators will have their signatures dropped and appear as if they were offline even when they were functioning perfectly.

All validators send commits for for block X in round 0, f validators commit the block in round 0, remaining validators commit the block in round 1. If the next block proposer committed the block in round 1 then the validators who committed in round 0 will not have their signatures added to the parent block seals, even though they were arguably more available than the validators who committed in round 1.

@carterqw2 carterqw2 added triage Issue needs triaging and removed blockchain labels Feb 9, 2023
@carterqw2 carterqw2 removed the triage Issue needs triaging label Feb 20, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants