CIP ? - Set minPoolCost to 0

I would prefer the minimum fee be reduced to 30 Ada because:

  • this doesn’t change the shape of the overall reward function
  • it revalues min fee to a similar USD amount compared with Shelley staking inception

See @Colin_Edwards post: Minimum Pool Fees (with a brief mention of K changes)

Given how difficult it is to model the effects of such changes, it might be safer to reduce min fee to 30 Ada.

I’d also offer:

  • Laziness, they don’t care. It could be that there is (or at least was in the last months) just nobody at IOG who is interested enough in this to help bring it forward.

  • Non-issue, since SPOs that small were never intended in the first place. In the game theory papers, SPOs with less than full saturation would quickly realise that it does not make any sense to continue running their own stake pool and that they should rather delegate to another pool. And that way, the whole system will quickly find the equilibrium of k pools.

But people don’t behave fully rationally. They want to run their own stake pool. And at least IOG’s marketing department is mighty proud of the thousands of stake pools. Proud enough to not say too loud that half of them is not producing any blocks and never will. … and that that probably won’t even change with this CIP implemented.

Decentralisation does not have to mean that everybody has to be able to run a stake pool successfully.

6 Likes

Checkout my other CIP RobinHood (CIP RobinHood - Tune parameters minPoolCost and K). It defines a tipping point, which is when a pool starts to offer decent rewards. With a minPoolCost of 30, the tipping point is about 3MM. An operator would need about 3MM pledge to buy-in to decent rewards. Contrary to my own CIP, decent rewards aren’t good enough. Rewards need to be better for delegators to consider switching pools. A new pool would need about 5MM pledge to offer better rewards than a saturated pool with no pledge.

This means any pledge less than 5MM is worthless unless the pool can FIRST become popular. Any pools with < 5MM pledge that fails to become popular will add to the statistic that pledge does not offer better rewards. These statistics are part of the reason pledge is currently believed to be meaningless or ineffective.


A minPoolCost, especially one so high, makes running almost any low stake pool profitable. If you are running a low stake pool as a n+1 pool, then ANY pool with > 0 delegated stake is profitable. A pool only needs to be online for a couple seconds to mint its scheduled block. If it can piggy back on another’s pool’s infrastructure (to remain on tip and hold peers) than the cost per additional pool is 0, but the reward is minimum 340 ADA/block. Removing the min reward per first block probably won’t cause many already live pools to close, since they can farm lost wallets indefinitely at no additional cost, but it should stop new pools from starting and gathering stake for this purpose.

Not enough people know this. Cardano was designed with a preferred level of centralization, k pools.

4 Likes

I’ve heard this idea of putting the CIP to a Catalyst vote to see if it passes, but for my edification can you explain what this looks like (or others)? Does one set the CIP-69? proposal to $0? Are you looking for a 51% approval rate, or just that it gets “funded”? Which category does it go in? Does this effect the outcome? Is it its own Category, like Ballot Questions? Is this a recommend process of community approval? Wouldn’t a 51% Voteaire or SundaeSwap vote work better (not all folks use Catalyst, in fact, the barrier to entry is quite high with the tools and tech savviness)? Should this process be proposed, approved, and documented somewhere even if temporary? Just my open thoughts on the process.

1 Like

I’ll work against having this happen.

Catalyst is a closed centralized system. There is no verifiable way to audit votes. A central authority could sabotage the vote and make it seems like the community voted against it.
(correct me if I’m wrong)

What will our options be if it seems like there is no community support?

4 Likes

I agree, I don’t know what the right answer is, but I feel it should not be Catalyst, it’s just one community of many, low visibility, and high UI/UX/Tech barrier of entry (as of Fund9).

Off the top of my head, it should be open source and on-chain, ideally promoted by CF itself(?), and possible with a pre-loaded (lottery or flat rate?) smart contract that pays you to vote like Catalyst? This would incentivize the promotion of voting (it does for me for Catalyst).

Maybe stake pools vote with their node like traditional PoW when P2P rolls out?

Maybe like Ergo GetBlok smart pools, a voting token based on hashrate is passed out (for us stake), or maybe 1 token per stake key.

Maybe we send the token to ourselves with a 1 for yes, or 0 for no somehow.

Maybe it should look like US States, congress for state population, and senate for each state?

I have no clue, but ideally it should be a CIP process, approved, and accessible to everyone with a wallet and internet (but not restricted by app stores, centralized cabal custodians, etc).

2 Likes

I support this draft CIP.

Lowering minPoolCost is long overdue. This is a low risk approach to help decentralization, or if not, can be just as easily set back. This is a step in the right direction to remove central planning to free market competition. Recommend considering the rate of decreasing min fee to 0 (over how many epochs?). Adjusting one stake pool rewards parameter at a time is low risk, quantifies impacts without the convolution of adjusting 2 parameters at once, has small pool populist support and most likely to pass among other adjustments. Also, it can help break the barrier that upon CIP approval and super majority, that parameters are meant to be adjusted since time of inception. Well done.

Comments

  • Specification, plan to zero minPoolCost, is there a recommended rate? 340 to 0 in one epoch? Over several? (I personally like the Monad approach, advocate for an aggressive incremental decrease for unknown unknown risk mitigation). Also recommend highlighting this parameter won’t be deleted, just set to zero, might be the make or break to make people feel safer (as observed from twitter space debunking, and unlike param d).
  • Motivation, include table or chart with quantifiable metrics comparing pools I would personally like to see a table or chart here comparing a few select pools and the numbers to further illustrate and robust the point you are making here. Could be fake pools, based on real numbers. Could even reference CIP-50? charts. Could compare one pool with high pledge and low leverage making 1 block, and a low pledge high leverage pool making 10+ blocks (something drastic to help prove the point visually).
  • Effects, “Stake pool desirability will become a function of pledge, performance, cost, and margin instead of only popularity.” Can you provide a quantifiable example to back this up, seems like an emotional argument that needs a number backing example. Recommend contrasting a real world example of a pool recently that has 500k pledge, 1% fee, 340 min fee, won a few blocks, had ~600 ADA rewards, collected ~346 ADA rewards, which is 57% income (note less real world expenses for revenue). You could contrast this with a low pledge, popular pool, which may win 50+ blocks at 1% and low pledge, and see a probably <5% take home income. This in a free market is not competitive to delegators of small pools.

Arguments For

  • Improves decentralization thru empowering small pools to make their own min fee costs decisions to break even or make a secured profit. From there, their goods and services can dictate further fixed or variable fee increases.
  • Decentralizes stake pool decision making power.
  • “Operators can lie about their costs while still gaining utility.” Great point, I would highlight that pools can use different services, levels of security, architecture, and geographic location to determine their own costs. Costs for someone running an Aramada Alliance pool on an ARM device with solar power and battery are very low (after hardware costs are paid off) as oppose to Binance renting server space for 30 pools as oppose to a Bare Metal pool in Armenia. A min pool fee is central planning that, if providing no security sybil protection, should be removed and allow the free market to dictate.

Arguments Against

These are common arguments against lowering the min fee to consider that will definitely be brought up (as observed in the twitter arena), that you should consider addressing in the CIP formally.

  • This will tank the network, a race to the bottom (lower small pool rewards is a disincentive; put it to a vote)
  • This removes the only remaining incentive to run a small pool (sh*t ain’t free, compete)
  • Security risk unknown unknowns? (can raise fees back)

My Personal Path Forward Recommendation

My personal recommended rewards equation path forward.

Short Term

  1. Lower minPoolCost in aggressive increments (lCIP-69?, least risk, individual CIP)
  2. Raise k to be 2-4x of k-effective (per @Michael.Liesenfelt recommendations), where k-effective is 51% of stake of pool groups (e.g. RAY is one group). (Individual CIP)
  3. (Before or after, lower a0, individual CIP?)

Long Term

  1. Hivemind Research, simulate, and test different reward equations with different assumptions than this legacy rewards equation (CIP-50?, @Michael.Liesenfelt)
4 Likes

I fully support this CIP.

IOG published the research, and it doesn’t include minPoolCost = 340 ADA. Proposals to change the rewards scheme such as adding minPoolCost = 340 ADA should require similarly strong theoretical foundations.

Long term, the CIP-50 research is our path forwards for new ideas that take into account more real world data and issues, not an arbitrary 340 ADA parameter shoehorned in.

2 Likes

I’ve modeled both outcomes, a low fee and a zero fee and they actually work fine - we are talking another decade before it would need to be revisited.

In part, this is because there are far more efficient ways to attempt network take-over attacks; no one is going to try to amass capital via pricing differences for stake pools. You can do this far more efficiently by offering non-ledger based rewards: for example, token drops for delegators or just off-line payments to SPOs.

If there was any actual security concern (as opposed to an only very theoretical one, where the window of opportunity passed about year ago), this would never have been suggested as a real alternative.

A 340 fee is already warping the economics though and has a more shorter shelf-life; in about two years it will be causing much wider problems as new issuance of tokens declines, this fixed amount represents a much larger portion of pool compensation.

While I don’t have any practical objects to the fixed fee being set to zero; there is a philosophic one. If this parameter were to be set to zero, it represents not just a rebalancing of parameters (which needs to happen periodically in sort of a ‘stay on course’ custodial fashion) to actually changing the rewards formula by removing a parameter - something that should happen with the wider consent of the community.

Having it go through a CIP resolves that concern.

My personal opinion is that a lower or zero fee results in smaller pools being able to compete against larger pools without being unduly handicapped. It doesn’t anything to resolve the structural issues around having significantly more demand for collateral than we have a supply of collateral.

Disclaimer: I am an analyst who works with commercial clients to help them understand blockchain. There is a large degree of separation between what I do and the teams that research and develop Cardano. I tend to get pulled into these discussions because I spend much of my time observing what is happening on chain (and in the wider markets); our research and development groups spend more time focused on future changes. The opinions here are strictly my own.

5 Likes

I think many pools operating in developing countries would close without the incentive of earning the 340 ADA minimum fee. Pledge is a huge barrier relative to pools operating in much wealthier countries. Costs are likewise relatively greater, compared to pools operating in much wealthier countries.

The effect of 0 minimum fee would be even more centralization to wealthier countries. That is antithetical to the intent of the CIP.

SUGGESTION: I think delegation to pool collectives (e.g. xSPO, Bare Metal Alliance, etc.) and then whales such as IOG, et al delegating to such recognized collectives should be implemented BEFORE reducing the minimum fee. That way, the potential increased stake should compensate for lack of increased pledge for pools operating in developing countries.

[Voluntary disclosure: CERP is bare metal, grid-tied solar operating in Thailand with 1,000 ADA pledge. Monthly running costs with solar offset included is ~USD$50, not including operator’s time. For perspective, monthly minimum wage is ~USD$300. So, running costs and pledge are disproportionately “HUGE” barriers. CERP is a pro-decentralization and not a for-profit operation, but recognizes and appreciates the unique challenges of other pools likewise operating from developing countries. CERP also recognizes and appreciates k is the goal. Keeping more than k operating is not the goal.]

1 Like

I’m with you on that, catalyst might not be transparent enough and other voting systems could be used.

The reason I suggested catalyst is solely to give IOG a mandate for the change.

At some point Voltaire will also have us make these kind of decisions, but for now we don’t have a proper system in place.

@KtorZ wrote a CIP that describes how stake pools could signal their support for parameter updates, but especially in this case SPOs probably shouldn’t have exclusive voting rights.

I think this was hinted at before by Kevin Hammond some time ago where he said that certain design decisions weren’t disclosed because they’d impose a security risk.

You’re saying the window of this theoretical attack opportunity has passed. Could you now go into details?

I suppose to solve this, more significant changes to the rewards formula are required. I think the main challenge is to keep the model resistant to sybil attacks while keeping the advantage of earning more RoS for large stake holders minimal.

Great thank you. I’m glad to see that idea came to be a CIP proposal.

1 Like

In my opinion, you are making a few assumptions about the effects of the 340 ADA minPoolCost that I do not believe to be true. For example: It is not the minPoolCost that makes “popularity the basis for pool desirability”, but many other factors (such as the ineffective a0 parameter setting) and the way that staking in Cardano is designed in generell.

I do agree that the minPoolCost Parameter needs to be lowered significantly or even go to zero. However, I would set a minimum variable fee in return.

If we just lower minPoolCost to zero, without setting a minimum variable fee, pool fees will have a race to the bottom, because the majority of delegators want to maximize their returns. The outcome of very little fees collected by stake pools for their service, will be that there is going to be almost no economic incentive to run a stake pool in the future, which is not desirable for Cardano’s security.

From my perspective, as a SPO of a small stake pool (~1.9MM ADA stake currently), a minimum variable fee would preserve economic incentive to run a stake pool, but it would make it still more desirable to delegate to a small pool than how it is currently, because delegators do not have the heavy burden of the 340 ADA minPoolCost on small pools’ rewards pots any longer.

Lets make a quick example calc.:
My pool validates two blocks in one epoch. One block currently is around 620 ADA rewards worth.
→ 2 x 620 ADA = 1240 ADA in the rewards pot for my delegators.
→ 1240 ADA - 340 ADA minPoolCost (and usually also the variable fee, but mine is at 0% currently)
= 900 ADA distributed to my delegators (with 1.9MM stake)

The 340 ADA fixed fee eats away a huuuge chunk of rewards for my delegators and causes my annualized ROA to be much lower than the ROA of a large pool.

If we set a minimum variable fee instead of let’s say 5% and zero minPoolCost the calc would look like this:
→ 2 x 620 ADA = 1240 ADA in the rewards pot for my delegators.
→ 1240 ADA - 62 ADA (min variable fee of 5%)
= 1178 ADA distributed to my delegators (with 1.9MM stake)

A min variable fee will actually make Cardano more egalitarian, because my ROA will actually be a lot closer to a large pool than it is now. Of course, I will have much less income as a pool from fees, but at least my ROA becomes much more attractive, because the punishment of the 340 ADA fixed fee is gone.

5 Likes

Pools only get the 340 ADA fixed fee if they get enough stake to produce blocks at all.

Currently, the incentive is very strong to not stake with small pools at all.

And: If the fixed fee works out for them, if their delegators do not care to earn a little less, they can still keep a fixed fee even with this proposal. It just removes the obligation for all pools to have this minimum fixed fee, not the right for every single pool to keep it nevertheless.

1 Like

Here’s a thread I posted on Twitter regarding only removing the min fee:

While I do think that ultimately the min fee must be removed, I think under current network conditions removing it would be ineffective and may even further hurt small pools. Here’s why:

Remove the min fee now and small pools will be forced to lower their fixed fee to zero to compete with other small pools. But with no change in k, delegations likely still won’t move and small pools don’t get anymore delegators, they just become less profitable.

The unfortunate truth is that small pools compete for the same group of delegators. Multipool delegators are a different group. If we want to move delegations from multipools to single pools, we must also increase k and oversaturate large multipools.

Increasing k will incentivize delegations to move and many delegators may reconsider their delegation. Furthermore, increasing k will force multipools to split pledge if they want the same leverage. So the resulting pools will be less attractive.

Add a fair pledge benefit (the current pledge benefit penalizes small pools) and decrease a0 to increase public pool rewards, and the network is much more egalitarian.

If you like these changes, this is CIP-75 Fair Stakepool Rewards.

I believe that we should thoughtfully change multiple parameters to find a better equilibrium point for delegations. Changing ONLY the min fee will not help much, imo. The damage of the min fee is already done.

We must change other parameters as well to undo the damage.

End of thread.
https://twitter.com/TobiasFancee/status/1583860527410728960?s=20&t=WmauWAk7njz7ig0YPzR-CA

So while I do believe the min fee should eventually be removed, I also think we should at least increase k as well to get delegations moving. I believe the changes I propose in CIP-75 would be the best option long-term (start at fairness and let the free market do the rest). In regards to CIP-69 (only removing min fee), the big question for small stakepools is: how many delegators are out there that aren’t delegated to you simply because of lower rewards? How many delegators will actually move from multipools to small pools if the min fee is removed? There are many stagnant delegations in multipools that simply will not move unless k is increased. Anyway that’s my 2 cents. If CIP-69 does go through, I think it should be reduced like d was epoch by epoch to reduce shock to the network.

3 Likes

Some interesting Twitter threads regarding the minPoolCost discussion:
https://twitter.com/thepizzaknight_/status/1584026440173252608
We have, in fact, discussed that paper a while back here in the forum:

No, it does not discuss or even prove a minimal pool cost, minimal fixed fee to be necessary. It just assumes that pools do declare an honest pool cost, fixed fee. And goes on to prove something else: That a saturation is necessary.

https://twitter.com/CryptoJoe101/status/1583787624459735040
Interesting take from the “We have to prevent race to the bottom.” angle. Probably true that most delegators are not very rational and do not at all behave like the game theory models want them to.

https://twitter.com/AllenWu29331265/status/1584123383964237825
And a thread arguing that it is actually a feature that small pools are not attractive to prevent attackers from starting thousands of attractive small pools.

4 Likes

I often wondered, what exactly was the extra security offered by the min fixed fee that couldn’t be gained from the already existing economic parameters? Thinking about it now, the founding entities knew that they couldn’t rely on being able to tune the k parameter at the release of Shelley. There were likely worries about if network performance would hold up under significantly larger k, not to mention the economic problems of increasing k too high relative to the price of ada at the time, meaning it was probably assumed k couldn’t be increased far beyond 150.

This is a real problem, because with k at 150 you have a saturation point of around 200m ada, virtually no one can pledge a significant enough fraction of that amount to offer better rewards than a 0 margin 0 fee pool. This would mean there is a possible security risk to an entity securing a large percentage of total stake by running many 0 pledge pools at 0 margin and 0 fixed cost and offering competitive or even better rewards than most of the competition.

With the best option to combat this attack (increasing k) off the table, something else was necessary in the meantime. Enter the min fixed fee, the creation of which was probably viewed as the lesser of two evils compared to relying on increasing a0, it would help ensure that a sybil attacker could not run many nodes at a loss to secure stake. The assumption was probably that once the network and price of ada were strong enough, k could be increased and the min fixed fee could be removed.

It perhaps took longer than expected to reach this point. In the meantime, the min fixed fee was the most dominant force in the rewards calculation and only grew stronger as block rewards lessened. Norms formed around it (how could they not when it overwhelmed all other considerations?) that made it difficult to simply remove it. It probably became clear from SPO calls at the start of this year about increasing k and lowering/removing the min fixed fee that social consensus and buy in from the community was necessary, for many the min fixed fee had become more than a temporary security parameter. Which brings us to the present, with multiple CIPs from the community involving the min fixed fee and a soon to be announced proposal from the IOG/Cardano Foundation for the community to review. It seems at last it’s time for the community to weigh in.

3 Likes

It’s really just what I already described above, and in other posts. A fixed fee ends up being spread across all delegators; therefore small pools offer worse rewards than large ones. The effectiveness of that as a defense against a Sybil style attack depends on how fast delegation moves around. In the first couple of months after Shelley, that might have been a more realistic concern - less so now.

It’s highly theoretical because (a) the velocity of delegation is slow - this is an attack that could only be executed over decades, and (b) it can be more efficiently executed by other mechanisms (like directly sending delegators tokens.)

It has a downside too - when set too high, delegators are motivated to stay in worse pools (economically) because the first mover would take the largest loss. In other places, like the Daedalus rankings, you can see the rankings try to account for this by displaying all pools as the same size.

While I agree, ledger rules changes need to go out on a hard fork and are conceptually handled by a different group of people (or at least people wearing different hats).

There are things that conceptually relate to “staying on course”
There are other things that related to “changes in direction”.

The idea that “no change can happen until every change happens” effectively means that “nothing can ever change”.

and besides, I can probably demonstrate to you while we model out why a suggestion of “All pools take 15%” - with no way to change that number - might be preferable to a minimum percentage. You could be judging pools on how good they were doing block production rather than who is offering the highest discounts.

The point though:
The problem space of “where else can we go?” is unbounded, we can go anywhere. It involves researchers, economists, philosophers, developers, project managers, technical writers, a test net and an operations team.

The problem space of “how do we stay on course?” is highly limited, it has a clear metric, a change that can be made at epoch boundaries. It is just a custodial function, where someone in a stewardship position can make the change.

2 Likes