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

[DRAFT] Client update incentivization #966

Open
wants to merge 2 commits into
base: main
Choose a base branch
from

Conversation

notbdu
Copy link
Contributor

@notbdu notbdu commented Apr 21, 2023

Client updates are not currently incentivized within ICS-29.

This PR extends the ICS-29 spec with additional logic to escrow and pay out rewards for posting client updates. ICS-29 is extended instead of a creating a separate app spec because relayer registration is required for incentivized client updates as well.

@jackzampolin
Copy link
Member

at a high level i'm super in support of this idea, however I think its prob best as its own spec. If we add this to the relayer incentives its overloading that module IMO.

@notbdu
Copy link
Contributor Author

notbdu commented May 2, 2023

at a high level i'm super in support of this idea, however I think its prob best as its own spec. If we add this to the relayer incentives its overloading that module IMO.

Agree on this ideally being a separate spec. The tradeoff I was seeing was that I needed to re-create the relayer registration patterns which are already a part of the ICS-29 spec.

Copy link
Member

@AdityaSripal AdityaSripal left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed with @jackzampolin that this should be pulled out into its own spec.

In general, I don't see how this can't be DOSed by relayers. If there's a generic incentivization for submitting headers, I'm just going to submit every header even if its not necessary.

This is why I'm generally more in favor of packet incentivization. Even though the relayer submitting the client update may be different than packet relayer.

Ultimately the utility of IBC is cashed out in packet submission.

If the consensus state already exists before an incentivized packet, then thats good. For whatever reason, the relayer who submitted it found it useful to do so without incentivization.

Packet incentive should be high enough to pay for the cost of a client update and packet message imo. So it implicitly also incentivizes the client update that is necessary.

This changes a bit in the multihop case; but maybe we can do something else with packet incentivization to help here.

More in favor if we can find a non-gamable way to incentivize client updates

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Backlog
Development

Successfully merging this pull request may close these issues.

3 participants