• Celo protocol delays decision on how to pull token emissions back on target.
  • Comparing Celo vs Ethereum 2.0 in how they set staking rewards.

Celo delays decision on how to pull epoch rewards back on target

DeFi protocols typically have a set schedule for minting distributing their governance tokens. As discussed in last week's post, the Celo protocol is printing tokens at a higher rate than scheduled:

Actual vs Target CELO emissions schedule

One solution proposed was to reduce epoch rewards (i.e. CELO tokens) going to the community fund, which remains largely unspent. This proposal has since been withdrawn as it was felt not to be in line with the protocol's mission.

Without touching the community fund, the only ways to get back on track are to adjust either i) rewards for locking CELO tokens, or ii) validator rewards (i.e. rewards going to the 110 nodes that provide services to validate transactions).

Setting Proof of Stake Rewards - Celo vs Ethereum 2.0

Both Celo and Ethereum 2.0 are Proof of Stake protocols, but there are some differences in how they operate:

  • On Celo, CELO tokens are "locked" and vote to elect validators (who validate transactions). These locked tokens earn epoch rewards (CELO tokens) - currently set at a 6% annual rewards rate. The number of validators is limited (currently to 110) and validators are separately paid epoch rewards (currently roughly 75,000 cUSD per year).
  • On Ethereum 2.0, Ether tokens are "staked" in groups of 32 Ether tokens to run a validator node. Staking and validating is the same thing, there is no limit to how many validators there can be. Rewards are set depending on the total amount of Ether staked on the protocol:
Ethereum 2.0 staking rewards depend on total ETH staked. Somewhat coincidentally, the current level of staking is such that the reward rate is 6%. (

For both Celo and Ethereum 2.0, attackers need to own 51% of total locked/staked tokens to gain control of either network.

Back now to the question of how staking/locking rewards are set:

  • Celo current sets locking rewards at a fixed 6%, but there is a proposal (CGP 33) under way that would make this percentage float in order to target locking of 50% of outstanding CELO. This means that an attacker would need to control 25.1% of outstanding CELO to attack.
  • Ethereum 2.0 sets rewards according to the curve shown above. I don't yet understand the detail of how this curve is set but, at a high level, Ethereum 2.0 is targeting a minimum number of validators for the network to run effectively. Note that Celo currently divorces validator and locking rewards, so there is an extra degree of freedom to incentivise these two aspects of the system separately (whether that is good or bad I'm not sure).

This leads to the following immediate questions for CELO:

  1. Where should the threshold of locked CELO be set to prevent an attack? (CGP 34 recommends 60%)
  2. Is percentage locked CELO a good way to think about security?
  3. Even after solving questions 1 & 2, this does not address the issue of Celo epoch rewards being above target. Ethereum 2.0 does not set a cap on supply of Ether tokens and so can keep issuing Ether to keep rewards at whatever level is needed to support the network. By contrast, CELO does set a hard cap on the total number of CELO making it hard in the long run to keep rewards at levels that are competitive with other blockchains.