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-0050? | Pledge Leverage-Based Staking Rewards #242

Conversation

michael-liesenfelt
Copy link
Contributor

@michael-liesenfelt michael-liesenfelt commented Apr 5, 2022

Rendered Full Document

Improving decentralization is absolutely necessary for the long term health and growth of the Cardano ecosystem. The current reward formula has resulted in a stable but stagnant level of decentralization. With the benefit of hindsight over the last year the intent of (a0, k) has not resulted in the desired decentralization outcome. This CIP provides the justification, methods, metrics, and implementation for an improvement program to increase decentralization of the Cardano network.

The proposed reward equation retains the function of k for diminishing rewards based on stake and enforces diminishing rewards based on pledge leverage, L. The proposed equation enforces a set of principles to ensure stakeholders of dramatically different size can all achieve the same maximum yield. The yield ceiling feature prevents the formation of two classes of stakeholders and removes some of the benefits of centralization. The economic motivations of the largest stakeholders will be aligned with decentralization, reward diversification, fault tolerance, and ensuring the Sybil protection of the entire community.

Cardano Foundation CIP-Editors Discord : CIP-50 Topic Thread

Current Status:
2023 08 01 - CIP50 will be merged. The author (M.Liesenfelt) will not be pursuing an RSSv2 simulation suite publication because although the process merits a publication the solution, namely a negative RSS slope with sybil leverage limits, is a trivial solution.

2022 11 07 - The CIP-50 hivemind is leading the effort. It is up to us to create a comprehensive simulation suite, test a half dozen equations, and publish an independent RSS-revision-2 research paper.

Additional Resources:
Cardano Live #54 | Cardano Network Parameters with Dr. Michael Liesenfelt
Spicy Dumpling Show | May 6 2022 | CIP 50: Pledge factor and pool rewards

@KtorZ KtorZ changed the title CIP Liesenfelt Shelleys Voltaire decentralization update CIP-0050? | Liesenfelt Shelleys Voltaire decentralization update Apr 7, 2022
@michael-liesenfelt michael-liesenfelt changed the title CIP-0050? | Liesenfelt Shelleys Voltaire decentralization update CIP-0050? | Shelleys Voltaire decentralization update Apr 7, 2022
@hodlonaut
Copy link

I feel reducing k is counter-productive to the end goal of this CIP, while reducing barely-functional a0 over period of 10-30 epochs is akin to very slowly peeling off a painful bandaid (and again, not sure what problem it solves or tries to prevent).

@michael-liesenfelt
Copy link
Contributor Author

I feel reducing k is counter-productive to the end goal of this CIP

Reducing k would not be necessary. It would be nice to establish k based on k-effective though.

while reducing barely-functional a0 over period of 10-30 epochs is akin to very slowly peeling off a painful bandaid.

I agree. My implementation plan may be too slow.

@prometheus-pool
Copy link

I don't believe there is much justification present in this CIP for how it will benefit decentralization, even though that is a stated benefit in a few places referenced below:
"This CIP provides the justification, methods, metrics, and implementation schedule for an improvement program to increase decentralization of the Cardano network."
"The yield ceiling feature prevents the formation of two classes of stakeholders and removes the economic benefits of centralization."
"The only economic motivation remaining for groups with large stake including founder(s), founding organizations, exchanges, investment capital, trusts, and venture capital would be to secure diversification and enhance the value of the entire network by dividing delegation."

After the second statement, it may be useful to expand on why the yield ceiling "removes the economic benefits of centralization." As for the 3rd statement, I don't agree that the only economic motivation for groups with large ada holdings is to delegate it elsewhere, in fact there is another motivation that is specifically addressed by the linear pledge benefit up to pool saturation that you are proposing to remove.

The greater economic motivation is for whales to run their own pools, in this way they can avoid paying fees on delegating their ada as well as take a free shot at massive returns by becoming a stake pool mogul. Let's consider a whale with 100m ada and look at the hypothetical scenario in the "Recast of a0" section with a0=100 and k = 500 which would make a 680k pledge able to support a fully saturated pool of 68m. In this case the whale could run two max pledged pools and split the remaining ada between the two of them as delegation at around 49m each, this is already a +EV scenario over delegating this ada to other pools because now the whale doesn't have to pay fees on it. The real benefit however is now the whale can attract delegators by choosing fees significantly lower than the broader market since any additional delegators are a free roll. Delegators now have financial incentive to choose these lower fee whale run pools, and as these pools fill up the whale can simply rebalance the 100m ada to create additional max pledge pool with low fees. This process can continue for as long as the whale has the ada to open additional max pledge pools and the economies of scale from shared infrastructure means they can offer lower and lower fees.

In this CIP there exists no counter incentive to a whale becoming a pool mogul who runs as many low fee pools as possible. In the current system on mainnet the counter incentive comes from being able to earn higher and higher rewards as pledge increases all the way up to pool saturation, this linear benefit of pledge up to saturation means whales must face a trade off if they want to leave room open in the pool to attract delegators, they must forgo additional rewards they could have received by further increasing their pledge. Without this counter incentive there is increased centralization pressure for large pool groups run by whales.

I don't feel that this CIP currently demonstrates that it will lead to increased decentralization, the focus seems to be creating a more egalitarian reward distribution. I'm not convinced it achieves this since individuals who run stake pools and have large amounts of ada will have the potential for outsized returns compared to delegators in both the current system and in this CIP. This isn't so strange since delegating ada is a risk free investment, while pledging ada carries additional risk (sometimes significantly more depending on how you go about it). It's unclear to me that this CIP will fundamentally change this reward distribution paradigm but I do think it could significantly reduce decentralization due to the changing incentives for very large ada holders.

@michael-liesenfelt
Copy link
Contributor Author

I don't believe there is much justification present in this CIP for how it will benefit decentralization,

I will do a better job clearly describing expected decentralization outcomes for each aspect of the change.

it may be useful to expand on why the yield ceiling "removes the economic benefits of centralization."

I will clarify and explain.

I don't agree that the only economic motivation for groups with large ada holdings is to delegate it elsewhere, in fact there is another motivation that is specifically addressed by the linear pledge benefit up to pool saturation that you are proposing to remove.

You state 'in fact [...] addressed by the [current] linear pledge benefit' as if the current pledge incentive is effective and successful.

Currently 14.3B in stake has group leverage ratios exceeding 100 and seem to be demonstrating some level of highly leveraged Sybil behavior totally ignoring the current linear pledge benefit incentive. Community rewards are purposefully decreased by 23% to compensate a few large stakeholders (~1.25B) by 30% more (5.5% vs 4.25% yields). Currently Sybil behavior has no cost, no consequence, and is easily achievable. Skin in the game pledge is the proper mechanism for limiting Sybil behavior.

In this CIP there exists no counter incentive to a whale becoming a pool mogul who runs as many low fee pools as possible.

Currently the largest 'pool moguls' are Binance, Bison Trails / Coinbase, ADALITE, and 1PCT charging 6%, 5%, 3%, and 1% margin respectively on 5,765M stake with a total of 2M pledge.

Any extra incentive for one group with a decrease/penalty for another group will be discovered and exploited. My first principle is to treat everybody fairly from tiny starfish delegators (1-2k₳) to massive blue whales (>100M₳) and exchanges.

@prometheus-pool
Copy link

You state 'in fact [...] addressed by the [current] linear pledge benefit' as if the current pledge incentive is effective and successful.

You could certainly argue that the current pledge incentive at current protocol parameters is not effective enough, I'd be inclined to agree with you. An important distinction is that there exists a parameter with which to tune this incentive, while in your CIP whales will be able to offer unbeatably low pool fees compared to non-whales, as shown in my example in my previous comment, with no recourse available to relieve this centralizing pressure. Even if the situation in the current system could be better, removing this incentive opens the system to worse.

Currently 14.3B in stake has group leverage ratios exceeding 100 and seem to be demonstrating some level of highly leveraged Sybil behavior totally ignoring the current linear pledge benefit incentive. Community rewards are purposefully decreased by 23% to compensate a few large stakeholders (~1.25B) by 30% more (5.5% vs 4.25% yields).

In your proposed system with a0=100, 5 whales with 100m each could run enough pools to control all delegation while keeping the leverage ratio under 100. There is financial pressure toward such a system since, as I've shown above, it is in whales' best interest to do so and there is no parameter that can be tuned to counter this. While leverage is an important metric it is not the only metric to consider, and reduced leverage can be incentivized in the current system via parameter tuning.

Much of the 14.3B stake you reference is controlled by exchanges/custodial actors. If in your system you forced exchanges to put up 1% of their ada as pledge in order to continue running their stake pools then it's true that the leverage number you see on adapools or some other site would go down, but the real leverage hasn't changed a bit. The exchange is still in control of the ada that many individuals have purchased but haven't withdrawn from the exchange, the real leverage of exchanges can only be reduced by taking the ada off the exchange.

Currently Sybil behavior has no cost, no consequence, and is easily achievable. Skin in the game pledge is the proper mechanism for limiting Sybil behavior.

Sybil behavior does have a cost, it is paid in reduced rewards by the entire ecosystem, with the exception of the pool operators that engage in this behavior and private pools. As I said above, I'd be inclined to agree that based on the current state of the ecosystem it seems the cost should be increased.

Currently the largest 'pool moguls' are Binance, Bison Trails / Coinbase, ADALITE, and 1PCT charging 6%, 5%, 3%, and 1% margin respectively on 5,765M stake with a total of 2M pledge.

Binance/Coinbase are not the same as 1PCT, and they should not be conflated just because they both have high leverage. Exchanges have requirements to keep their ada liquid, making them unable to offer significant pledge benefit in the current system (this is a good thing). This means there is financial pressure for users to take their funds off the exchange and stake them with an operator who can provide better rewards. This is financial pressure to reduce the real leverage of the exchange which is more important than reducing a number on a website that doesn't tell the whole story.

Don't get me wrong, I would love to see the leverage of an entity like 1PCT be reduced, but I'm not willing to trade long term decentralization for that short term gain, especially when the parameters in our current system can be tuned to further discourage 1PCT's behavior.

Also the concept of 'pool moguls' that I laid out in my previous post is far more dangerous in your proposed system, where there is no parameter that can be tuned to make it increasingly costly for a large ada holders to control the stake pool market by offering fees that cannot be beat by non-whales.

Any extra incentive for one group with a decrease/penalty for another group will be discovered and exploited.

This is why parameters exist that can dynamically adjust incentives based on the current state of the system. By removing the linear pledge benefit to saturation the ability to adjust for whales becoming stake pool moguls has been removed. There will be a constant financial pressure for ada to consolidate into pool groups run by whales that can offer unbeatable fees.

My first principle is to treat everybody fairly from tiny starfish delegators (1-2k₳) to massive blue whales (>100M₳) and exchanges.

Correct me if I'm missing something, but there is no vast difference in rewards between delegators in the current system, generally everyone delegating ada is making about the same rewards or has the opportunity to. The difference in rewards you point to is between people delegating and people involved in running stake pools (like in your example of delegators vs fully pledged pools). Delegating is a risk free investment while running stake pools carries varying levels of risk, increased risk is often accompanied by increased reward. In your proposed system, people involved in running stake pools would still be able to earn significantly more in rewards than people delegating, just like the current system.

@michael-liesenfelt
Copy link
Contributor Author

You need a chart. Maybe this CIP needs a new section and chart.

The current reward equation creates an unbounded return opportunity for anybody who can grow delegation and collect fees without pledge. The proposed a0 leverage parameter enforcement provides the tunable parameter which limits the maximum ROIC of Sybil actors by limiting maximum delegation size.

Screenshot from 2022-04-12 12-43-47

As a0 is decreased maximum delegation size decreases resulting in less fee revenue and a lower ROIC.
Screenshot from 2022-04-12 12-44-10

@ResponsibleStaking
Copy link

ResponsibleStaking commented Apr 13, 2022

After reviewing the CIP the following comments came to my mind:

Calculation of effective K:

  • Looking at it logically a calculated effective K of 40 does not sound realistic in a world where >20% of stake is assigned to single pools.
  • I'm wondering if the calculation should be based on Fraction*K-Per-Pool instead of Faction/K-Per-Pool.
  • Also, the K-Per-Pool of >10000 for small pools does not reflect a realistic number as it includes a huge list of pools that are not minting blocks at all and thus should not impact K at all.

K in general:

  • Anyways I think K, in general, seems not to be relevant at all in the end.
  • It does not avoid centralization. It does hurt pools that want to stay single pools if K is increased.
  • In my opinion, we could just set it to a lower number which reflects our minimum understanding of good decentralization. Maybe in the 100-200 range. Small enough to avoid the artificial introduction of pools in MPO scenario and by that avoid unnecessary overhead.

A0:

  • I think it's not a good idea to call the new parameter A0 again.
  • Would feel more logical to give it a different name and get rid of A0, instead it can get very confusing.

Ad "The pledge yield boosting parameter"

Ad "A small pool advantage"

Ad "Path to Active"

  • It would be good to explain per step what is the expected result of the change
  • If we first remove the pledge factor. We are in a situation where sybill protection is not incentivized at all (incentivization is minimal today as well, but still this could be seen as critical)

Final thoughts:
I think the proposal will:

  • make pool splitting pointless -> thus reducing/avoiding multi-pools
  • allow small pools to be competitive, but only to a limited degree (just as much as they can afford)
  • could turn into a scenario where many small pools exist but are unable to grow without borrowing money
  • could tend to make Cardano even more capitalistic. Pool Owners with more pledge will be able to earn more. There is no way to bring stake to your pool by adding any other value, it's purely about the money you have. In the worst case, this will lead to more centralization on the long term (just like in the traditional financial system)

@prometheus-pool
Copy link

You need a chart. Maybe this CIP needs a new section and chart.

Graphs are useful tools but they often don't tell the whole story. The current system provides financial incentive against an unbounded return opportunity because operators that pledge can provide better rewards to delegators; this incentive can also be tuned in response to the current state of the system. While your system provides an explicit cap by removing the choice for delegators, the trade off is a financial incentive for whales to run multi pools at hyper low fees creating financial pressure for delegation to consolidate to the hands of a few whales. Judging by your chart these whales would make around 45% more in rewards than delegators at a0=50 1% margin.

@michael-liesenfelt
Copy link
Contributor Author

If I was a greedy whale with 6.5M I could comfortably spool up 6 nodes and 3 relays on a single 128GB ram 1U dual/multi IP server, pledge 1M to each of the 6 pools, set a 3% margin, and if I could manage to grow delegation to 300M the return on invested capital (6.5M) would be 10%. Obviously I wouldn't care at all about using the 'pledge incentive' to earn 4.4% yield compared to 4.2% yield. Then, I would add 128GB of ram to the server, fire up another 6 nodes, split pledge to 500k per node, and try to grow delegation to 650M for a 16% ROIC.

Screenshot from 2022-04-12 22-09-07

One day a nation-state may be a greedy whale so I currently prefer pledge enforcement to pledge incentive.

@prometheus-pool
Copy link

If I was a greedy whale with 6.5M I could comfortably spool up 6 nodes and 3 relays on a single 128GB ram 1U dual/multi IP server, pledge 1M to each of the 6 pools, set a 3% margin, and if I could manage to grow delegation to 300M the return on invested capital (6.5M) would be 10%. Obviously I wouldn't care at all about using the 'pledge incentive' to earn 4.4% yield compared to 4.2% yield. Then, I would add 128GB of ram to the server, fire up another 6 nodes, split pledge to 500k per node, and try to grow delegation to 650M for a 16% ROIC.

Of course the multi pool operator does not care about the pledge incentive they are losing, from their perspective if they can fully saturate an additional pool it will be worth the trade off financially. The more important perspective is that of the delegators, these are the people that shape what the system looks like. A 4.4% yield is around 5% more than a 4.2% yield, that difference is greater than the 3% margin the operator is charging in your example, so I would say it is significant from the delegator point of view. I feel the need to point out again that even if it were not viewed as significant by the average delegator, it can be adjusted to be more significant via system parameters.

If a pool operator wants to expand to more pools and increase her leverage, she must make her existing pool(s) less desirable by splitting her pledge, and she must sell this to her current delegators or risk them leaving. By continuing to split pledge she must reduce fees or her delegators face financial pressure to leave for competitors that provide better rewards. In your system this financial pressure does not exist, super whales will run pools that charge the lowest fees because there is no opportunity cost scenario where they pledge to saturation, their best strategy is to delegate to their own pools and open more as delegators come in for the low fees. This means a system that incentivizes centralization into the hands of a few super whales.

@brouwerQ
Copy link

So essentially your formula gives each pool a different ‘saturation point’ based on its pledge (still capped by saturation based on k). So pledge only determines how big your pool could grow, it doesn’t give you more rewards (for a certain stake) like with the current formula (those extra rewards are for most occurring pledges very low, but they do exist).

You’ve chosen 100 as a start value of your a0 (based on current k of 500). This means that any pledge above 680k is meaningless. There’re however dozens of public pools with already a higher pledge. So those actors still have an advantage to split pools, so the value should probably set lower…

So take e.g. a0 set to 50 which leaves only about two dozen public pools with higher pledge (did a quick search on adapools.org). Most pool operators want to earn something with their pool and be profitable instead of just covering costs. For that to happen (especially when min fixed fee drops considerably), you’ll need to have a chance of becoming one of the pools with high enough saturation (based on k). Let’s say 20M+ stake should be a reachable goal… But with a0 set to 50, that means that you’ll need at least 400k pledge for being able to reach that goal… Not a lot of pools will be able to reach this and a lot of SPOs will be very unhappy.

@michael-liesenfelt
Copy link
Contributor Author

I've been thinking about this and I don't disagree.

Prometheus-Pool : Also the concept of 'pool moguls' that I laid out in my previous post is far more dangerous in your proposed system, where there is no parameter that can be tuned to make it increasingly costly for a large ada holders to control the stake pool market by offering fees that cannot be beat by non-whales.

Introducing a slight correction factor may not treat large pool operators the same/equal to small pool operators. It could be seen as 'fair' to balance the ecosystem. What do you think about these curves in log scale and linear scale?

Screenshot from 2022-04-13 19-06-40
Screenshot from 2022-04-13 19-06-43

It would require one more factor though. a0 could be used as a linear diminishing reward coefficient combined with a separate pledge leverage factor, L. This example shows the following formula where a0 = 0.1 and L = 100.0 :

r( sigma , lambda ) = R * min{ sigma * ( 1 - a0 * sigma * k ) , L * lambda , 1/k }

What do you think team?

@prometheus-pool
Copy link

Introducing a slight correction factor may not treat large pool operators the same/equal to small pool operators. It could be seen as 'fair' to balance the ecosystem. What do you think about these curves in log scale and linear scale?

Well, I would say it is a bit less clear to me how this system plays out. It seems like the system may not converge to k stake pools, rather delegators may try to find stake pools with low saturation in order to earn better rewards, creating an equilibrium well above the chosen k. The difference between the maximum yield one can earn and the yield for max pledge at 100% saturation (5.5% - 5% = 0.5% in the above graphs) seems like it would be an important property of the system. This number seems almost like a bound on pool margin, if pools were to charge more than this difference then whales would have room to undercut using max pledged pools to attract delegation. It's possible a strategy is to run many pools at much lower than max pledge, since the system may seek equilibrium at 10*k pools at 10% saturation or something like that searching for higher yield.

It seems like the number of pools may be heavily influenced by the cost of running a pool relative to the value of ada. If pools are more expensive relative to ada then the system would converge to k pools, but if pools were cheap compared to ada then then the number of pools could grow very large relative to k in order to maximize rewards at lower saturation.

My initial take is this feels a bit unstable. It might not feel good from a delegator perspective, almost like you want to just find a pool by yourself and hope everyone stays away, or maybe find a small pledged pool that barely accommodates your delegation and then hope the pool operator doesn't add more pledge?

These are some thoughts/possibilities that occurred to me, but I'm less sure how this system plays out.

@michael-liesenfelt
Copy link
Contributor Author

Prometheus-pool : My initial take is this feels a bit unstable.

Agreed!

I can make equations for any possible reward curve shape we can draw, but people will know exactly where the bias exists and attempt to exploit it. Currently the pledge incentive is a bias with consequences shared in the proposal from 1.5 years of 20/20 hindsight. A simple flat egalitarian yield ceiling with pledge leverage enforcement for Sybil defense has a profound psychological effect: Stakeholders know there is no way to game the system for yield, either individually or collectively with governance, and pledge is absolutely mandatory for PoS. Everybody won't try to become like Wave Financial, Binance/Coinbase, 1PCT, or 'New Person unknown whale'.

Bitcoin/Nakamoto wanted everybody to be able to generate block lottery tickets equally anchored to an energy cost, however they had a blind spot to the capabilities and economics of ASIC semiconductor manufacturing and global energy market differences. Bitcoin has earned a terrible Nakamoto coefficient of 4. Without any engineered bias Cardano decentralization would converge to the diversity of the underlying community, services, and stakeholder distribution. If this proposal is eventually adopted changes in community diversity, not changes in a formula or parameters, would change decentralization.

@prometheus-pool
Copy link

If this proposal is eventually adopted changes in community diversity, not changes in a formula or parameters, would change decentralization.

The unstableness I'm thinking of is relative to the k parameter. A desirable property of the current system is that it is designed to converge to k stake pools, but this system doesn't seem to have that property. As the price of ada rises relative to the cost of hardware, there will be pressure for stake pool operators to split their pledge into smaller and smaller pools to maximize rewards, this could be undesirable since there may be technical reasons why you don't want to have too many block producing stake pools.

This system seems sensitive to the current price of ada, any significant price change seems like it could cause the system to re-organize in seeking the new optimal way to split pledge. It also doesn't seem like a good thing to encourage an individual to split pledge to seek higher rewards, since a single individual running multiple nodes doesn't increase decentralization, incentivizing this behavior will only needlessly raise the cost to run the system.

@74d4
Copy link

74d4 commented Apr 15, 2022

ResponsibleStaking:

"A small pool advantage"

  • Don't underestimate this effect. With the current propagation times, we are seeing the risk for a fully saturated pool is up to 10%. This shall drastically decrease as soon as pipelining is in place. Anyways a bigger pool (>68M) would suffer even more from this effect.

Ghosted blocks due to propagation delays will cease to be a problem with the implementation of "Input Endorsers". (Assuming I am correctly understanding how this will be implemented.)

@74d4
Copy link

74d4 commented Apr 16, 2022

@prometheus-pool:
Whales becoming "pool moguls" is a great argument against the proposal.

@michael-liesenfelt:
Pointing out return on invested capital with your graphs is a great counter argument.

One thing I am left thinking about is how these arguments will change over time. Currently the utility of Ada is still quite limited but it is going to increase massively. There is definitely an opportunity cost to locking up Ada as pledge.

How do you both see things changing when your Ada capital can earn more return by providing backing for a stable coin, or by using it as collateral in one of the newly invented financial instruments? I believe the opportunity cost of pledge is going to increase.

How do you both see this changing your arguments?

@ResponsibleStaking
Copy link

Ghosted blocks due to propagation delays will cease to be a problem with the implementation of "Input Endorsers". (Assuming I am correctly understanding how this will be implemented.)

Not 100% sure if this also will apply to regular blocks. For Input Blocks this shall be the case.

@prometheus-pool
Copy link

How do you both see things changing when your Ada capital can earn more return by providing backing for a stable coin, or by using it as collateral in one of the newly invented financial instruments? I believe the opportunity cost of pledge is going to increase.

It's true that the opportunity cost of locking up your ada as pledge when you could be earning yield elsewhere will rise. Exactly how that will effect the ecosystem I think is hard to say, I'm sure there are things coming that will effect staking/stakepools that I completely don't expect, like how ISPO's hit last year. I suspect as more attractive options become available the first pledge flight we'd see is from private pools and less successful stake pools since successful stake pools are pretty lucrative assuming they aren't 0 margin. There should still be incentive for significant pledge to be valued for successful stake pools because most/all of these new financial instruments are going to stake their locked up ada, more pledge means more rewards on top of the yield from the financial instrument itself. If pledge is not being valued enough at the current level of k then a0 can always be adjusted.

@michael-liesenfelt
Copy link
Contributor Author

@prometheus-pool: Whales becoming "pool moguls" is a great argument against the proposal.

I'm not denying it, but a pledge leverage enforcement will prevent "pool moguls" from becoming "pool tzars" or a "pool emperor". Visualize Star Wars Palpatine memes here.

Because k doesn't prevent pool splitting I'm still thinking about and sleeping on the the role/impact/use of k. What happens if a logarithmic decreasing pledge leverage factor which kicks-in at a given k as stake increases? I'm still thinking about and sleeping on these thoughts. Large stakeholders may not feel like this is fair though, but currently large stakeholders don't feel that being forced to continue splitting pools with sub-optimal rewards is fair either.

r( stake, pledge ) = R * min{ stake , a0 * pledge * Log_Scale_Diminishing_Function( stake, k ) , 1/k }

@74d4: How do you both see things changing when your Ada capital can earn more return by providing backing for a stable coin.

Staking will become the de-facto 'risk free return' just like US Treasuries currently. Other securities with higher risk and higher yield are/will be available.

@74d4: One thing I am left thinking about is how these arguments will change over time.

Private multipool operators and corporate exchanges will be joined by nation-state central banks when we succeed. This would represent a healthy transition of fiat systems to the Cardano ecosystem. Nations and central banks will join exchanges and eventually eclipse them. If a single small individual doesn't get treated equally soon, I fear it may never happen under stake-weighted governance.

@74d4
Copy link

74d4 commented Apr 18, 2022

Regarding pledge saturating pools for extra yield: And, I get the argument that under this proposal whales could become "pool moguls". However, I don't think the current design can tweak things properly.

In particular, in the current system, I don't agree with this statement:

@prometheus-pool : If pledge is not being valued enough at the current level of k then a0 can always be adjusted.

If you look at @michael-liesenfelt graphs for the system as it is running currently, you will see that any increase in a0 (to make pledge more valued) will result in magnifying the whale benefit in 100% pledge saturated pools, but will have almost no relative effect at lower pledge proportions. Even worse, increasing a0 will lower overall yield for everyone else in order to hand that extra yield to the whales.

With the current design parameters, I don't think it is possible to increase the value of pledge without just massively handing extra yield to the whales for very little comparative gain for "non whale" pool operators. The design in this regard seems to be skewed disproportionally at the wrong end. The increased pledge advantage needs to be more even across the curve somehow.

@michael-liesenfelt
Copy link
Contributor Author

FYI:

Pool Splitting Behaviour and Equilibrium Properties in Cardano’s Rewards Scheme
by Christina Ovezik & Aggelos Kiayias
Posted 19 April, 2022

I'm glad that the Blockchain Technology Lab is now considering single entities operating multiple pools.

@Zaytion
Copy link

Zaytion commented Apr 20, 2022

@74d4 The increased pledge advantage needs to be more even across the curve somehow.

Could the pledge advantage be changed so that it is relative to the pledge of other pools? Pools would be ordered from highest to lowest pledge. Pools near the top get more benefit than pools near the bottom but there wouldn't be a gap as there is today. This would have the effect of pulling up the smaller pledge pools into the yield boosting zone.

This might discourage pool splitting as the impact on rewards wouldn't necessarily be linear. It could increase the leverage of saturated private pools that are already at full pledge but it would probably be worth it if it decreases the leverage of smaller pools. I don't know the nitty gritty details of what the formula would need to look like and it needs more input from other people.

@michael-liesenfelt
Copy link
Contributor Author

@Zaytion : This would have the effect of pulling up the smaller pledge pools into the yield boosting zone.

Could you draw/show on the Stake vs Leverage chart where you would like the gradient of this zone? Could you draw on a yield vs stake saturation chart the curve shape or gradient you envision?

@shawnim
Copy link
Contributor

shawnim commented Apr 21, 2022

This is an excellent proposal.
It is well written and explains the principles, goals, and methods clearly including helpful visual aids to understanding.

The relationships between the various relevant parameters and their effects on outcomes for different scenarios in comparison between the proposed and current system can be difficult to conceptualize.
For this reason, it will be very useful to run simulations comparing the proposal with the current system under different parameter sets.
The proposed improvement to simulation testing to include creation of multiple pools is necessary to be more realistic.
It would be helpful if IOG shared more details of their simulations.
Modeling the diverse capabilities and attributes of actors in the system as seen in the real world would provide more meaningful comparisons.

I appreciate the inclusion of the effect of the minimum pool fees in the proposal.
It is critical to reduce, eliminate or prepay the minimum fixed fee.
I think there are reasons to keep a small minimum fixed fee and possibly to add a small minimum variable fee to prevent someone with deep pockets from starving out valuable stake pool operators by running zero fee pools.
In any case, this should not affect this proposal from moving towards adoption.

I agree with ResponsibleStaking that the leverage parameter should not be called a0 (poolPledgeInfluence) as it is confusing.
I would suggest calling it maxLeverage.
I think the initial value of maxLeverage should be set higher than 100 since it is currently effectively infiinite.

I also agree that the value of k (stakePoolTargetNum) should not be a prescribed multiple of k-effective but rather k-effective should be advisory to changes in the value of k.

I am still undecided about the potential impact on whale behavior and appreciate the ongoing discussion on that topic.

One nitpick: The range for the new a0 (maxLeverage) is listed as 10,000.0 to 1 in one place and 1,000.0 to 1 in another.
I don't think a maximum on the range needs to be defined.

My "gut feeling" suggestion for starting parameters would be:
k (stakePoolTargetNum): 250
maxLeverage: 250
(prepaid) minPoolCost: 30000000
minPoolRate: .01
Obviously, these would need to be modeled and adjusted on a regular basis.

Overall, I find this proposal to be very compelling and support it being seriously evaluated by IOG researchers and game theorists with evaluation methods and results being transparent to the community.

Thanks michael-liesenfelt for investing the time to create and support this proposal!

@ccgarant
Copy link
Contributor

I like and support the CIP. Very much like the simple yet elegant reward scheme, with rewards relative to the a0 pledge. My minor comments below (let me know if there's a better way to do this).

Garant Notes and Comments

Minor Comments

  1. In Motivation Section, third paragraph, I found this sentence slightly confusing, had to reread a few times. Is the Nakamoto Coefficient really just k-effective, because it more clearly represents the real group that can 51% attack? This sentences suggests the NC is half the k-effective?

    IS NOW:

    "The Nakamoto Coefficient is approximately half of k-effective rounded up to the nearest integer. K-effective provides a higher resolution quantification of network decentralization compared to the Nakamoto Coefficient."

    RECOMMEND: (If I understand it right?)

    "The Nakamoto Coefficient is k-effective rounded up to the nearest integer. K-effective provides a more realistic Nakamoto Coefficient because it represents the real 51% of grouped entities that can commander the network."

  2. In The Proposed Reward Formula Section:

    2.1 Recommend a table below quantifying a0 range and resultant pledge %. Took a few times to read, and curious about the range a0 from 10,000 to 100, and 1.0 to 0.

    "Instead of a0 ranging from 0.0 to infinity the a0 parameter is intended to range from 10,000.0 down to 1.0. An a0 value of 100.0 would require pools to pledge 1.0% of stake and an a0 of 1.0 would require all pools to be 100.0% pledged."

    2.2 In the rewards "r" formula, should alpha be a0 instead? Also, had to look into what is lambda is again. Might help the reader to redefine variables.

Suggestions

  1. In Motivation, third paragraph, perhaps provide a good reference or background definition on the Nakamoto Coefficient. To be perfectly honest, I have heard the term alot but did not know what it meant - I had to google it. This looks like a good reference to consider adding perhaps: https://cardano.stackexchange.com/questions/4699/what-is-the-nakamoto-coefficient-of-cardano

  2. Maybe add section numbers to each...section for easier referencing (Austin Powers joke unintentional :)

  3. In The Current Reward Formula Section:

    5.1. Might be worth defining all variables, equations, and some context for the casual reader audience. E.g. R equation, tau, rho, sigma, alpha, lambda left undefined. I had to go back and refresh. Good reference also might be: https://hydra.iohk.io/job/Cardano/cardano-ledger- specs/delegationDesignSpec/latest/download-by-type/doc-pdf/delegation_design_spec from
    Shelley ledger design spec https://github.com/input-output-hk/cardano-ledger

    5.2. In markdown you could render equations directly if you wanted. E.g. try (see raw text)

    $$ y=m*x+b $$

    (Note: well, looks like this doesn't work in github markdown, only jupyter notebooks...)

  4. In The Proposed Reward Formula:

    6.1. First sentence, recommend "relative to" in lieu of "based on" to help convey the concept of relative stake limit based on a0, up until saturation.

    IS NOW:

    "The proposed reward retains the function of k for limiting rewards based on stake but repurposes the a0 parameter for enforcing reward limits based on pledge leverage."

    RECOMMEND:

    "The proposed reward retains the function of k for limiting rewards based on stake but repurposes the a0 parameter for enforcing reward limits relative to pledge leverage."

    6.2. Might be a good idea to quantify and expand how much more computationally efficient the equation, might be an underrated huge additional benefit to emphasize? At least on a super high level.

    "The new equation is computationally simple and purposefully does not use logarithms, exponents, or geometric curves"

  5. In Recast of a0, second sentence, recommend "relative to" in lieu of "based on".
    IS NOW:

    "Pledge leverage establishes a different ‘saturation point’ for each pool based on its pledge."

    RECOMMEND:

    "Pledge leverage establishes a different ‘saturation point’ for each pool relative to its pledge."

Thoughts

  • I like the CIP.
    • I support it, with understanding of thorough testing and further reflection. At face value, it just makes plain sense it's better.
    • love the fair reward scheme and elegant simplicity.
    • I haven't thought thru the game theory new attack vectors, seems like it would be better with higher more purposful a0 pledge against Sybil.
    • I haven't thought thru the social and ecosystem wide impacts of a hardfork, however it's probably best to do this sooner than later to get it right up front, and have governance dictate the a0 and k parameters down the line.
    • I haven't thought thru the private vs public a0 pledge impacts, however I seem to agree it may incentivise decentralization with a multi-delegation approach, than self run private pools (outsource the work, same high rewards)...
  • Definitely agree a0 has negligible effect currently
    • good statement: "The pledge incentive is currently a statistically unnoticed benefit used only by large private stakeholders." agree.
    • love the line a0: The pledge yield booster - great concept.
  • Definitely agree k saturation limit in reality is a non-factor, just open up more pools, must assume bad actors.
  • Change must come from economic incentive, not altruism, which it does incentivize better rewards across the board.
  • Side thought: Open source decentralization ranking score tracker?
    • delegation guide
    • single pools best, what size?
    • multi small biz pools okay
    • multi big company pools bad
    • include multi private big business pools (binance, coinbase)
    • company score (sundaeswap, genius yield, liqwid, newm)...
    • open source audit of pool groups / investigation like journalism
      • "these pools might be run by one entity" fyi
  • Love the inclusion of the principles section, and very much agree, great guiding compass.
  • Love the simple yet elegant reward equation.
    • Simple is better.
    • I'm pretty fluent in math, and the current reward formula is not the most straight forward for sure. F=ma and E=mc^2 is the way.
    • Also efficiency may be a hidden huge incentive too? Also better sybil attack protection?
  • Really like the statement: "Stakeholders know there is no way to game the system for yield, either individually or collectively with governance, and pledge is absolutely mandatory".
    • Sometimes I think that future cardano is at risk from stake holder voting to change the rewards scheme to benefit themselves in the future by a cartel or collusion like the banks in 1913 to form the Federal Reserve. I guess a hardfork would be easier now without peer-to-peer checking nodes. Best to get it right now, and make it very hard to change later, like the US Constitution Bill of Rights. The best aspect of bitcoin is the immutable and predictable monetary policy. It would behoove Cardano to have a basically permanent monetary reward policy going forward to ensure investor confidence, and immutable decentralization insurance. This is my main concern in Cardano being an invested stakeholder.
    • (Is this the correct understanding of concensus: In the future, full nodes peer-to-peer checking can reject blocks if SPO nodes are not updated to the "new reward" software update (hardfork). Or is it stakepools running nodes software version before the peer-to-peer full node checking. Right now, with no p2p full nodes, I believe it is the stake pool node software version that agree and reach concensus. In the future, will they be like bitcoin miners, where the nodes have the power to reject mined blocks, if the miner is not on the right software version (still learning).
    • Either way, the earlier the better to make this change, and hopefully be permanent or very hard to change, for investor protection.

Garant Comments, Suggestions, and Thoughts

@CheetahCrypt
Copy link

Hi Michael,

First of all thank you for putting all this effort into improving the current reward sharing mechanism.

One, in my opinion very important but often overlooked topic is the wallet ranking, it can significantly decrease the time until the system reaches its Nash equilibrium. I just wanted to share some links which can help to dig into this topic

  1. Pool Ranking Formula explained: https://cardano-community.github.io/concepts/#/Rankings/Main
  2. Video By Damjan: https://forum.cardano.org/t/daedalus-rankings-desirability-hit-rate-estimates-explained/41755

Currently only Daedalus ranks the Pools according to the Pool ranking formula, and pushes the system towards Nash equilibrium

One additional thing to mention:
After registering my Pool (FORTE) it appeared in Daedalus and got a Hit rate estimate of 60% assigned. Even with 100% performance it stayed at 60% for around 20 Epochs (80 days). And after that it jumped to 90%, what i wanted to point out is, when we look at changes in the system we really have to take very long time frames into considerations, month and years not just Epochs.

Br Sebastian

michael-liesenfelt and others added 13 commits July 1, 2023 13:51
Updated k-effective chart and k-effective table.
* equ 1 and 2 updated, new branch made

* more equations added

* test center image alignment

* centering and resizing remaining figures

* resized figures and minor edits
Minor updates and corrections.
Added short description for the ranking paradigm.
Added CIP-7 equation into the list.
I still have to update all the graphics (a0 to L, % yield to % R)
Updated the charts.
* recommended pool ordering system added

* comments round 1 incorporated

* added saturation_factor and some cleanup

* added pool-ranking-analysis spreadsheet

* removed grading to be objective, and simplified.
Added equation variation. Incomplete equation rendering.
* cip-7-additions

* added nimer ada link equ, moved all images folder

* nimer equation section update
Removed small pool advantage section.
Minor updates and revisions.
Consolidated parameter sets.
  Slightly re-ordered some sections around, and applied a bit of styling / cosmethic.
@KtorZ KtorZ force-pushed the CIP-Liesenfelt-Shelleys_Voltaire_decentralization_update branch from 6efb667 to def996f Compare July 1, 2023 12:08
@rphair rphair removed the State: Likely Deprecated Close if confirmed deprecated (or long waiting). label Jul 11, 2023
Copy link
Collaborator

@rphair rphair left a comment

Choose a reason for hiding this comment

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

No response yet from @michael-liesenfelt about changing the title (after asking on Matrix community MBO) and doing a final check of the recent updates to his own work. I've spliced in a title Pledge Leverage-Based Staking Rewards which I think literally describes the CIP and which of course is open to change.

Because of the complexity of this branch & discussion so far, with the recent heap of work by @KtorZ to get it up to spec, I would prefer to merge this even though the two translated versions (README.Chinese.md and README.Spanish.md) don't confirm to the new translated CIP guidelines:

  • I think translation auditability goes out the window if the source document itself might not be maintained... so there's no point renaming them with hreflang codes and adding translation headers... but to me it makes sense to include these in the baseline while planning to change to canonical names & add translation headers only if it breaks a multilingual scraper in the future.

CIP-0050/README.md Outdated Show resolved Hide resolved
@rphair rphair changed the title CIP-0050? | Shelleys Voltaire decentralization update CIP-0050? | Pledge Leverage-Based Staking Rewards Jul 11, 2023
@rphair rphair requested review from KtorZ and Ryun1 July 11, 2023 12:11
@michael-liesenfelt
Copy link
Contributor Author

I apologize for my delay.

I also approve of the title change which more literally describes the focused content of the CIP. During the last year I have come to a deeper appreciation of the meaning of decentralization and this CIP doesn't fully address all aspects of decentralization. Each proposed RSSv2 equation in CIP-50 does depend on pledge leverage and a negative slope, so the new title is more accurately focused.

@rphair
Copy link
Collaborator

rphair commented Jul 27, 2023

Marking as Last Check because I believe our last consensus summarised in #242 (review) created a baseline that @KtorZ and myself were intent on merging (with @Ryun1 favourable as far as I know?).

Although this still needs an update to the translated files (both reworking their headers and naming them according to the new standard - as per #542) I would rather do this after merging this PR, with its complicated commit history and given the time it might take to verify Chinese translations of the values in that file's preamble.

So it's currently on the agenda to consider merging this on, or soon after, the CIP editor's meeting on 01 August (4PM UTC: https://hackmd.io/@cip-editors/70). cc @michael-liesenfelt

@rphair rphair added the State: Last Check Review favourable with disputes resolved; staged for merging. label Jul 27, 2023
Copy link
Collaborator

@Ryun1 Ryun1 left a comment

Choose a reason for hiding this comment

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

To me this proposal meets all the criteria to be merged (apart from the small translation files formatting).

The plan to merge then update the files sounds good @rphair, approving so we can get it moving 😎.

Updated Conflict of Interest statement and also the PR description.

ToDo: Update all the figures with current values and content from Balance Analytics.
@rphair rphair merged commit 827e054 into cardano-foundation:master Aug 1, 2023
@rphair rphair removed the State: Last Check Review favourable with disputes resolved; staged for merging. label Aug 1, 2023
Ryun1 pushed a commit to Ryun1/CIPs that referenced this pull request Nov 17, 2023
…#242)

* Create test.txt

* Add files via upload

* Delete test.txt

* Update README.md

* Update README.md

Fixing minor mistakes, chart references, and chart descriptions.

* Add files via upload

* Update README.md

Reordered the dangers of increasing k section.
Added an a0 = 10.0 chart.
Cleaned up some formatting.
Updated CIP number in the header.

* Create README.Spanish.md

* Update README.md

Corrected errors, added descriptions, and changed the implementation path.

* Add files via upload

Updated versions.

* Add files via upload

* Delete k-effective.png

* Add files via upload

* Update README.md

Added Christina Ovezik to the reviewers list.

* Update README.md

Only added a couple more reviewers.

* Update README.Spanish.md

Translation in Spanish by: Juan Montano, DOT5 SPO
Traducido en Español por: Juan Montano, DOT5 SPO

* Create README.Chinese.md

* Add files via upload

* fancy markdown equation updates

* markdown equation updates
* equations updates to match master
Co-authored-by: ccgarant <>

* Update README.md

Labeled the pledge leverage factor L, instead of renaming a0.
Updated large stakeholder section slightly, but did not include detailed ROIC charts yet.
Included Oversaturation Attack (OA) description/mitigation.
Added equation variations in Rationale as recommended by CIP-1 guidance.
Left a stub for recommended pool ranking based on leverage, however an official ranking standard could be an independent CIP.
I haven't updated all the charts and labels yet, but that will happen soon.
Also, thanks to Christophe for his contributions and looking forward to many more!

* Add files via upload

Updated k-effective chart and k-effective table.

* definitions and concepts added (#8)

* Equations Reverted to Images for Mobile Readability (#9)

* equ 1 and 2 updated, new branch made

* more equations added

* test center image alignment

* centering and resizing remaining figures

* resized figures and minor edits

* Updates

Minor updates and corrections.
Added short description for the ranking paradigm.
Added CIP-7 equation into the list.
I still have to update all the graphics (a0 to L, % yield to % R)

* Added updated charts

* Update README.md

Updated the charts.

* Add files via upload

* recommended leverage-based pool ordering system (#10)

* recommended pool ordering system added

* comments round 1 incorporated

* added saturation_factor and some cleanup

* added pool-ranking-analysis spreadsheet

* removed grading to be objective, and simplified.

* Update README.md

Added equation variation. Incomplete equation rendering.

* Alternate equation additions, CIP-7, Nimer addition (#11)

* cip-7-additions

* added nimer ada link equ, moved all images folder

* nimer equation section update

* Update README.md

Removed small pool advantage section.
Minor updates and revisions.
Consolidated parameter sets.

* Rename folder as CIP-0050

* Format CIP-0050 according to CIP-0001

  Slightly re-ordered some sections around, and applied a bit of styling / cosmethic.

* update title for specificity

* Update README.md

Updated Conflict of Interest statement and also the PR description.

ToDo: Update all the figures with current values and content from Balance Analytics.

---------

Co-authored-by: Christophe Garant <[email protected]>
Co-authored-by: KtorZ <[email protected]>
Co-authored-by: Robert Phair <[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.