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

Create ADR for Cryptographic Verification of Equivocation #1124

Closed
Tracked by #732
sainoe opened this issue Jul 10, 2023 · 1 comment · Fixed by #909 or #1168
Closed
Tracked by #732

Create ADR for Cryptographic Verification of Equivocation #1124

sainoe opened this issue Jul 10, 2023 · 1 comment · Fixed by #909 or #1168
Assignees
Labels
scope: docs Improvements or additions to documentation

Comments

@sainoe
Copy link
Contributor

sainoe commented Jul 10, 2023

Problem

The design of the ICS misbehaviour handling incorporates elements from both IBC and CometBFT logic to address Light Client Attacks. It is important to ensure that the wiring of these components remains consistent with the new requirements and assumptions introduced by this design.

Below are listed the main components of the design that need to be reviewed:

  • Expect the IBC misbehaviour message to contain a Common Header - ref1, ref2
  • Follow the logic in CometBFT to construct Light Client Attack Evidence - ref
  • Use the IBC misbehaviour/LCA validation and consequently jail and tombstone validators for a time violation - ref
  • Freeze an IBC light client under a valid misbehaviour/LCA reception - ref

Closing criteria

Address each item and integrate the resulting decisions to the ongoing ADR-005.

@sainoe sainoe added the scope: docs Improvements or additions to documentation label Jul 13, 2023
@sainoe sainoe changed the title Define the Light Client Attack Evidence requirements Verify the ICS misbehaviour design Jul 13, 2023
@sainoe sainoe changed the title Verify the ICS misbehaviour design Check the ICS misbehaviour design Jul 13, 2023
@sainoe sainoe changed the title Check the ICS misbehaviour design Review the ICS misbehaviour design Jul 13, 2023
@github-project-automation github-project-automation bot moved this to 🩹 Triage in Cosmos Hub Jul 17, 2023
@sainoe sainoe moved this from 🩹 Triage to 🏗 In progress in Cosmos Hub Jul 17, 2023
@sainoe
Copy link
Contributor Author

sainoe commented Jul 18, 2023

Summarizing our last discussion with @ancazamfir @mpoke @romac @MSalopek, upon receiving a ICS misbehaviour message, the provider should be updated to:

  • Not freeze consumer IBC client
  • Verify that the consumer IBC client isn't Expired or return an error
  • Ensure that it jails and tombstones validators only for standalone Cosmos chain infraction.

Accordinlgy, the Hermes misbehaviour handling logic should be updated to:

  • Send both ICS and IBC misbehaviour msgs after detecting a LCA

Additionaly, we still need to clarifify if time violations should be considered as valid standalone Cosmos chain infractions.

@mpoke mpoke changed the title Review the ICS misbehaviour design Create ADR for Cryptographic Verification of Equivocation Jul 24, 2023
@mpoke mpoke removed their assignment Jul 24, 2023
@mpoke mpoke linked a pull request Aug 3, 2023 that will close this issue
12 tasks
@mpoke mpoke moved this from 🏗 In progress to 👀 In review in Cosmos Hub Aug 10, 2023
@github-project-automation github-project-automation bot moved this from 👀 In review to ✅ Done in Cosmos Hub Aug 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
scope: docs Improvements or additions to documentation
Projects
Status: ✅ Done
2 participants