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

IBC-go antedecorator effect on Hermes operation #1228

Closed
5 of 6 tasks
adizere opened this issue Jul 22, 2021 · 1 comment
Closed
5 of 6 tasks

IBC-go antedecorator effect on Hermes operation #1228

adizere opened this issue Jul 22, 2021 · 1 comment
Labels
I: dependencies Internal: related to dependencies I: logic Internal: related to the relaying logic O: new-feature Objective: cause to add a new feature or support
Milestone

Comments

@adizere
Copy link
Member

adizere commented Jul 22, 2021

Crate

ibc-relayer

Summary

There is a new feature that the IBC-go team implemented consisting of a CheckTx decorator
which has intuitively the following side-effects:

  1. if a transaction consists of IBC messages all of which are redundant, i.e., all the messages in the tx already executed
    previously, then the decorator prevents the transaction from entering the mempool and
    rejects it before that.
  2. if a transactions consists of a mix of redundant and novel IBC messages, then the transactions is accepted and
    the redundant messages are accepted as no-op, while the novel messages execute as usual.

Resources:

Problem Definition

The basic problem is that we don't know yet how this feature affects Hermes.

Point 1 has the positive side-effect that it will prevent some situations where Hermes wastes fees in the presence of competitive relayers.

Point 2 has the benefit that Hermes (and other relayers) can now adopt a strategy of minimizing the number of messages they put in a tx, so that they minimize wasting gas fees.

Proposal

  • We need to make sure that Hermes correctly interprets the broadcast_tx_sync response in situation (1) and correctly drops the operational data (since that consists of redundant messages).

  • We also need to make sure we retain backwards compatibility, because some node may not have the antedecorator enabled (or using an older version).

Acceptance Criteria

  • Smooth Hermes operations and E2E tests in the presence of the IBC antedecorator

For Admin Use

  • Not duplicate issue
  • Appropriate labels applied
  • Appropriate milestone (priority) applied
  • Appropriate contributors tagged
  • Contributor assigned/self-assigned
@adizere adizere added the I: dependencies Internal: related to dependencies label Jul 22, 2021
@adizere adizere added this to the 09.2021 milestone Jul 22, 2021
@adizere adizere added O: new-feature Objective: cause to add a new feature or support I: logic Internal: related to the relaying logic labels Jul 22, 2021
@adizere adizere modified the milestones: 09.2021, 10.2021 Sep 6, 2021
@adizere adizere modified the milestones: 10.2021, 11.2021 Sep 30, 2021
@adizere adizere modified the milestones: 11.2021, 12.2021 Nov 2, 2021
@adizere adizere modified the milestones: v1.0.0, v0.9.1 Nov 23, 2021
@adizere
Copy link
Member Author

adizere commented Nov 23, 2021

The basic problem is that we don't know yet how this feature affects Hermes.

Many chains have been running with this change already, and experience from production use shows that the antedecorator raises no issue for Hermes.

@adizere adizere closed this as completed Nov 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
I: dependencies Internal: related to dependencies I: logic Internal: related to the relaying logic O: new-feature Objective: cause to add a new feature or support
Projects
None yet
Development

No branches or pull requests

1 participant