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

ICS02/ICS26: Evidence module integration for Equivocation #5076

Closed
mossid opened this issue Sep 20, 2019 · 2 comments
Closed

ICS02/ICS26: Evidence module integration for Equivocation #5076

mossid opened this issue Sep 20, 2019 · 2 comments
Assignees

Comments

@mossid
Copy link
Contributor

mossid commented Sep 20, 2019

Misbehaviour predicate under ICS02 should handle equivocation(doublesigning) for tendermint headers.

The implementation will have the following interface

type ConsensusState interface {
...
  Misbehaviour(evidence.Evidence) bool
...
}

Misbehaviour must be a pure function, and the evidence related to the misbehaviour should be passed as the argument.

Each of the Evidence type will be defined under the concrete implementations of ICS02. For Tendermint, it will be defined under ibc/02-client/tendermint, initially including only the EquivocationEvidence. Unlike the normal tendermint.DuplicateVoteEvidence, it should be submitted only if more than 2/3 of the validator set double signs.

The IBC module will implement an evidence.Handler which route the infractions to appropriate ConsensusState.Misbehaviour, implementing handleClientMisbehaviour under ICS26. The end user will submit evidence.MsgSubmitInfraction to invoke the function.

This issue replaces [^1] in #4723

@mossid mossid added the x/ibc label Sep 20, 2019
@mossid mossid changed the title ICS02: Evidence module integration for Equivocation ICS02/ICS26: Evidence module integration for Equivocation Sep 20, 2019
@tnachen tnachen assigned tnachen and alexanderbez and unassigned tnachen Oct 1, 2019
@mossid mossid mentioned this issue Oct 1, 2019
12 tasks
@alexanderbez alexanderbez added this to the IBC Implementation & Integration milestone Oct 1, 2019
@fedekunze
Copy link
Collaborator

Note: this is a blocker for #4516

@fedekunze
Copy link
Collaborator

misbehavior for Tendermint was implemented on #5258. Closing

@fedekunze fedekunze modified the milestones: IBC Implementation & Integration, IBC Implementation Dec 10, 2019
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

5 participants