Cosmos Staking Primer
This post is a comprehensive overview of staking on the Cosmos Hub. It will explain the current implementation, cover implications and risks for delegators, as well as expected returns including a reward calculator. The results provided by the calculator serve as a projection, Chorus One doesn’t guarantee their accuracy. The Cosmos Hub is about to launch and with that Atoms, the cryptocurrency native to the Cosmos Network, can be used to stake (also referred to as bonding) to help secure the internet of blockchains and to receive rewards for it. The concept of staking can be hard to grasp and the Cosmos Hub implementation is one of the most sophisticated to date with a lot of caveats that need to be considered to achieve the optimal risk-adjusted return as an Atom holder.
What is Staking?
Staking means you are locking your tokens and participate in securing and maintaining the Cosmos Hub, for which you are rewarded in the network’s native tokens (Atoms). You can delegate your tokens to a validator that will run the required node infrastructure for you in exchange for a cut of the rewards. This post specifically focuses on delegating, if you want to learn about the difference between validating and delegating check out our explanation of these concepts here.
Staking in the Cosmos Network is highly incentivized, the main utility of Atoms is to be used to determine the decision power of validators in the consensus process. Atom holders collectively decide which validators will secure the Cosmos Hub and their individual influence in the network.
The Staking Lifecycle
To start staking you need to own Atom tokens, which at launch means you will need to have participated in the fundraiser. Transfer of Atom tokens will be enabled through a governance vote, so please be aware that any offer to buy Atoms before that is either a scam, the wrong token, or an IOU, which will mean that you should make sure you trust whoever you are buying the Atoms from.
Once you own Atoms, you can participate in securing the network and earn rewards by staking them. A list of validators, their terms, and other information will be available on the blockchain. Presumably, most wallets and other websites will also make this information available in their interfaces.
To participate, you need to send a special type of transaction to the network and the protocol will then automatically assign (bond) your tokens to the validator you specified, increasing their voting power in the consensus process. From that point on your tokens are locked and associated to that validator’s consensus votes. Check this infographic for a reference to how consensus is formed with Tendermint.
Important to note here is that at launch, the official Voyager wallet won’t be audited, so the recommended way to delegate is to use the CLI (command line interface). Delegating using the CLI requires some technical expertise: You have to set up Go, install the Cosmos SDK and dependencies, type in commands into the command line, etc. We’ve done a lot of work on making that process easier and will be releasing a tutorial about it very shortly. An alternative option for non-technical users may be to wait for a stable Voyager release.
Once you are bonded you start receiving rewards, these are influenced by the following factors:
- The amount of Atoms you are staking
- The effective inflation rate in the network (see graph below), which is derived from:
The global inflation rate, which gradually decreases to 7% when more than 2/3 of the total Atom supply is bonded. If less than 2/3 is bonded, the global inflation rate will gradually adjusts up to a maximum of 20%.
The staked Atom supply. Rewards get calculated based on the total supply, but distributed only to those who are staking. So the fewer people stake, the higher the effective rate of rewards for those staking.
The block time interval. The longer the block time interval, the lower the actual rewards paid out to stakers, as rewards are paid out on a per block basis.
- Fee revenues, which depend on the gas price and gas used in the network.
- The commission rate of your validator(s). This is the cut of rewards that your chosen validator(s) charge for running the consensus infrastructure.
- Validator uptime (see below for details).
- Your re-staking behavior (compounding interest).
- And finally, if you are thinking about rewards in fiat terms, the Atom token price.
As the effective inflation rate, fee levels, and Atom price are largely independent of your behavior, I will first focus on the impact of factors that you have an influence on. The important factors to consider here are (aside from the amount to stake) validator commission rates and uptime, as well as your re-staking behavior.
- The higher the commission rate, the larger the share of rewards that go to the validator you delegate to.
- Validator downtime results in slightly lower rewards if the validator is missing proposals because the proposer of a block receives a higher share of that particular block’s rewards.
- Extended downtime results in a validator getting jailed, which means it is excluded from the consensus process. During the jailing period (at minimum 10 minutes, or until the validator “unjails” himself), no rewards are paid out to Atom holders bonded to that validator.
- How you choose to compound your rewards. For now, there is no option to automatically re-stake your rewards to let them compound, so you will have to manually withdraw and delegate rewards again. This requires you to send two transactions to the network (withdraw rewards and then delegate them), both of which will cost fees. The ideal interval to do these transactions depend on network conditions (fee level, effective inflation rate) and your delegated amount.
There is another, possibly the most important factor, to consider when staking in Cosmos. That is the possibility of getting slashed as a result of your validator not following protocol rules. What this means is that deposited tokens (not just rewards!) can be removed by the protocol if the validator you are bonded to misbehaves, e.g. by double-signing a block. This punishment can be as high as 5% of your delegated amount, and it serves to protect the network from malicious validators. Since slashing also applies to delegators, it is important to choose your validator(s) based on their trustworthiness and the security of their infrastructure. Double-signing a block is an attack on the network and could be a result of an actually malicious validator that tries to cheat the network, a validator whose setup is flawed in some way, or host compromise, which could be a result of bad key management practices (e.g. rogue employees) or other security holes in validator infrastructure or operations.
At launch, slashing parameters are set to 5% for a double-signing and 0.01% if a validator misses 95% of blocks in a rolling 10,000 block window. Depending on the block times in the network, this means about half a day to a day of consecutive downtime will result in a 0.01% slashing for the validator and his delegators (e.g. at 5 second block times, the 10,000 block window corresponds to 13 hours and 54 minutes. If a validator is offline for around 13 hours and 12 minutes within this window, a slashing of 0.01% will occur).
The following graph shows how the effective inflation rate (the annual yield an Atom holder delegating will receive in Atoms) based on an assumed 15% commission rate, 5s block times, no revenues from transaction fees (which is likely in the bootstrapping phase of the network) and not considering downtimes, slashings, and re-staking behavior. One thing to note is that the global inflation rate will gradually adjust towards 7% when more than 2/3 of the total Atom supply is staking and towards 20% when there’s less than 2/3 of the Atom supply staking. The rate of change in the inflation rate in the network is limited to 13% per year. As the inflation rate at launch is set to 7%, this effectively means that it will take at least a year of low staking participation for the inflation rate to reach 20%.
To protect against a validator attacking the network and then immediately withdrawing his stake, the Cosmos Hub is enforcing a 21-day unbonding period. During this period, staked Atoms do not receive rewards anymore, but slashing is still possible. This means your Atoms are illiquid for 21-days after you decide to stop staking! In the future, there may be some possibility to get short term liquidity on unbonding Atoms through financial derivatives.
You can at any time change which validator you delegate to without delays and at no cost, aside from fees paid for the re-delegation transaction. Use this function to change your validator if you aren’t satisfied with its service any longer, factors could e.g. include a rise in commission rates, or extended downtimes that lower your rewards, or softer factors such as you wanting to support another validator team that benefits the ecosystem, a team that supports your staking efforts, or that shares your opinions on how to govern the network, etc. Be aware that re-delegation take 21 days to finish and that the protocol limits re-delegations to seven per account. Read more here.
There are situations in which you are automatically unbonded from the validator you are bonded to, which requires you to bond your Atoms again if you want to continue to stake. These are:
- The validator gets slashed for double-signing, after which all delegators are automatically unbonded to protect them from further slashings.
- The validator goes out of business/stops operating.
- The validator falls out of the validator set. As the number of validators is limited to 100 at the start, there could be a situation where your validator falls out of this set if his total stake is not in the top 100, meaning you will need to re-bond your Atoms.
- The validator falls below his self-imposed “minimum self-delegation”, which is a value set by validator that guarantees a validator will never lower his own stake below this threshold, otherwise, all Atoms will be unbonded from him automatically.
Validator Commission Rate Changes
- Max. Validator Commission Rate: A self-imposed maximum commission rate set by validators which they can never go above. Serves as a protection for delegators.
- Max. Validator Commission Rate Change: The maximum change in commission rate per day that a validator can adjust his commission rate. As an example, if this value is 3% and your validator has a 10% commission rate today, he can change it to 7% or 13% in one day. This also serves as a protection to avoid having validators that bait delegators with low fees and then quickly jack up their fees.
- Photons and other fee tokens: A secondary fee token that may also be rewarded to stakers in the form of block rewards. Generally, stakers will receive fees from IBC transfers paid in a multitude of tokens (not just Atoms).
- Automatic Compounding: An upcoming feature that will allow for automatic compounding of rewards.
- Other potential future changes to the protocol and/or specific parameters (e.g. uptime incentivization, inflation rate changes, etc.) will be decided through governance.
This basic reward calculator projects potential rewards from delegating Atoms to Cosmos validators based on the assumptions stated. The calculator requires you to put in the current global inflation rate and staked supply. It may be extended to help you determine your optimal re-staking interval and the resulting expected rewards.
Cosmos Staking Reward Calculator with auto-bonding
Please click the link to complete this form.
- Rewards depend on network conditions, notably staked supply in the network, fee levels, and block times.
- Rewards are not just influenced by the commission rate a validator is charging, they also depend on validator uptime and re-staking behavior (compounding interest).
- Pay attention to downtime, especially if it results in validator jailing.
- Make sure you re-stake your rewards to profit from compound interest. At the moment, this means you need to frequently carry out transactions to withdraw and re-delegate rewards.
- Do due diligence on the validator(s) you plan to stake your tokens with.
- Diversification across multiple validators may alleviate the potential losses from slashings.
- When unbonding stake, your tokens will only become accessible after 21 days. There are no rewards paid out during the unbonding period.
- You can change your validator at any time without delay and at no cost aside from the transaction fees to include the re-delegation transaction.
We will update this article to account for changes and provide other resources to our community of delegators to help them in their staking journey. Please feel free to share this post with other Atom holders and ask us questions on our Telegram or on any other channel.
Originally published at blog.chorus.one on March 12, 2019.