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 key assignment feature uses the chainID | providerConsAddress -> consumerKey mapping to store consumer public keys. It entails that only the last assigned consumer public key is stored for each validator and the old ones are overwritten.
In the scenario where a validator double votes on a consumer chain using key k1, it potentially has enough time to re-assign itself a new key, k2, on the consumer chain before the double voting evidence is detected and submitted to the provider. Consequently, when the evidence is eventually submitted, it will be verified using k2 and fail.
This issue supersedes #1254, which partially fixed the validator public key retrieval in the double voting evidence handler.
Closing criteria
The public key of the validator that double voted should be directly retrieved from the infraction_block_header field in the SubmitConsumerDoubleVoting message, rather than from the provider states.
The text was updated successfully, but these errors were encountered:
sainoe
added
status: waiting-triage
This issue/PR has not yet been triaged by the team.
S: KTLO
Keeping the lights on: Keeping the current product operational (bugs, troubleshooting, deps updates)
labels
Sep 5, 2023
mpoke
added
S: NewThings
Work towards your business objectives with new products, features, or integrations
and removed
S: KTLO
Keeping the lights on: Keeping the current product operational (bugs, troubleshooting, deps updates)
labels
Sep 5, 2023
Problem
The key assignment feature uses the
chainID | providerConsAddress -> consumerKey
mapping to store consumer public keys. It entails that only the last assigned consumer public key is stored for each validator and the old ones are overwritten.In the scenario where a validator double votes on a consumer chain using key
k1
, it potentially has enough time to re-assign itself a new key,k2
, on the consumer chain before the double voting evidence is detected and submitted to the provider. Consequently, when the evidence is eventually submitted, it will be verified usingk2
and fail.This issue supersedes #1254, which partially fixed the validator public key retrieval in the double voting evidence handler.
Closing criteria
The public key of the validator that double voted should be directly retrieved from the
infraction_block_header
field in theSubmitConsumerDoubleVoting
message, rather than from the provider states.Credits to @insumity for reporting the bug 💜.
The text was updated successfully, but these errors were encountered: