Rewards Saturation for Non-Saturated Pools?
EDIT Aug 27 – After some valuable input from and discussion with the community, the ideas brought forward in our post below proved to be incorrect. Contradictory to its contents, pools can grow all the way up to saturation without getting their rewards capped, even if they produce more blocks than they are supposed to get assigned on average (apparent performance > 1).
Pools currently tend to be considered “saturated” if they are at least 207M ADA in size. This article explains why your rewards are also in danger of being capped, if you delegate to pools with a total stake much smaller than that. And, since saturation is not strictly related to pool size, we also explain why it might be better to speak of “rewards-saturation” rather than “pool-saturation”.
When Does Saturation Occur?
Saturation occurs whenever a pool generates more rewards than the maximum allowed by the Ouroboros protocol in a single epoch.
Pool saturation is usually referred to as a certain size a pool should avoid reaching, in order to not get its rewards capped, thereby lowering the ROS it delivers to its delegators. However, because of the Ouroboros’ random block assignment protocol, where variations of +/- 50% are no exception, a pool’s rewards can already be capped long before it reaches its theoretical saturation point.
Let’s use Epoch 212 as an example to explain what is going on.
Why 207M ADA?
A pool’s theoretical saturation point is calculated by dividing the total ADA supply (=31,112,483,745 in Epoch 212 according to CMC) by the optimum number of stakepools, defined by k (=150), which in Epoch 212 resulted in 207.42M ADA. What this means, is that a pool of this size on average produces exactly the number of blocks needed to generate the maximum possible rewards. Beyond this optimum block-quantity, no additional rewards will be generated, regardless how many additional blocks the pool mints. However, any number of blocks below the optimum quantity will result in proportionally lower rewards, to be distributed among its very large share of stakeholders.
How Many Blocks is a 207M Pool Expected to Produce?
To calculate the average number of blocks assigned to a pool on the edge of saturation, let’s look at its share of all staked ADA; its “Share-Of-Stake” so to speak:
Share-Of-Stake = Poolsize at saturation point (207.42M ADA) / Total Active Stake in Epoch 212 (13.38b ADA) = 1.55%
On average, a pool with 1.55% share-of-stake, will receive 1.55% of all slot leadership assignments. Since the total number of blocks assigned to stake pools in Epoch 212 was 4320 (432000 * 0.05 active slot ratio * (1 – decentralization factor = 0.2)), the average number of blocks assigned therefore would have been 1.55% * 4320 blocks ≈ 67 blocks.
As a result, any pool which produced more than 67 blocks in Epoch 212, had its rewards capped for this epoch.
Also Smaller Pools Can Suffer From Rewards-Saturation
All that was needed in Epoch 212 for a pool’s total rewards to get capped, was to produce more than 67 blocks. Because of the Ouroboros’ variation in slot leadership assignment, which frequently can exceed 50% or even more, this ever so often happens to 138M-pools (207M/150%), which on average produce ‘only’ 45 (68/150%) blocks.
For a visual representation, please refer to the figure below:
Only Large Pools Get Bitten in the B*tt
So, whenever there are large variations in block production at play to the upside, pools of approx. 135M in size and upwards, occasionally will see their rewards getting capped, thereby producing less than optimum results for their delegators. However, whenever such large variations occur to the downside, these pools will have to absorb the full reduction of their rewards accordingly.
Adding it all up, these positive and negative variations eventually WILL have a negative impact on the overall ROS of large pools. Which is not the case for pools significantly smaller in size than 135M. These pools can take the full benefit from very lucky slot leadership allocations whenever they occur, without risking any reduction in rewards because of saturation.
Large Pool’s Watch Out! Smaller Pools Go-Go-Go!
Based on the above, it is clear that the average ROS differences between large (135M+) and smaller pools may be a lot less significant than what many delegators have been assuming thus far. It would certainly be interesting to quantify the impact of incidental rewards-saturation on yearly ROS, and compare this with the relatively small benefit that very large pools have by being able to spreading the minimum fixed epoch cost of 340 ADA among their larger delegator base. Perhaps such a comparison could even point out that sub-135M pools are in a better position to outperform 200M pools.