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

Duplicate Votes in GRANDPA are Counted as Equivocatory Votes (GSR-11) #2410

Closed
danforbes opened this issue Mar 21, 2022 · 0 comments · Fixed by #2624
Closed

Duplicate Votes in GRANDPA are Counted as Equivocatory Votes (GSR-11) #2410

danforbes opened this issue Mar 21, 2022 · 0 comments · Fixed by #2624
Assignees

Comments

@danforbes
Copy link
Contributor

The function getEquivocatoryVoters() is used to determine if a voter has equivocated by voting twice in a single round of GRANDPA.

It does not account for the case where a vote appears twice in the AuthData list. As a result, an authority may be incorrectly judged as an equivocator when an attacker includes the vote twice.

Duplicates are currently ignored in the Substrate implementation and should be treated the same in Gossamer to avoid a consensus split.

However, it seems beneficial to both protocols to reject commits which have malicious or wasteful data to reduce database size and network bandwidth. Consider updating the specifications to reject commits which include invalid or duplicate votes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants