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

Misbehaviour monitoring & relay #112

Closed
cwgoes opened this issue Apr 21, 2020 · 3 comments · Fixed by #457
Closed

Misbehaviour monitoring & relay #112

cwgoes opened this issue Apr 21, 2020 · 3 comments · Fixed by #457
Assignees
Labels
ICF R: Major RELEASE: PR contains breaking changes that have to wait till a major release is made to be merged T: Enhancement TYPE: Enhancement

Comments

@cwgoes
Copy link
Contributor

cwgoes commented Apr 21, 2020

Given a particular configuration option, using the local light clients, the relayer should periodically check if any conflicting (equivocating) headers have been submitted to any on-chain IBC light clients on the chains which are being monitored (relayed between), and if they have, the relayer should automatically submit proof-of-misbehaviour to freeze the on-chain light clients (and print a very scary red warning message encouraging the user to immediately investigate).

@cwgoes cwgoes added the T: Enhancement TYPE: Enhancement label Apr 21, 2020
@cwgoes cwgoes added this to the 1.0 IBC milestone Apr 21, 2020
@jackzampolin jackzampolin added R: Major RELEASE: PR contains breaking changes that have to wait till a major release is made to be merged ICF labels Oct 16, 2020
@jackzampolin
Copy link
Member

This is blocked on #324

@colin-axner
Copy link
Contributor

colin-axner commented Jan 20, 2021

tagging for akash

This is an essential feature requirement for the relayer. It requires a bit of work and definitely should wait until typed events are added. Might not be the best first issues to pickup, but definitely something that should be prioritized. Checkout 07-tendermint to understand how misbehaviour is formed and handled.

cc @gosuri @anilcse @akhilkumarpilli @boz

@colin-axner colin-axner self-assigned this Feb 4, 2021
@colin-axner
Copy link
Contributor

Here's how this should be done:

When an update client event occurs while listening to streaming events, parse the header out of the emitted events. Check that header against the trusted headers in the light client store. If they match, do nothing and move on. If they don't match. Construct a misbehaviour and submit it to the on-chain client

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ICF R: Major RELEASE: PR contains breaking changes that have to wait till a major release is made to be merged T: Enhancement TYPE: Enhancement
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants