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

Implement fishing mode #75

Closed
2 tasks
seunlanlege opened this issue Jul 26, 2022 · 1 comment · Fixed by #84
Closed
2 tasks

Implement fishing mode #75

seunlanlege opened this issue Jul 26, 2022 · 1 comment · Fixed by #84
Assignees

Comments

@seunlanlege
Copy link
Contributor

seunlanlege commented Jul 26, 2022

ref: #76

Should also add to testsuite

  • client freezing semantics via misbehavior
  • client upgrades
@seunlanlege
Copy link
Contributor Author

seunlanlege commented Sep 25, 2022

Thought about the design for this and unfortunately, there's no way to share code between clients. So instead clients are free to implement this however they like but have to expose a long running future that drives the fisherman task.

Fisherman Algorithm:

  • We watch the chain for all UpdateClient events emitted for the client we're watching and query the transaction that updated the client. This transaction contains the finality proof.

  • On obtaining the finality proof. We query a full node for the finality proof at the updated height and check if the header matches our full node.

    • Full nodes will reject invalid state transitions and will also keep forks letting us know a header is being disputed.
  • If we do not detect forks and the finality proof matches the light client update, repeat from start

  • Otherwise construct Misbehavior for the light client.

  • Construct an equivocation report for the source chain.

  • Repeat from start.

@seunlanlege seunlanlege transferred this issue from another repository Oct 6, 2022
@seunlanlege seunlanlege transferred this issue from ComposableFi/composable-ibc Oct 6, 2022
vmarkushin referenced this issue in ComposableFi/composable Oct 10, 2022
vmarkushin referenced this issue in ComposableFi/composable Oct 10, 2022
@seunlanlege seunlanlege transferred this issue from ComposableFi/composable Oct 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Development

Successfully merging a pull request may close this issue.

3 participants