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

ICS28: Distinguish between unbonding periods on provider and consumers #900

Open
andrey-kuprianov opened this issue Dec 14, 2022 · 0 comments
Labels
app Application layer.

Comments

@andrey-kuprianov
Copy link

andrey-kuprianov commented Dec 14, 2022

Surfaced from @informalsystems continuous audit of ICS28 Specification, at commit f1f79b8

In the ICS 28 specifications, the files CCV: Overview and Basic Concepts and CCV: System Model and Properties talk about UnbondingPeriod in general terms, while in reality there is an unbonding period on the provider chain, and a (different) unbonding period on each consumer chain. E.g. the very first occurrence of UnbondingPeriod in CCV: Overview and Basic Concepts reads like this:

Some of the validator updates can decrease the voting power granted to validators. These decreases may be a consequence of unbonding operations (e.g., unbonding delegations) on the provider chain. which MUST NOT complete before reaching maturity on both the provider and all the consumer chains, i.e., the unbonding period (denoted as UnbondingPeriod) has elapsed on both the provider and all the consumer chains.

Recommendation

  • In every mention of UnbondingPeriod in the specification make sure to quantify whether this is the unbonding period on the provider, or on one particular consumer, or some function of the set of unbonding periods of the provider and all consumers (e.g. maximum, minimum);
  • Clarify in the system model whether the relationship between different unbonding periods has any consequences for system functioning and/or security, and what that relationship should be in order for the system to function correctly.
@mpoke mpoke added the app Application layer. label Dec 16, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app Application layer.
Projects
Status: 📥 F2: Todo
Development

No branches or pull requests

2 participants