cosmos / ibc-go

Inter-Blockchain Communication Protocol (IBC) implementation in Golang.
https://ibc.cosmos.network/
MIT License
525 stars 567 forks source link

Add a governance proposal to change client parameters #1171

Open joneskm opened 2 years ago

joneskm commented 2 years ago

Summary

Add a governance proposal which allows client parameters to be changed

Problem Definition

There is no mechanism for changing client parameters, such as the trusting period, once a client has been created. In some cases it would benefit users of a client and the chain/relayer operators if the parameters could be changed e.g. if the trusting period was set to too low a value when a client was created both users and operators would benefit from increasing the trusting period.

It makes sense that these parameters cannot be changed unilaterally, however given that a majority of validators can change client parameter values anyway, having a built-in governance proposal to change them would not change the security fundamentals. Without a built-in governance proposal the maintainers must resort to makeshift and divergent changes to their codebase to force the client parameter values to change.

The disadvantage of reducing the friction for maintainers is that it might make it easier for them to inadvertently break the client for users relying on the original client parameters. Without the built-in governance proposal the maintainers would need to modify parts of the code themselves, arguably, this might lead them to consider more carefully the impact of changing parameter values.


For Admin Use

crodriguezvega commented 1 year ago

Adding here comment from #1758.

colin-axner commented 4 months ago

We can do this following without adding additional interface functions following merge of #5806. It can be achieved by adding a msg server to the 07-tendermint light client module which allows governance to modify any of the fields in the client state