Is it smart to change the incentive model of Cardano?
CIP-69 proposes to reduce the minPoolCost parameter to 0. You can find enough good arguments for and against. Let's see what a possible reduction of this parameter to 0 would mean and what it should be compensated with. TLDR:...
CIP-69 proposes to reduce the minPoolCost parameter to 0. You can find enough good arguments for and against. Let's see what a possible reduction of this parameter to 0 would mean and what it should be compensated with.
- Pool operators can set 3 parameters that affect rewards. There are 2 protocol parameters that have a major effect on the rewards.
- We should focus mainly on the quality of network security and the reward system is a tool to achieve it. Economic incentives influence the behaviour of actors and their behaviour must not compromise network security.
- Operating a pool must remain an attractive and profitable business.
- If we allowed pools to be operated without getting at least a minimal reward, we might help smaller and upstart pools, but we risk a race to the bottom.
- The desirability of the pool can currently be achieved by the popularity of the pool operator or by attractive parameter settings.
- It is possible to set minPoolCost to 0, but we should introduce the minMargin parameter and set it to at least 2%.
Basic overview of parameters
Understanding the topic requires knowledge of other parameters and a basic understanding of the principles of the reward system.
In the Cardano network, the reward system is not fixed, but parameter-driven. Pool operators have three parameters they can set at their discretion to influence their rewards:
- Pledge allows controlling an amount of ADA coins intended to remain staked to the pool for as long as it operates. The Pledge is provided by the pool operator. It can be considered as its own skin in the game.
- Fixed cost is a set fee deducted from the pool’s reward to cover the pool’s operating costs. The current minimum is 340 ADA.
- Margin is the percentage of rewards taken by the stake pool operator after the fixed cost but before the rest of the rewards are distributed to delegators.
The proposed change concerns the fixed cost, which is affected by the minPoolCost parameter that defines the minimum. Currently, the minPoolCost parameter is set to a minimum of 340 ADA. Most pool operators leave this parameter at its minimum and do not change it regardless of whether it is a bull or bear market. Pool operators use the pledge and the margin parameters to influence the size of their rewards. However, they do not often change these parameters either.
Cardano has two protocol parameters to prevent centralization. Namely parameters k and a0:
- The Saturation Parameter (k) controls the prefered number of stake pools in the network. The current value is set to 500. It means that the maximum rewards can be achieved when there are exactly 500 pools that are saturated and their performance is 100%.
- The Pledge Influence Parameter (a0) adjusts rewards to reflect the pool’s percentage of pledged tokens. It aims to create incentives for pledging more ADA coins to a single pool, rather than splitting it. This promotes decentralization by encouraging large operators to control fewer pools with a high pledge, rather than many pools with a low one.
At the time of writing, there are over 3,000 pools registered, so reaching 500 fully saturated pools, each ideally managed by an independent operator, is an unattainable goal. Each pool gets rewards based on how big its stake is. The ideal stake is just before the saturation point. The bigger the stake, the more blocks the pool mints and the higher the reward. If a pool becomes the slot leader and does not mint a block, the reward is reduced. You could say it's a form of penalization. Cardano protocol does the following when calculating rewards:
- Subtracts any penalties for poor stake pool behaviour (missed blocks, over-saturation, etc).
- Adjusts rewards to reflect the pool’s percentage of pledged coins using the a0 parameter.
- Pays the pool operator the fixed cost.
- Pays the pool operator the margin.
- Distributes the remaining pool rewards proportionally, based on the stakes of delegators and the stake pool operator.
Let's look at the differences in rewards for a nearly saturated pool and a small pool that is able to mint a single block per epoch. In both cases, the fixed cost is 340 ADA. The large pool has a margin set to 2%, while the small pool has a margin set to 0%.
Consider a pool whose stake is 61M, the operator's pledge is 500,000 ADA, and the pool had a luck of 112% in that epoch. This pool minted 59 blocks. The reward per block is approximately 612 ADA, so the pool received a reward of 36,180 ADA. The operator received 1,350 ADA (the fixed cost is 340 ADA, and the margin is 1,010 ADA) and the delegators split 34,800 ADA proportionally. The ROA is 4.2%.
Now let's look at a small pool whose stake is 1.1M ADA, the pledge is 50,000 ADA and the pool had 102% in the lucky epoch. The pool received a reward of 612 ADA (equivalent to a reward per block). Pool operator gets 352 ADA and delegators get 260 ADA. Note that the pool operator got a larger reward than the delegators, so the ROA is only 1.7%.
The biggest argument for setting minPoolCost to 0 is that small pools with a stake of around 1M ADA are less attractive to delegators, as they have to charge 340 ADA from total rewards. This is more than 50%. Delegators naturally want to maximize their profit, so they delegate to larger pools with higher ROA.
Finding the balance between decentralisation and egalitarian distribution
First of all, it is important to note that in the case of decentralized networks like Cardano, we should focus mainly on the quality of network security. The reward system is a tool to achieve high security. Creating an egalitarian system is certainly an important but secondary goal. Economic incentives influence the behaviour of actors, especially pool operators and delegates, and their behaviour must not compromise network security. All should be concerned that the network, through the reward system, encourages honest behaviour and prevents byzantine ones.
We certainly should not allow a situation where it is possible to run a pool and not get any reward for it. Running a pool is a financially and time-consuming activity. Operators are naturally looking for ways to be rewarded. If it were not through rewards from the Cardano protocol, operators could sacrifice reputation or network security and seek fraudulent ways to monetize their activities.
Getting a fair reward directly from the Cardano protocol is and always will be the best way to create a decentralized network since the protocol decides the rewards based on its own needs. All other ways may lead to more centralization and third-party control.
For operators, operating a pool must be an attractive and profitable business. By inappropriately setting parameters, we must not get into a situation where pool operation becomes unprofitable. It would mean that it pays for pool operators to cheat. They may be more inclined to participate in MEV attacks or to sell the signing keys. Owners of profitable businesses tend to maintain their position long-term. That should be our goal.
If we allowed pools to be operated without getting at least a minimal reward, we might help smaller and upstart pools, but we risk a race to the bottom. Operators could be forced to reduce rewards (up to zero) to attract delegates. Some of them might like this situation as it would increase their profit. Pool operators and their nodes are responsible for minting blocks, not delegates. In the first place, the pool operators are entitled to the reward, not the delegators. Let’s never forget this. Delegates should not be able to force pool operators to reduce their own rewards to zero.
The current situation is favourable for the large pools, which have already established a good reputation and are trusted by delegates. We should try to build a system where people have equal chances despite not having so much money to put into the stake. It is important that the ecosystem supports competition between pools. Start-up pool operators should have the chance to compete with the current large pools. The question remains whether competition should be fought on the basis of a requirement to change key parameters.
So how to encourage small pools and thus more decentralisation without risking security?
Maybe we could increase the effectiveness of the pledge parameter. Pledge is a good defence against Sybyl attack, but it still puts relatively high economic requirements on starting pools. It is hardly conceivable that a starting pool will have a pledge in the hundreds of thousands of ADA. That's not the way to go. However, in the future, it would probably be reasonable to slowly increase pledge effectiveness.
The desirability of the pool can currently be achieved by the popularity of the pool operator or by attractive parameter settings. Not every pool operator can be a YouTuber, social media entertainer, or author of popular articles. It is definitely not desirable that only those entities that can be popular run pools. The requirement to change the parameters may stem from a desire to allow those entities that cannot or will not take the popular route to start a pool. Being able to start a pool anonymously without having to be popular is definitely a desirable state. Changing the parameters seems to be the only way out.
From a network perspective, the best operators are those that can deliver high performance and provide high pledges. As we said, a high pledge can be a barrier for new pools. Pools that are saturated with low pledges are undesirable, but not necessarily a risk to the network.
From our point of view, it makes sense to reduce the minPoolCost parameter to 0 and give pool operators more flexibility in setting their rewards. This would allow smaller pool operators to better compete with large pools and it could have a positive effect on decentralization. However, let's not forget that currently the parameter k is set to 500 and the number of registered pools exceeds the desired value by a factor of 6. Therefore, it is not the goal to have registered more pools at the moment. If there is a defined minimum reward, there is no risk of a race to the bottom.
If minPoolCost is to be reduced to 0, it would certainly make sense to introduce a minimum reward for the margin parameter. The question is how much the minimum should be.
It does not make sense for the reward to be significantly lower than the average cost of running the pool. If the minimum reward was set at 2%, the large pool in our example above would receive at least 723 ADA (currently $260) while the small one would receive 12.24 ADA ($4.4). That's 1,560 and 26.4 USD per month.
26 USD seems relatively small to us as a reward for running Cardano Pool. The question is whether it makes sense to set the minimum at, say, 10% since for saturated pools the minimum reward would be 3,618 ADA ($1,300), which was $7,814 per month. A small pool would get $132 per month, which is not much but we can imagine that someone would be willing to run a pool for that reward. The high volatility of cryptocurrencies is a risk factor for all blockchain networks. In a bear market rewards fall and in a bull market they rise. The difference can be as much as 10x.
When you consider that the value of coins has a major impact on the security of the network, it's not pleasant that a key feature of the network can be 10 times worse in, say, a year. PoW networks suffer from coin value drops a bit more than PoS networks, but it's still annoying.
It might make sense to set the minimum value for the margin parameter to say 5%. However, even this is not an ideal solution, as it could happen that many pools will have set the margin parameter at a similar value and the only deciding factor will be popularity or pledge. Currently, many pools have the margin parameter set to 0, 1, or 2%. You won't find many pools with the margin set to more than 5%. Seen through this lens, it would upset the current balance between pools.
If we want to keep having a minimum reward, set the current minPoolCost to 0, and at the same time keep competition between pool operators, it makes the most sense to create a minMargin for the margin parameter and set it low, like 2%. At the same time, the influence of the pledge parameter should be increased, so that pools with higher pledges should receive a higher reward. This arrangement could increase the chance of starting pools while increasing resistance to Sybyl attack.
Decentralization does not mean that anyone who wants to can start making blocks and get paid for it. Having skin in the game is an important factor, and we have nothing better than a financial investment. Pools should be run by professionals who dedicate enough time and have the technical knowledge to do so. They should be adequately rewarded for the quality of their work. The bear market is a difficult time not only for cryptocurrency users or fans but also for pool operators. It is in our interest that the best among us maintain their business and continue to operate pools.
It is difficult to strike a balance between decentralisation and egalitarianism. First of all, we should think about network security, i.e. high decentralization. A competitive environment is important. Cardano's decentralisation must grow in the future and we will want to have thousands of pools. Now the demand to become a pool operator is higher than the supply, i.e. that it is preferred by parameter k. It is definitely healthy to debate the parameters and possibly make a change. However, we have to do it very carefully. We certainly do not want to see a race to the bottom.
World’s First Multi-Token ISPO — By Genius X - Starts on 12th of September, epoch 363!
Genius X, a revolutionary launchpad and business accelerator helping Web3 startups attain speed, scale, and edge, is thrilled to announce the world’s first Multi-Token ISPO.I WANT TO KNOW MORE!