Basic Idea: Decentralizing Stake Delegation by adjusted funding of fixed fees

There are a now handsome number of proposals or CIP drafts that address the fact that there is some systematic disadvantage to SPOs, at least until they have crossed some threshold, which is something like 5-10 million ADA Stake, above which they are competitive. Basically, Michael Liesenfelt originally initiated the discussion with CIP-50 and basically no significant new or additional aspects have been contributed to the parameter changes so far. Consequently, similar CIPs, such as CIP-075 or CIP-082 were closed after review. CIP-50 is still under review.

I had expressed my concerns in a comment on CIP-50 CIP-0050? | Shelleys Voltaire decentralization update by michael-liesenfelt · Pull Request #242 · cardano-foundation/CIPs · GitHub that CIP-50, on the one hand, jeopardizes the funding of small pools with relatively rare block leaderhips and, on the other hand, does not add certain systematic centralization problems at all.

If the fixed fee were eliminated, smaller pools with relatively infrequent block leads would immediately face existential problems.

On the other hand, I think there is a strong threat to decentralization from so-called “encapsulated” MPOs, usually exchanges and other financial vehicles. They are characterized by the fact that they hold ADA on behalf of their customers, but these customers do not have their keys. Staking products are then offered, which are not a direct on-chain-staking, but ultimately a financial product, which is called staking. In most cases, the customers’ ADAs are then also blocked for a certain period of time, up to 90 days.

The problem was that in total the exchanges and financial vehicles were not far from 50% stake share. They do not act on the Cardano blockchain on behalf of customers, but in their own interest.

The SEC addressed this problem in the action against KRAKEN, and since then the SPO share of the total stake also increased slightly from 21% to 27%.

So far, however, there is no chain policy approach besides this regulatory approach to effectively limit these centralization tendencies.

I believe that an effective way to solve or improve this issue could be to change the funding of the fixed fee. From my point of view, this has not been discussed so far. The competitiveness of the smaller pools would be suddenly established or improved, as there would be no or less disadvantage for potential delegators to delegate to small pools.

If the sum of fixed fees were first subtracted from the sum of total rewards for each epoch, one would have funding of fixed fees by all pools - relatively speaking, each pool operator would pay the same share of rewards earned, there would no longer be a disadvantage to small pools, and operators of “encapsulated” pools would no longer have a competitive advantage.

Current Fixed Fee (FF) Funding:

Maxpoolrewards - FF - VF (Variable Fee).

Proposed Fixed Fee Funding:

Total Epoch Rewards - Total Fixed Fees (i.e., number of pools with at least 1 block in the epoch * 340) = Total Epoch Rewards after Fixed Fee.

The maxpool rewards would then be calculated from the total rewards of the epoch after fixed fee.

From a game theoretic point of view, one could counter that this change would create too strong an incentive for an infinitely high number of small pools.

On the one hand, a pool that is never or almost never a block leader gets nothing, so the number of pools would not go to infinite. On the other hand, one could add a factor that regulates the ratio of general funding to funding by the respective pool, should the number of pools increase to an undesirable extent. All other parameters could still be left as they are to create a gradual incentive to favor pools that are close to the saturation limit set by k, or if it goes above it, to penalize them. The current extreme disadvantage of small pools, which makes it very difficult to nearly impossible to reach the 5-10 million ADA Stake threshold, would be history. Delegators who wish to delegate to small pools that, for example, fund specific projects to be supported, would now have no disadvantage in delegating to small pools (except for higher volatility in rewards).

So I refrained from pouring this into formulas and just wanted to put the basic idea up for discussion.

1 Like

In Addition to the original proposal a more detailed description, how a possible CIP could look like:

Existing Rewards Calculation:
image

These elements are defined as follows:

  • • R - total available rewards for this epoch
  • • a0 - pledge influence factor (can be between 0 and infinity)
  • • z0 - relative pool saturation size, i.e. 0.5% based on a number of desired pools (k=200)
  • • σ - stake delegated to the pool (including stake pledged by the owners and stake delegated by others)
  • • σ’ = min(σ, z0) - as σ, but capped at z0
  • • s - stake pledged by the owners
  • • s’ = min(s, z0) - as s, but capped at z0

Note that z0, σ and s are all relative, so they are fractions of the total supply, as they all lie between zero and one.

Two important considerations are:

    1. Rewards increase with σ, but stop increasing once σ reaches z0, that is. once the pool becomes saturated.
    1. If a0, (the pledge influence,) is zero, this formula simply becomes R·σ’, so it is proportional to pool stake, up to the point of saturation. For larger values of a0, the pledge s becomes more important.

Remember that the pledge is declared during pool registration, (alongside the cost and margin values), and has to be honored by the pool owners who are delegating to the pool: If they collectively delegate less than the declared pledge, pool rewards for that epoch will be zero. Note that the pool will be public, if its operator margin is set to less than 100%.

The rewards that are produced by this formula are now adjusted by pool performance: we multiply by β/σa, where β is the fraction of all blocks produced by the pool during the epoch and σa is the stake delegated to the pool relative to the active stake (i.e. total stake that is correctly delegated to a non-retired pool).

For an optimally performing pool (that is, a pool producing all the blocks that it can produce), this factor will be 1, on average. The actual value will fluctuate due to the stochastic nature, or random process of the Ouroboros Praos consensus algorithm.

After pool rewards have been calculated and adjusted for pool performance, they are distributed amongst the pool operator and the pool members, or people who delegated part, or all of their stake, to the pool. This happens in several steps:

  • • First, the declared costs are subtracted and given to the pool operator.
  • • Next, the declared margin is subtracted and given to the pool operator.
  • • Finally the remainder is split fairly (proportional to delegated stake), amongst all people who delegated to the pool, including the pool owners.

A pledging calculator is available to use for estimation purposes. The rewards predicted by this calculator are only an estimate. The actual amount of ada received in rewards may vary, and will depend on a number of factors including; the actual stake pool performance, that is, the number of blocks a stake pool is observed to produce in a given epoch versus the number it was expected to produce. Changes to network parameters may also affect rewards.

The annualized equivalent returns given by this calculator assume that stake is delegated to the same stake pool for a 365-day period, and that stake pool performance and other settings are consistent over that timeframe. IOHK accepts no responsibility for any discrepancy between estimated and actual rewards.

Proposed Adjusted Rewards Calculation:

    1. Calculation of Sum of Fixed Fees (SFF) for the last Epoch:

SFF = (Number of Pools with at least 1 Block in the last Epoch) * PFF (Pool Fixed Fee, Currenly 340 ADA)

    1. Calculation of R‘ (total available Rewards for the Epoch – SFF)
    1. Pool Rewards Calculation with the existing Formula with R‘ instead of R

After pool rewards have been calculated and adjusted for pool performance, they are distributed amongst the pool operator and the pool members, or people who delegated part, or all of their stake, to the pool. This happens in several steps:

  • • First, the declared costs (PFF) is subtracted from SFF and given to the pool operator.
  • • Next, the declared margin is subtracted and given to the pool operator.
  • • Finally the remainder is split fairly (proportional to delegated stake), amongst all people who delegated to the pool, including the pool owners.

EFFECTS:

Assuming that the maintenance of the network and all participating pools is to be borne equally by all participants, this is the most reasonable determination of the fixed fee. In the current state, delegators in small pools or with a small stake pay proportionally much more for the maintenance of the network than delegators in large pools or with a small stake. At the very least, this is not socially balanced, or it favors whales and large pools of, for example, exchanges and financial vehicles.

The competitiveness of small pools, once they achieve sufficient blocks to maintain their running costs, would be assured.

The other parameters controlling the optimal pool size or number of pools would, of course, remain in place and could still be adjusted. That is, there would still be a gradual advantage for pools with higher pledge or higher stake, but delegators to small pools with small stake would no longer be extremely disadvantaged (one could also say discriminated) to the same extent.

1 Like

I like your general drive to remove the barriers to entry for small pool operators.

However, the problem with your idea is that what you are essentially proposing will cause large pool operators to proportionally earn less 340 Ada (min fee) “bonuses” relative to their proportion of the total delegated stake. I understand that this was your intention, but the large pool operators will undermine your goals.

Think of it this way: If I was a large multi-pool operator like Digi (Rick McCracken), Bloom (Big Pey + partners), 1%Pool, Binance, etc. then I would see that this proposal will result in my pools earning less 340 Ada min fee “bonuses” relative to my controlled stake. I would then split my pools into many smaller pools so that each pool still minted 1 block per epoch. This way I would earn multiple 340 Ada bonuses for the same total amount of delegation.

Essentially your proposal would cause every pool operator to optimise their pools to achieve around 1Million Ada total delegation each. It would also then result in a higher percentage of the total rewards going to pool operators rather than stakers. Furthermore, it would drive up the total cost of pool operation for the network because everyone would be running tons of small pools with 1million Ada staked. Digi would just muliply his number of pools by 64 so that he can earn 64 times the 340 Ada bonus, and then look for some better automation processes to ease his management problem… Unfortunately.

I think we should recognise the min pool fee for what it is. It is a barrier to entry. Unfortunately those small pools which can mint at least one block each epoch see the min pool fee as something they don’t want reduced. So you are fighting against this mindset to achieve consensus on getting the min fee reduced or removed. Nevertheless their delegators are suffering at their expense. On my website I say the following to potential delegators:

I do not recommend you stake with Terminada pool yet because the protocol does not allow setting the fixed fee any lower than 340 Ada.

With a fixed fee of 340 Ada you will lose too much of your rewards to fees until the pool size is over 10 million Ada.

2 Likes

That’s a reasonable point, of course, because the incentive would therefore be to minimize the pool size to 1 block / epoch, which would increase the number of fixed fees to an undesirable level.

As I said, one could add a factor that limits the whole thing so that the incentive for splitting the pools becomes smaller, but it is probably not practical in the end.

At the end it’s a painful truth, that pools with much lower than 10 M ADA will retire sooner or later resp. there is, besides regulation, no effective measure to limit “capsuled” staking by Exchanges and other financial vehicles.

1 Like

Yes, it is frustrating.

The real cost of running a pool is the cost of capital. That is the cost of obtaining enough capital delegated to your pool.

If you are an OG with a youtube channel and lots of mates with lots of Ada they got cheaply compared to today, then maybe…

Still, the multi-pool strategy annoys me because it is clearly against the Cardano design policy. It is clear from listening to Aggelos speak, and reading the research papers, and Aggelos’s writings, that running multiple pools is adversarial behaviour.

It would be better if the rest of the Cardano community recognised this and acted (staked) accordingly. It makes you wonder if we really value decentralisation enough.

2 Likes

Any chance you could provide the proposed rewards equation with a plot like CIP50? If you need any help let us know cause I’ll be the first to admit the equations are difficult and tricky.

I have to agree with @Terminada the likelihood is low for approval unfortunately given our experience but there’s a bunch of us passionate about revising the rewards equation and getting your idea down on paper documented is very important.

2 Likes

Yes, in principle I’d love to - there’s just been so little positive feedback so far.
Basically, I find the idea of changed funding in the sense of “each delegator pays the same for the operation of the pools” still very reasonable.
I’ll take a look at it and come back to your offer if necessary! (Is there perhaps a spreadsheet that can be modified?).

1 Like