cosmos / ibc

Interchain Standards (ICS) for the Cosmos network & interchain ecosystem.
Other
940 stars 383 forks source link

ICS28: Setting CCV parameters #673

Closed mpoke closed 2 years ago

mpoke commented 2 years ago

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.,

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 commented 2 years ago

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

@jtremback

jtremback commented 2 years ago

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

mpoke commented 2 years ago

CCV will use the SlashingFraction and JailDuration set on the provider; the consumer will not be able to choose its own. See https://github.com/cosmos/ibc/issues/726

mpoke commented 2 years ago

The consumer should also use the UnbondingPeriod set on the provider. See discussion on the implementation side https://github.com/cosmos/interchain-security/issues/80

mpoke commented 2 years ago

Regarding the DistributionFraction, see discussion on the implementation side https://github.com/cosmos/interchain-security/issues/81