You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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.
The text was updated successfully, but these errors were encountered:
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.
The text was updated successfully, but these errors were encountered: