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: Setting CCV parameters #673

Closed
mpoke opened this issue Mar 3, 2022 · 5 comments
Closed

ICS28: Setting CCV parameters #673

mpoke opened this issue Mar 3, 2022 · 5 comments
Assignees
Labels
app Application layer. brainstorming Open-ended brainstorming.

Comments

@mpoke
Copy link
Contributor

mpoke commented Mar 3, 2022

For CCV v1, starting a consumer chain requires a governance proposal to be passed on the provider chain. This proposal can be seen as a contract between the provider and consumer chains, i.e., "The provider chain agrees to provide security to the consumer chain in certain conditions".

These conditions are described by some CCV parameters, i.e.,

  • UnbondingPeriod - the period that must elapsed on the consumer chain before bonded tokens can be unlocked;
  • SlashingFractions - the percentages of the stake slashed for different infractions;
  • JailDurations - the period a validator is jailed for different infractions;
  • DistributionFraction - the percentage of rewards accumulated on the consumer chain that are transferred to the provider chain (as payment for providing security).

The first three parameters affect the state of the provider chain. The fourth parameter affects the earnings of the provider chain. The consumer chain should not be able to change them without the consent of the provider chain, i.e., a change should entail a renegotiation of the contract. Thus, these parameters should be part of the governance proposal to spawn a new consumer chain and the consumer chain should not be able to modify them through a consumer governance proposal.

@mpoke mpoke added the brainstorming Open-ended brainstorming. label Mar 3, 2022
@mpoke mpoke self-assigned this Mar 3, 2022
@mpoke
Copy link
Contributor Author

mpoke commented Mar 3, 2022

What other parameters that are usually modified via governance can have an impact on the provider chain?

  • block time ?

@jtremback

@jtremback
Copy link

jtremback commented Mar 3, 2022

@okwme Is there a way to dump all parameters? I guess we can also just search for them in the code

@mpoke mpoke added app Application layer. formalization Formalizing things so that they are not wrong. and removed formalization Formalizing things so that they are not wrong. labels Mar 9, 2022
@mpoke
Copy link
Contributor Author

mpoke commented Apr 30, 2022

CCV will use the SlashingFraction and JailDuration set on the provider; the consumer will not be able to choose its own. See #726

@mpoke
Copy link
Contributor Author

mpoke commented Apr 30, 2022

The consumer should also use the UnbondingPeriod set on the provider. See discussion on the implementation side cosmos/interchain-security#80

@mpoke
Copy link
Contributor Author

mpoke commented Apr 30, 2022

Regarding the DistributionFraction, see discussion on the implementation side cosmos/interchain-security#81

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app Application layer. brainstorming Open-ended brainstorming.
Projects
No open projects
Status: Done
Development

No branches or pull requests

2 participants