Discussion on Validator Rewards

Hi,

recently there’s been some discussion on validator rewards. I’d like to learn more about it here, get some clarity on whether the current validator rewards are appropriate, and kick off a discussion on how the protocol can keep the incentives to participate in validating attractive in the future.

Some earlier discussion was on epoch rewards in general. All epoch rewards are currently downscaled by ~87% due to rewarding ahead of schedule. To me the downscaling of the fixed validator rewards doesn’t feel right, as they have been fixed to cover operational costs independent of the CELO price. From the 75k cUSD communicated around 65k cUSD are actually rewarded.

@asa came up with the following recommendation:

To ensure that Celo continues to be a desirable network on which to validate, we bump the target annual rewards up to 85k cUSD, which, with a rewards multiplier of 87%, roughly restores the original 75k cUSD validator rewards. It’s worth noting that the total value being paid to validators is less than a quarter of what’s paid to voters, and so a 13% increase here is small wrt the total CELO issuance.

Questions and discussion

I’d love to hear some thoughts from the community and from validators how you think and feel about this. To better understand this, I’d like to especially learn more about:

  • Validator infra + operation costs, how many hours of setup and maintenance work, and how much is left as profit. What would be a fair reward and at when would you think about stopping to validate?
  • Miner Extractable Value (MEV): To what extend is this already happening on Celo and is this / can this be a significant part of a validator’s reward?
  • If I would run a Validator I would always be in favour of higher rewards, so what does the community think about increasing the validator rewards according to the recommendation above ?
  • @CodyBorn had another interesting thought. USD inflation. Since rewards are paid in cUSD, validator rewards are subject to inflation and increasing costs. Should the protocol compensate for that? Are there ways to automatically increase validator rewards accordingly?
2 Likes

Thank you for opening this discussion. Being a validator on Celo, of course I’m in favour of restoring the original 75k cUSD rewards :wink:

There are few more factors to consider than those you mentioned:

  1. Although most validators currently run their own validator group, there are few (like myself) who are a member of a validator group that is run by a different entity. My validator group, for instance, charges 25% (which is fine, no complaints) of the validator rewards.
  2. Having internalised Celo’s vision of “Prosperity for All”, I’m donating 10% of my rewards to the Celo for Global Health wallet (run by myself), which will be donated to an international health NGO at some point to implement a Celo-based project in Africa.
  3. In my opinion, what should not be neglected in the calculation, is the need for node operators to be available 24/7 so that they can respond to exceptional events like system failures in a timely manner, also during the night and holidays. This may not be a problem for large operations who employ several staff that can rotate this availability among them, but it certainly is an issue for small operations. On the other hand, workload of running blockchain nodes is not too much of a burden when a good monitoring and alerting system is in place.

To sum up, considering point 1 and 2, I’m already receiving 35% less rewards than the usual Celo validator. I can still cope with the overall reduced rewards, but it would be great if these would be raised to the original levels. When calculating reward levels not only the validator infra + operation costs and actual working hours play a role, but also the 24/7 availability of validators.

2 Likes

Why should rewards even be decreasing over time? It’s not aligned with anything in validators’ duties. Costs of infra are not decreasing. Cost of time is not decreasing. Should validators value the network less over time? Then why is the payment decreasing?

My take is: validator rewards should not decrease at all. 85k is just a temporary fix. Should remove the decrease completely.

Link to discord message where zviad | WOTrust suggests that it’s easily removable: Discord

p.s. Other point of view: if the current situation does not change, how much will validator rewards be in 5 years? Will they be like 25-35k/year ?

1 Like

oh yeah i thought the entire idea of it being 75k was that it would be fixed and be reliable.

so yeah increasing back to that or slightly above seems right to me

I agree that applying RewardsMultiplier to validator rewards does not make a lot of sense (apart from helping to keep emissions on schedule).

Likewise, applying RewardsMultiplier to locked Celo holders does not make a lot of sense (again, apart from keeping emissions on schedule).

I don’t think this is something we can solve only for Validator Rewards. Ultimately, the constraint here is that the platform has a capped number of Celo (and a fixed emission schedule). If we are to float validator and locked Celo rewards according to a feedback mechanism (which is probably what we need to do medium to long term), then we will have to rethink the capped nature of the Celo supply.

@asa , @Tobi, @thezviad

1 Like

I’m a validator (I run Cnstnt) so I’m a little bit biased, but because you explicitly asked – it doesn’t make much sense to me that the validator rewards, which are supposed to be stable (and therefore paid in cUSD) are subject to the epoch rewards downscaling. I would prefer if the amount were constant – if that’s $75k as initially decided upon, great, if it’s more, great, if it’s less, ok I’m not super into that idea but great – it being constant is ideal.

I’m not sure how the validator rewards part in particular requires a rethinking of the cap on Celo supply, since they’re paid out in cUSD – do you mind elaborating?

Sure @peterdowns , I’ll do my best, there is a lot happening here that is connected. (For simplicity I’m going to ignore the presence of the community fund). BTW, for every 1 cUSD paid to validators, there is 1 cUSD worth of CELO minted that goes to the reserve. So even though it’s cUSD, it contributes to CELO emissions. @albertw please correct me if I’m mistaken here.

1. Validator incentives
The idea of the validator rewards is to ensure the protocol always has an effective set of validators - at a reasonable cost to the platform.

Right now, a simple approach is being taken whereby the platform estimates this price point to be around 75k cUSD.

  • This is just a reasonable number that was picked, but it certainly isn’t derived from a market process
  • Even this strategy isn’t exactly being implemented because RewardsMultiplier is reducing what is being paid.

2. Locked Celo Rewards:
The idea here, as I understand, is to encourage locking of Celo as this adds stability to the reserve (there is a time delay of 3 days to unlock) in a downmarket. Ideally the platform would maintain a high percentage of locked Celo - again, at reasonable cost to the protocol.

As I understand, the initial rewards were set to target a return of 5-6%.

  • Again, this is just a reasonable number that was picked. It’s not derived from a market process.
  • The target percentage is affected by RewardsMultiplier.

Note that there is an upcoming governance proposal that will make the locked celo rewards market-based such that it adapts to achieve a locked Celo percentage of 60% (the most likely proposal as I write this).

3. Celo Emissions Schedule:
Now we hit an over-constraint, which is the Celo emissions schedule… It’s not possible to define strategies for validator and locked celo rewards while also sticking to a target emissions schedule.

Right now, what happens is that - whatever the validator rewards algorithm proposes and whatever the locked celo rewards algorithm proposes - the RewardsMultiplier pares that back (or juices it up - although that hasn’t happened yet) so that the protocol is dragged back towards the target emissions schedule.

The Celo emissions schedule is current fixed, so it’s a zero sum game. If we boost up validator rewards then we reduce locked Celo incentives, and vice versa.

As a concrete example, we mathematically can’t:
i) fix validator rewards at 75k cUSD,
ii) dynamically adjust locked-celo rewards to achieve 60% locked, and
iii) stick to the fixed emissions schedule.

We can only do two out of three of these things. In fact, over the long term my preference would be that celo would prioritise the following two things:
i) dynamically adjust validator rewards to maintain certain network performance metrics, and
ii) dynamically adjust locked-celo rewards to achieve 60% locked*.
*as an option, we may want to reward locking and voting, but this is getting too far ahead.

Short Term Fix
If you go back over to the discussion on Celo Epoch rewards, you’ll see that one solution - in the short term - is that we just bump validator rewards back up to roughly 75k. This will reduce locked Celo rewards, which is probably ok for a short period, but my view is that the protocol needs - in the medium to long term - to appropriately compensate both validators (because they uphold transaction reliability) and locked celo holders (because they are stabilising the reserve).

2 Likes

The model behind it relies on a couple of strong assumptions so it does not reflect reality well. It basically assumes all parameters remain unchanged, including the % locked CELO, which is the main influence on Epoch Rewards and the Rewards Multiplier. From what you can see in the data so far, the Rewards Multiplier tends to decrease exponentially, meaning that if nothing changes (again, including % locked CELO) in 5 years it would likely be in the area of 50%.

However, the cLabs Economics team already prepared governance proposals to tweak the parameter settings to provide countermeasures to that downscaling (see the Epoch Rewards Discussion).

I agree with the general sentiment that Validator Rewards should be constant - however redesigning the Epoch Rewards mechanism to allow more sustainable longer-term dynamic should in my opinion be based on more research and careful design choices, which would require some time. From the sentiment here so far bumping target validator rewards to e.g. 85k (would result in ~75k right now) or even a bit more would be a good shorter-term compromise. I am actually in favour of bumping validator rewards a bit more to 95k (would result in ~82k right now). That would compensate a bit for the downscaling so far (75000*(1-0,87)/2 = 4875$ for roughly the last year, assuming a linear downscaling over time for simplicity) and leave a bit more room for further downscaling, so we don’t have to revisit this target again for some time. At the same time validator rewards only make up ~10% of overall epoch rewards, after such an increase probably ~12.5%, so it does not have a meaningful effect on the downscaling itself. That would give some time to research and come up with a longer term proposal - how to allow for a more dynamic locked CELO and validator incentivization without an intervening scaling effect.

3 Likes

Yeah, I agree with all the points above regarding the need to increase the rewards back to the original levels. For our group/validator, Celo has the most stringent requirements regarding uptime/infrastructure out of all blockchains we are validating so the costs associated with running a validator on the Celo network are certainly not decreasing. The workaround proposed by @Tobi seems very rational.

BTW, for every 1 cUSD paid to validators, there is 1 cUSD worth of CELO minted that goes to the reserve. So even though it’s cUSD, it contributes to CELO emissions.

This was the key part I was missing. Thank you for the long and thoughtful answer!

1 Like

I would be satisfied with the short-term strategy described here; I wouldn’t want action to be blocked on redesigning the celo emissions schedule or rethinking the entire validator rewards mechanics.

Alright so based on the sentiment here I prepared a CGP to propose to bump target validator to 85k cUSD annually for now, which would roughly restore the 75k actually rewarded with the current downscaling.

This would be a rather short-term fix (an upscaling of the downscaling haha) and at the cLabs Economics team we started to think about better long-term epoch rewards mechanisms, if you have any input please feel free to share or to reach out :slight_smile:

3 Likes

After some ongoing Epoch Rewards discussion, good counter arguments and yesterday’s governance call I changed my mind and I’m withdrawing CGP 36: Increasing Validator Rewards.

A couple of thoughts:

  • There is a high validator supply for the protocol right now despite decreasing rewards
  • Rewards could be quickly increased if there is indication that they become too low in the future
  • If anyone thinks this is an important proposal anyway, you can always take it further yourself.

I really like the idea of @Pinotio.com to start working on a longer-term mechanism which would make validator rewards more market based, like dynamic voting rewards. It seems harder to measure on-chain and in the cLabs economics team we are starting to think about it and we would be curious to brainstorm about it.

For everyone who couldn’t participate in Governance Call 9, you can find the recording and notes here Celo Governance Call 9 · Issue #242 · celo-org/celo-proposals · GitHub as well as my presentation slides here Epoch Rewards CGPs: 33, 34, 35 ,36 - Google Slides.

1 Like