Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CIP-ShawnMcMurdo-FairMinFees #66

Merged
merged 3 commits into from
Jul 20, 2021

Conversation

shawnim
Copy link
Contributor

@shawnim shawnim commented Feb 12, 2021

No description provided.

@kevinhammond
Copy link
Contributor

The proposal includes a good economic analysis. As @shawnim suggests, changing the value of the minimum pool fee in line with changing fiat values makes economic sense. 50 ada is roughly equivalent to the original fiat value of this setting, which was based on information that was provided by early pool operators. The setting does interact with pledge to activate Sybil protection, so has some security implication, and this needs to be quantified before a decision on the actual value is taken. Intuitively, reducing the minimum fee to 50 ada should not be a major concern given the current state of the network, but care needs to be taken if the parameter is lowered close to zero. The proposed change to the influence factor formula (in a separate CIP) would alter the security analysis slightly (it should support lower settings of this parameter).

The proposed new minimum variable cost parameter also seems sensible. If adopted, it would need to be included in the development plans for a new protocol version. It wouldn't be a technically difficult change, but would need some "plumbing" from the CLI/genesis file to the ledger implementation (analogous to the minimum pool cost).

I will make sure the IOG team sees these proposals.

@shawnim
Copy link
Contributor Author

shawnim commented Mar 9, 2021

@kevinhammond Thanks for the thorough response!
Also, I appreciate you bringing this up internally at IOG.

@crptmppt
Copy link
Contributor

@kevinhammond any updates on this research / who should be tagged from IOG?

@chbfiv
Copy link

chbfiv commented Apr 3, 2021

Is there a way to "kudos" or "vote" on CIP's? (I would +1 this one)

@kevinhammond
Copy link
Contributor

kevinhammond commented May 4, 2021

This has been raised for discussion at the IOG Chief Scientist's Meeting next week. We will report back with comments and suggestions after that.

@Colin-Edwards-IOHK
Copy link

I personally really like the proposal; it's a model change so needs to be reviewed by our researchers, but the economics of it make sense to me. +1 for this CIP. ;-)

@DanTup
Copy link

DanTup commented May 16, 2021

@kevinhammond

This has been raised for discussion at the IOG Chief Scientist's Meeting next week. We will report back with comments and suggestions after that.

Was there any update on this?

@crptmppt
Copy link
Contributor

crptmppt commented Jun 8, 2021

This was discussed at the last Editor meeting (23), please refer to the notes.
The Current Consensus is that if the main Author (@shawnim) is fine proceeding (with the understanding that there is no expectation of implementation) this should be good to merge in the repo. (this is still being reviewed, but the CIP itself should be fine as a draft (needs a rebase)

@kevinhammond
Copy link
Contributor

There is a planned blog post from the IOG researchers that covers all issues to do with fees. This has not been released yet but please check the IOG Blog Posts. The team is sympathetic to maintaining a fair and consistent fee structure.

@DanTup
Copy link

DanTup commented Jun 24, 2021

Are there any updates on this or ETA on when there may be more info? (I saw the Stable Fees blog post, but I don't think it really addresses this issue).

Between the min fixed fee and Daedalus ranking anyone outside of K as "expected rewards: 0" is incredibly difficult to get delegators as a small pool. I have a 0% fee, 40k pledge between owners, 18k additional stake from a friend and donate 30% of pool+owner rewards to charity. After many months, I still have zero other delegators, and honestly I probably wouldn't delegate to myself if it wasn't my pool as thing are.

The large minimum fixed fee (over a third of the block reward for a pool producing <= 1 block per epoch) artificially prevents small pools from competing with large pools offered delegator rewards. The playing field is far from fair. Switching to a min variable fee instead would at least allow a small pool to accept a smaller fee at the start to offer rewards closer to those of big pools, which would help encourage people to delegate to them.

@crptmppt
Copy link
Contributor

There has been a related blog post pushed by IO regarding fees on June 10th here.
This PR should likely be merged shortly since author is fine moving things forward from here - as disclaimer recall that merging does not imply that it will be implemented, but you can draw the parrallels with the blog pushed out..

@DanTup
Copy link

DanTup commented Jun 24, 2021

@crptmppt I saw that post, but it sounds like that's some way off, and isn't really the same thing described here (switching from min fixed fee to min variable fee to have a more level playing field).

A big reduction in min fixed fee would certainly be a step forward, but so far it feels like the can is just being kicked down the road whenever asked (it's been asked in many SPO calls). It would be great if there was a little more transparency around this - I see small pools retiring all the time 😔

@crptmppt
Copy link
Contributor

@DanTup - I'll be wrapping up the notes from the last Editors meeting in 12 hours when I wake up - there are minor allusions to that pr or periphery - that a CIP has no guaranteed implementation path beyond getting an implementer (IO) choosing to implement it is also a choice by design. So the CIP framework is solely a visibility mechanism, not a control structure. I believe this PR is going to be merged next week from recent conversations - but as mentioned in the last 6/8 editors meeting the research was looking at it and some edge considerations were not satisfactory to the team (and so some other flavor of fees that will impact incentives might be preferred). Thanks for your patience and adding to the conversation!

@DanTup
Copy link

DanTup commented Jun 24, 2021

Understood - it was really an update on the research and specifically merging of this PR I was curious about. It's often mentioned in the SPO calls that this being looked at, but there is very little visbility for us outside so we don't know if anything is progressing. It seems like a big issue for small SPOs - they're coming up with all sorts of novel ways to pay fees back, but anything off-chain is hard for delegators to see, and requires trust.

It's not clear to me if there's somewhere for SPOs to really be heard about issues like this (beyond raising it on SPO calls or posting here), or to lend weight to other peoples issues/ideas to show what's important to them.

Thanks!

@shawnim
Copy link
Contributor Author

shawnim commented Jun 25, 2021

I would like to know more about the statement "some edge considerations were not satisfactory".
If IOG has identified situations where this proposal is worse than the current problematic situation it would be good to know about that.
Also, if IOG is fundamentally dismissing this proposal it would be appropriate to have some reason that can be fairly evaluated.

@@ -0,0 +1,150 @@
---
CIP: ?
Copy link
Contributor

@crptmppt crptmppt Jun 25, 2021

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

0023 (tentative)

@rphair
Copy link
Collaborator

rphair commented Jun 25, 2021

I would like to know more about the statement "some edge considerations were not satisfactory".
If IOG has identified situations where this proposal is worse than the current problematic situation it would be good to know about that. ...

@shawnim at the last meeting, beyond what was minuted here after your last comment: https://github.com/cardano-foundation/CIPs/blob/master/BiweeklyMeetings/06-08-2021.md#Followups

... some of the smaller SPOs had pointed out that the currently obligatory minimum fee of ₳340 is essential to their livelihood and/or balancing their operating costs. The term "race to the bottom" was mentioned in the context of a zero minimum fixed fee, since zero would effectively become the new obligatory value. Hence some small pool SPOs are for it and some are dead set against it.

It sounded like @kevinhammond also had other "edge considerations" in mind: this is just the one I can personally confirm from ongoing contact with the SPO community.

@DanTup
Copy link

DanTup commented Jun 25, 2021

some of the smaller SPOs had pointed out that the currently obligatory minimum fee of ₳340 is essential to their livelihood and/or balancing their operating costs.

This makes no sense. A small SPO could set their variable fee such that they get exactly the same income as they would with the 340 fee based on their delegation, and it would provide exactly the same return to their delegators.

The term "race to the bottom" was mentioned in the context of a zero minimum fixed fee, since zero would effectively become the new obligatory value. Hence some small pool SPOs are for it and some are dead set against it.

I keep hearing people say this said, but the the request is not to remove fees, it is to change from a minimum fixed fee to a minimum variable fee. There can't be a race to zero if you can't have zero.

In my eyes, the only thing this fee does is prevent small pools from being able to compete with big pools for delegators. The more resistance I hear to this issue, the more I believe it's coming from big established pools, not small pools. There seem to be a lot of things that skew in favour of big pools (like the rankings in Daedalus, the delay in increasing K), and I'm certain I'm not the only small pool likely to throw the towel in if this continues to be the case 😞

@NASEC-Alex
Copy link

Working with a group of small pool operators within the community I cannot understand how this could be in any way worse than the current situation nor do any of the pool operators I work with closely.

If the Cardano Foundation is able to, please provide a list of small Pool Operators that have spoken against this CIP. I find this difficult to believe or understand that there could be many pools considered and I believe I could achieve a larger signed petition against what you have been led to believe.

Yes the 340 ADA fee is beneficial to fund the running of the pool but it is focusing the majority of delegation in the hands of the few nearly saturated pools. We need to encourage wider delegation to move away from these pools for the sake of decentralisation of block production.

@Colin-Edwards-IOHK
Copy link

Colin-Edwards-IOHK commented Jun 25, 2021

Notes on Setting the Fixed Fee to zero

This is a summary of the feedback I have received regarding min_pool_fee. It does not represent a unified view of researchers from Input-Output or the Cardano Foundation. This note might end up need to be moved into a separate CIP as setting the fixed fee to zero can be done on any epoch boundary, while adding support for a minimum variable fee is a hard-fork.

Summary

The current implementation of a minimum fixed fee is problematic for many reasons, detailed below.

The open question is whether the benefits of a minimum fixed fee outweigh the governance considerations. Much of the feedback conceptually represented a preference between two approaches:

  • a more active role for an executive function to more proactively maintain system parameters such as this one
  • a more distributed community consensus using a supply/demand equilibrium (which is prevented by the minimum fee)

Background

The min_pool_cost is the parameter that defines the minimum price level within the system. It is specified as a fixed amount of Ada that is taken from the pool rewards and given directly to the SPO. This fee was initially intended to represent the operational costs of pools but has not been maintained, so that relationship no longer is true.

At the current settings, pools of less than 10 MM Ada will be unable to return any rewards to delegators within 4 years, effectively becoming private pools.

The topic is highly controversial in that the min_pool_fee currently represents 70% of all fees paid to public SPOs and that percentage is increasing over time.

Denominated in a volatile asset

The min_pool_cost is denominated in Ada but intended to represent real-world costs. This creates a natural drift over time due to moves in the price of Ada. Given the price appreciation of Ada in 2021, this minimum level is now many times the originally intended value.

Does not work well over time

The statically defined minimum level does not naturally evolve over time. As rewards decrease, any fixed fee represents an ever increasing portion of the rewards. While this is not in itself problematic, the inability for SPOs to rebalance the rewards for a pool will increasingly constrain the ability for pools to differentiate themselves economically.

For example, by 2025, pools with less than one million Ada would be unable to share any rewards with delegators at all, and even now these costs represent a variable fee of more than 50% (making them highly unattractive for delegation.)

Prevents Market Consensus

The presence of a minimum price prevents a free-market supply/demand equilibrium from being reached, much like a minimum wage. While the value of a minimum wage is beyond the scope of this argument, one key element of any minimum wage system is that someone has to be responsible for determining and maintaining the right levels.

Active Governance

As a consequence of the three previous points, a minimum fee level needs to be actively maintained and it's very presence means that distributed market price can not be used exclusively. Much like minimum wage in real-world economies, some group needs to be responsible for maintaining an appropriate level on a regular basis. If left to drift for extended periods, the minimum fixed fee will no longer remain fit for purpose.

Setting the minimum to zero removes the need for that governance function to maintain this parameter.

Hard to Compare

The minimum fixed fee makes it difficult to compare different stake pools as the impact changes based on pool size and over time.

For example,
In Epoch 272, for a 10 MM Ada pool, the 340 minimum fee represents the same cost as a 5% percent variable fee.
In Epoch 272, for a 50 MM Ada pool, the 340 minimum fee represents the same cost as a 1% percent fee.
In Epoch 272, for a 1 MM Ada pool, the 340 minimum fee represents the same cost as a 50% percent fee.

In epoch 211, for a 10 MM Ada pool, the 340 minimum fee would have represented only a 4% percent fee.
In epoch 600 (Dec 2025), for a 50 MM Ada pool, the 340 minimum fee will be equivalent to a 10% percent fee.
In epoch 600 (Dec 2025), for a 10 MM Ada pool, the 340 minimum fee will be equivalent to more than 100% percent fee.

"Race to Zero" Variable Fees

An unavoidable consequence of having a very high fixed fee is a significant pressure on the fee that can be set to zero: the variable (or percentage based) portion of the rewards. While this could potentially be reduced by more active adjustment of the minimum fee, it is a concerning side-effect of the current unmanaged approach.

Incentivizes Bad Behaviour

While the discussion of certain ranking systems is beyond the scope of this CIP, ranking mechanisms such as the "non-myopic" rewards do not account for differences in the pool size when considering rewards. This causes some less optimal outcomes such as being able to split a large pool into two smaller ones, to take advantage of receiving a higher fixed fee twice, with no material loss in ranking. This again might be addressable by more active management of the minimum fixed fee by a governance function, it is symptomatic of the current unmanaged process.

@Colin-Edwards-IOHK
Copy link

While not part of my notes on the minimum fixed fee, a minimum variable fee in contrast:

  • scales properly over time
  • scales properly with volatile asset prices
  • as a result of the above two points, does not need active governance
  • also a result of the initial two points, is arguably easier for delegators to compare and understand

@shawnim
Copy link
Contributor Author

shawnim commented Jun 25, 2021

Thanks for the comprehensive analysis @Colin-Edwards-IOHK !
I would like to clarify that this CIP does not remove the minimum fixed fee.
It reduces the minimum fixed fee from 340 ADA to 50 ADA.
This is a short term fix for the current problems until we have stablefees, more active management or the minimum fixed fee is set to 0 for the reasons that Colin ment
ioned.

@nilaysaha
Copy link

Absolute non-sense argument. Just look at the numbers which has been spit out by this proposed changes. The change basically ends up paying the larger pools 10 times more rewards than the smaller pools, while their cost is essentially the same. And this essentially sends message to the smaller pool to get lost and kill themselves. And this effect gets aggravated as the price of ADA increases.

Most of the pools have a particular set of loyal delegators who stick around a particular cause and this change basically ignores that fact, and punishes the SPO and hands over the control via increased rewards to the larger SPO by giving them 10-20 times more rewards for no obvious reasons.

So decentralization eventually means having handful of large pools and killing off all small operators. It is a race to minimum wage and this will destroy the entire ecosystem.

@DanTup
Copy link

DanTup commented Jun 26, 2021

Absolute non-sense argument. Just look at the numbers which has been spit out by this proposed changes. The change basically ends up paying the larger pools 10 times more rewards than the smaller pools, while their cost is essentially the same.

Can you elaborate? This proposal does not reduce any pools fees, it changes the minimums they are allowed to charge.

Today, small pools are forced to charge the delegators massive fees compared to large pools (whose fixed fee is spread between a large number of delegators and therefore has a tiny impact), making them far less competitive. Reddit is full of small pools coming with all sorts of ways of paying the fixed fee back to their delegators with NFTs, lotteries and other sharing.

I don't believe for one minute that any small pool would be worse off with this minimum being removed, unless what they really mean is "I don't want other pools being able to undercut me", in which case I'd ask why large pools are allowed to stop small pools even being level with them without this change?

@crptmppt
Copy link
Contributor

crptmppt commented Jun 28, 2021

6/8 Editors meeting (24) discussed this PR - see notes. (conversation might be ahead of meeting notes at this point, this is a reference)

=> @shawnim confirmed he would like to see this PR merged / adding it as "Last Check" to tomorrow's CIP Editors Meeting (25)

@crptmppt
Copy link
Contributor

crptmppt commented Jul 7, 2021

6/29 Editors meeting (25) discussed this PR - see notes. (conversation might be ahead of meeting notes at this point, this is a reference)

=> PR to be merged as CIP-0023 (Draft) shortly
(as noted repeatedly, merging does not imply future implementation or agreement, but facilitates conversation with implementers and the community)

@DanTup
Copy link

DanTup commented Jul 8, 2021

In the meeting notes it says:

the min fixed fee can be done any time but would be too early without also imposing a min variable fee

I think that's what some of the SPOs were worried about, as a kind of "race to 0"/bottom

Is there any more information on what drives these viewpoints? They keep being repeated without much explanation. Why can't it be a free market, why does there need to be a floor? There are large pools with high fees that have plenty of delegators, so what is there to suggest that if small pools could have lower fees everyone would abandon the large pools?

AdaPools had a Delegation Trend chart that shows that every epoch more delegation moves from small/medium pools to large pools:

https://adapools.org/delegation-trend

PoolTool publishes a graph showing the expected ROI that shows how bad it is for small pools.

Screenshot 2021-07-08 at 18 30 00

It feels like this can keeps being kicked down the road. If a variable fee is a requirement to lower the fixed fee, can we assume that it's unlikely to happen in the next 6 months due to Alonzo etc.? If so, it would be nice to know sooner rather than later, as it would likely make me reconsider whether it's worth continuing my pool 😔

Copy link
Member

@KtorZ KtorZ left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As discussed, happy to see this merged as a draft CIP. To be discussed further with the research teams as for feasibility in terms of possible implementation in the core node.

Copy link
Contributor

@dcoutts dcoutts left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a plausible, well-explained proposal.

@crptmppt crptmppt merged commit 781fcc8 into cardano-foundation:master Jul 20, 2021
@DanTup
Copy link

DanTup commented Jul 24, 2021

Should this CIP be visible on https://cips.cardano.org/ ? I can't seem to find it there.

@crptmppt
Copy link
Contributor

crptmppt commented Jul 26, 2021

@DanTup it is - check out https://cips.cardano.org/all/

Landing page on cips.cardano.org is building from the readme... this will be updated when notes are merged in tomorrow!

@DanTup
Copy link

DanTup commented Jul 29, 2021

@crptmppt ah, thanks - I had missed that :-)

(although it's now on the homepage too - thanks!)

rphair added a commit to rphair/CIPs that referenced this pull request May 24, 2023
KtorZ pushed a commit that referenced this pull request May 30, 2023
…517)

* top README: meeting #66 promotions + deprecations plus a couple we missed

* CIP-0086 was promoted in prior meeting

* update with current date

Co-authored-by: Ryan Williams <[email protected]>

* update date stamp on deprecation list + add date stamp to candidate list

---------

Co-authored-by: Ryan Williams <[email protected]>
Ryun1 added a commit to Ryun1/CIPs that referenced this pull request Jul 28, 2023
…e CIP promotions (cardano-foundation#517)

* top README: meeting cardano-foundation#66 promotions + deprecations plus a couple we missed

* CIP-0086 was promoted in prior meeting

* update with current date

Co-authored-by: Ryan Williams <[email protected]>

* update date stamp on deprecation list + add date stamp to candidate list

---------

Co-authored-by: Ryan Williams <[email protected]>
Ryun1 added a commit to Ryun1/CIPs that referenced this pull request Nov 17, 2023
…e CIP promotions (cardano-foundation#517)

* top README: meeting cardano-foundation#66 promotions + deprecations plus a couple we missed

* CIP-0086 was promoted in prior meeting

* update with current date

Co-authored-by: Ryan Williams <[email protected]>

* update date stamp on deprecation list + add date stamp to candidate list

---------

Co-authored-by: Ryan Williams <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.