Capping the number of actively attesting validators
One of the annoyances of the beacon chain protocol is that the difficulty of verifying blocks to keep up with the chain potentially varies widely. Currently, there are ~100,000 validators, but theoretically the number can go anywhere up to ~4 million. This is unfortunate, because the possibility of the validator count going that high means that client devs have to work harder to make their clients able to handle that amount and node operators have to make sure their hardware can handle it, but that extra computation capability never actually gets used in practice.
There have recently been some proposals to mitigate this problem, and they tend to have to do with the idea of implementing a cap on the number of active validators (proposed numbers for the cap have been `2**19` validators ~= 16.7M ETH and `2**20` validators ~= 33.5M ETH staking). If there are more active validators than the cap, some of the validators are randomly probabilistically "slept" for a short period of time (eg. a few hours to a few days). Asleep validators get no rewards, but they also have no responsibilities and can even go offline for that duration. Theoretically, it's even safe to give the opportunity for asleep validators to withdraw more quickly if they choose to exit.
Here's a concrete proposal: https://ethresear.ch/t/simplified-active-validator-cap-and-rotation-proposal/9022
Implementing something like this will reduce the load of verifying the beacon chain, making it easier for both validators and non-validators to run a node, and it will also make decentralized staking pools more viable because it will be more practical for each decentralized staking pool participant to run a node.
submitted by /u/vbuterin
[link] [comments]