Note: In this post I’m representing Cryptium Labs, not AiB.
All suggestions are provisional and up for discussion, no proposals have yet been made.
The Cosmos Hub state machine has many configurable parameters, such as unbonding time, maximum validator count, inflation rates, deposit requirements, etc. which can easily be changed. The original values for these parameters, which have not been changed since launch with the exception of “blocks_per_year”, along with justifications for their original values, can be found here.
Now that the Cosmos Hub has launched and is transacting real value, it is the view of Cryptium Labs that we should revisit many of these parameter choices, both from the lens of operating a stable network in the mid-term and planning for an exceptionally secure and performant Cosmos Hub in the years to come.
Specifically, we suggest discussing and making alterations to the following parameters:
“slash_fraction_double_sign”, which determines the penalty for equivocating (double-signing two different state hashes at the same height and round). Currently this is set to
0.05. We think that the initial choice was reasonably conservative (low) due to the comparatively higher likelihood of software bugs or misconfigurations relative to intentional Byzantine behaviour, but that this value will need to increase over time to provide a higher degree of economic security to the Hub. Provisionally, we suggest increasing this parameter to
0.2(resulting in a 20% slashing rate).
First-order effects of an increase will be an increased cost of bribery attacks and increased supply deflation due to burned tokens should a slash occur. Second-order effects may include an increased focus on validator security by rational delegators (we think this will be generally beneficial) and an increased reluctance to delegate due to the higher risk (potentially problematic, but see the next suggestion).
“inflation_rate_change”, which determines the maximum rate of change in the inflation rate (second derivative of inflation). The Cosmos Hub dynamically targets a 2/3 bonded ratio, adjusting the inflation rate between minimum and maximum bounds (currently
0.20) to discover which inflation rate is necessary to reach that ratio (for a longer explanation, see here). Currently, this is set to
0.13, meaning that it will take a year for the Cosmos Hub to reach 20% inflation (if the bonded stake remains below 2/3). Provisionally, we suggest increasing this parameter to
0.52(by a factor of four), which will enable the inflation rate to range between the minimum and the maximum in a period of three months. We think this will enable quicker reactions by the Hub to maintaining security in the face of changing external economic conditions (e.g. the price of Atom tokens), and we think information about the effects of differing inflation rates on user behaviour would be helpful to discover in the near term.
“max_validators”, which determines the maximum number of validators who can participate in consensus, currently
100. Provisionally, we suggest increasing this to
150. Tendermint can handle several hundred validators without substantial slowdowns (as demonstrated in Game of Stakes), so we think this increase is conservative, and it will allow more operators to join the Cosmos Hub and experiment with validation. We think this change alone is unlikely to result in meaningfully more decentralization of voting power and other changes will be required to acheive that (perhaps slashing incentive alterations), but if such changes are made the validator cap may then be the bottleneck on decentralization.
“community_tax”, which determines the fraction of inflation & fees sent to the community pool, designed to fund public goods (although it has not yet been put into use). Provisionally, we suggest increasing this to
0.1and adding a simple proposal type for governance to spend funds from the community pool to an arbitrary Cosmos Hub address. Although the community pool has yet to be demonstrated and numerous operational challenges remain to be solved, we think public goods such as zone development, software upgrades for the Hub itself, higher-level tooling and application development, protocol & cryptography research, etc. will make or break the Cosmos Network and we should spend corresponding amounts of effort & funding on them.
We also expect that it may make sense to increase the unbonding period in the future, but we think it is not necessary to do so right now.
We will make a proposal (or several proposals) to include constant changes in the next hard fork (none of these require any software development effort, except possibly the proposal to spend from the community pool, which we are willing to implement), but no numbers are finalized and we would like to hear arguments from any and all sides first. Let the floor be open for discussion!