[CGP-29] Increasing the number of validators by 10

Hello all,

I’m creating this forum post to enable async discussion of two topics: The proposed increase of 10 validators to the validator set size in CGP 29 and a more general discussion on increasing the number of validators beyond that. CGP 29 is on the agenda for governance call #7 on 4/29/21.
CGP 29 Link

CGP 29 Overview
This CGP proposes increasing the elected validator set size from 100 to 110. This change would allow more validator groups and up to ten more validators to register and participate in consensus.

The motivation for this change is to embark on the process of increasing the elected validator set that Celo can support. There has been tremendous demand to validate on Celo from the community, and due to the limitation of only supporting 100 validators currently elected, much of this interest is not able to be supported.

Considerations

  • On the technical front, short to medium term we are constrained to having 150 validators due to the size of the validator bitmap in Plumo. Another trade-off is increasing the set size beyond a certain amount cuts into the amount of time available to process transactions (thus resulting in lower network throughput).
  • Given the current elected validator set, vote minimums will shift that current validator groups end up claiming the additional seats, without allowing for any new entrants.
  • If the CELO:cUSD rate changes, the protocol payout may change from being under-target, to over-target.

Joshua

3 Likes

This is a really welcome change. Looking forward to seeing this through.

I have two considerations around this:
#1: Validator payouts have already decreased fairly significantly. Current maximum payout is at ~182 cUSD per epoch, so this comes out to 66.5K cUSD per year, which is already fair bit smaller than original 75K cUSD per year payout. With this change, it will further increase demand on per-epoch CELO inflation so we can expect payouts to decrease even more over time.

#2: I think it would be great if we can accelerate implementation of: https://github.com/celo-org/celo-proposals/issues/144 . Coordinating ~60 different entities right now for their attestation setup is hard enough already, it will get significantly harder to coordinate among 100 or more entities if more validator groups are added. Decoupling attestations from validation can make it easier to introduce new groups that just do validation and don’t necessarily have to setup attestation services with it.

2 Likes

I’m in favor of increasing the validator set size and echo Zviad’s concern about the returns being adjusted downwards for validators.

Where do the cUSD payouts to validators come from? Are they minted?

There was a comment on the governance call about spending being close to too much. Could someone expand on this? Thanks

My understanding is that CELO for validator rewards, voter rewards, and the community fund are minted, but the total amount minted is adjusted to target a total target mint rate. Validator rewards are then converted to cUSD. Right now voter rewards contribute the to the largest amount of minted CELO, and adding and additional 10% or 20% to the validator rewards will have a small impact on the the total rewards multiplier (it’ll contribute to the overspend, but not a significant amount).

1 Like

Yes, with the current price of CELO this is indeed the case. As I understand, numbers look something like this:

  • 283,115,791 * 0.00016 ~= 45298 CELO (total votes * per epoch voter rewards)
  • 100 * 205 cUSD ~= 20500 cUSD (# of validators * per epoch payout in cUSD).

With 1 CELO ~= 5 cUSD, target voter rewards are ~10x more compared to validator payouts. So if we go from 100 → 150 validators, total target payouts will increase by ~5%, which is small, but not completely negligible.