CIP - Shelley’s Basho-Voltaire decentralization update

The latest IOHK blog post still perpetuates the inaccuracy that stake pool pledge has a meaningful effect.

Second last paragraph quote:

“The research shows that the proposed reward mechanism steers the network to a desired level of decentralization and, in particular, offers protection against Sybil attacks. This is enabled by a so-called pledging mechanism, which greatly disincentivizes the formation of multiple stake pools controlled by a single real-world entity.”

I strongly disagree. With the current design pledge has no such effect.

2 Likes

It’s a bit funny that in this topic many people think pledge has too much effect, often in reference to private pools, and many think it has too little effect, often in reference to multi pools. Of course depending on the distribution of ada/pledge among SPOs it is possible for both to be true, such as in the case the vast majority of SPOs have very little pledge relative to saturation while some can fully pledge a pool with little to no pledge options in between these extremes. It seems important to point out that this gap between small pledge and full pledge shrinks every time k is increased. If k is increased from 500 to 1000 then pools that were fully pledged before gain no benefit, but the pledge benefit for smaller pools doubles. It seems that increasing k will do much to alleviate the concerns of people that feel pledge does too little and/or too much.

The pledging mechanism does disincentivize multi pools, having to split pledge means lower rewards for your pool and delegators. I certainly think it’s reasonable to argue over the relative magnitude of pledge benefit, but what’s more important than the actual pledge effect is people’s perception of it. As soon as stake pool creation was open to the public on mainnet, some of Cardano’s biggest influencers and “OGs” created multi pools, and over time they repeated to their audience that pledge is worthless so it doesn’t matter if you split it. This has had a massive effect on the social side of incentives, normalizing multi pools as well as pledge being unimportant.

In addition to these social issues, the min fixed fee also clouds the effect of pledge, since at it’s current level it makes the vast majority of pools simply unable to compete with honest marketing.

With these issues at play it seems difficult to put the blame on the current pledge design, especially when it’s possible to measure the loss of rewards due to splitting pledge to open more pools. Incentives only work if people understand and take advantage of them, and the social physics of the system are as important as the financial incentives. The current social issues, the min fixed fee being unreasonably high, and k not being high enough seem of much greater importance to me than the current pledge design.

1 Like

@prometheus-pool I agree with much of what you said. However, I disagree with your overall thesis on two fronts:

  1. Relying on “social physics” is not enough if there are financial incentives pointing in the opposite direction.
  2. Increasing K will lower the saturation threshold. If doubled from its current value then saturation will come down to 34M Ada. Since the extra yield obtainable from full pledge saturation happens almost entirely as you approach the saturation limit. This means that many more holders will be able to exploit this design wrinkle. Not many people have 68M Ada. Many more have 34M. Doubling K again would bring it down to 17M Ada and even more people have that amount.

This @Michael.Liesenfelt graph depicts the problem:

current reward equation

You can see how the benefit of pledge saturation arises predominantly towards the 100% saturation limit.

That, in my opinion, is a weak argument to raise K to 1000 where many more people will be enabled to exploit the extra yield benefit by fully saturating pools with pledge. Pledge will still make almost no difference between 100K to 500K pledge. However it will make a ton of difference from 30M to 34M pledge. These pledge saturated pools are earning over 1% extra yield at the expense of the rest of us.

By the way, if we don’t do something about this “pledge saturated pool” problem soon, you will see many more projects doing what WingRiders is doing. They are using smart contracts to exploit this extra yield. People lock up Ada in their smart contract and they use it all as pledge to earn the extra yield.

Now think about how that incentive model is going to drive decentralisation in the wrong direction!

1 Like

The important thing to point out here is that it is the stake saturation limit, you don’t need a near fully pledged pool to fully realize your pledge benefit, you can fully realize your pledge benefit with any amount of pledge but you will need additional delegation to achieve that. This disincentivizes having more than k pools, a property which the proposed pledge changes in this thread lacks.

So every time k is doubled, many more people get to enjoy the same benefits that only a few do at the moment, and the gap between people that enjoy the maximum benefit and the average pool is significantly lessened. The real problem is not how much people at the top are making, it’s the difference between the top and the bottom, increasing k decreases this gap.

Paying this extra yield is preferable to me than having a system that converges to the staking ecosystem being controlled by a handful of whales. 500k pledge at k = 1000 would give close to 0.5% more rewards to delegators, this is significant relative to pretty much any margin a non private stake pool is currently charging. As delegators take advantage of these financial opportunities and the system becomes more decentralized, a0 can be reduced, further decreasing the gap between fully pledged and average pledged pools.

I think this is something that we will have to watch play out. As more projects come online in the ecosystem users who are looking to take additional risks via smart contracts will have to choose between some extra yield on their staking rewards via pledge locking or other new yield opportunities from projects adding different kinds of value. It seems likely to me these new projects will stake the ada in their smart contracts rather than pledge it as liquidity is often a necessity.

You make two statements here about incentives going in the wrong direction, however I don’t see any support for that in your post, it seems to instead be about some people earning more rewards than others. Could you clarify further?

With the current design and increasing K to 1000 there will be little difference between 100K pledge vs 500K pledge. On the other hand, there will be many more whales that can afford to implement full pledge saturated pools to earn 1%+ more yield than the rest of us. The yield earned through staking needs to be viewed competitively since if some are earning more then they are accumulating a higher percentage of the total system value.

WingRiders is collecting large amounts of Ada because it is incentivising people to stake, via their smart contract system, to earn extra yield. They can pay this extra yield by using the Ada collected as pledge to fully pledge saturate pools and earn an extra 1%+ yield. They can scale this up because they can pay a higher yield than normal stake pool operators. Thus becoming effectively the “Lido” of Cardano.

Take a look at the decentralisation problems that Lido has created for Ethereum in order to work around Ethereum’s lack of liquid staking. Lido now controls > 32% of current Ethereum 2.0 staking. WingRiders could do something similar because they can leverage their DEX and their relative costs will reduce with scale.

This extra 1%+ yield benefit, through pledge saturating pools combined with smart contract staking, has the potential to create a similar decentralisation problem on Cardano.

@HeptaSean did a great post explaining how WingRiders smart contract staking worked. This post highlighted also how smart contracts could be used to effectively lock up Ada for a period so that it can be used as pledge for yield boost. I can’t find the post now, but maybe @HeptaSean can provide the link.

1 Like

The difference will be equivalent to around 0.4% margin, this is a significant amount relative to what most people charge for margin and should not be handwaved away.
As I’ve already stated whales earning more through fully pledging pools is a trade off for decentralization, and the gap will lessen significantly as the system becomes more decentralized via raising k and eventually lowering a0.

I’d love to see some concrete info on what you are saying about Wing Riders, as a dex I don’t see how they would be able to fully pledge pools with ada in smart contracts while maintaining liquidity. As for your Lido comparison, the problem with Lido is significantly magnified by the derivative asset, stETH. Because stETH would not be fungible with similar tokens offered by other competitors of Lido it leads to centralization to a single offering to make use of liquidity in defi, Cardano currently doesn’t have this issue.

I am confused by your claim. That is not what @Michael.Liesenfelt mathematical modelling shows. You have read and discussed @Michael.Liesenfelt modelling and graphs under his CIP: CIP-0050? | Shelleys Voltaire decentralization update by michael-liesenfelt · Pull Request #242 · cardano-foundation/CIPs · GitHub

I am sorry that I can’t find the link to @HeptaSean post. From memory what WingRiders is doing is getting many people to lock-up Ada via a smart contract for a period of time, like 3 months. They then use all this Ada as pledge to fully pledge saturate a pool, or multiple pools, to earn extra yield. They earn more than 1% more yield this way by being fully pledge saturated. They give a cut of the extra yield to the users and keep some as profit.

My point is that this has a centralising effect. More Ada is being “controlled” by WingRiders through exploiting this pledge saturation yield advantage. Economic incentives are motivating people to lock-up Ada with WingRiders to benefit from this extra yield.

By the way, I think WingRiders are good actors. If I remember correctly @HeptaSean post was primarily pointing out how their smart contracts were designed in a good way to ensure user control once the time lockout was reached.

Nevertheless we should be aware of the risks. Other actors may not have good intentions and intentions can change over time.

Those graphs are not pledge saturation, they are stake saturation. If I have 500k pledge at k=500 then when my pool is fully saturated by pledge+stake I return around an extra 0.5% rewards (the majority of the benefit can be realized before full saturation). Pledge benefit is linear with respect to pledge, but if you graph it vs stake saturation then it will not appear that way.

Could you be referring to Eternl wallet? They are time locking ada with native scripts and using it for pledge, much like you’re describing. I’ll admit this was a bit worrisome to me at first, but there is definitely a cost to time locking your ada like this, also there is no guarantee protocol wise that you will receive any rewards at all, Eternl has to send them to you. If you time lock your ada like this you cannot participate in catalyst governance and receive voting rewards, you also cannot participate in any smart contracts that might offer potential yield, or ISPO’s. I won’t go as far as to say it’s nothing to worry about, but there are mitigating factors.

The graph I quoted above was about pledge saturation it was titled: “Reward Potential at various Pledge Fractions”.

Our original dispute arose because I claimed that pledge makes almost no difference at the lower end of the range and I stand by that claim. So let’s put some numbers on it.

Use this fantastic Cardano rewards calculator:

Update the figures for current Ada supply and total staked Ada:

  • Current Ada supply = 33,752,565,071 Ada (messari.io)
  • Total staked Ada = 24602095926 Ada (from my running node using Andrew Westberg’s leaderlog tool)

Using the calculator, leave K=500, set the total Stake to 67M Ada, leave fixed pool fee at 340 and set variable fee to 0%, leave other figures, Rho, Tau, a0 etc. unchanged. Then vary the pledge amount to see how the return for delegators changes.

At Pledge 0, total Stake 67M then return on Ada for delegators is: 4.46%
At Pledge 500K, total Stake 67M then return on Ada for delegators is: 4.46%
At Pledge 1M, total Stake 67M then return on Ada for delegators is: 4.48%
At Pledge 2M, total Stake 67M then return on Ada for delegators is: 4.5%

IE. 0.04% extra yield from 0 to 2M pledge. Very minimal indeed.

On the other hand if I pledge saturate a pool with 67M Ada then total pool return goes to: 5.82%

Wow. An extra 1.32% yield for those that can pledge saturate a pool. So WingRiders can now pay its users an extra say 0.5% yield, for locking up their Ada for 3 months, and pocket the additional 0.82% difference it is earning. This is a great deal for WingRiders and its users. But, not so much for the rest of the Cardano community because they are comparatively earning less.

And, it does reduce decentralisation because it shifts Ada from small stake pools to large entities like WingRiders. Furthermore, these large entities can keep spinning up more pools under their control to match the demand for this extra yield.

I say that this current pledge design is creating the wrong incentives. That is one of the reasons why I support @Michael.Liesenfelt CIP-0050.

By the way, I wasn’t aware that Eternl wallet was doing something similar to WingRiders. One part of me is disappointed to hear that, but, if the incentive models are designed as such, then…

1 Like

Each line is a pledge fraction, the x axis is labeled as Stake Saturation. Each line represents what yield a specific pledge fraction provides at a given stake saturation (pledge + delegation) level. @Michael.Liesenfelt can confirm this for you.

These numbers are in line with that I pointed out in my post and corroborate what I was saying, although it is likely your number for 500k pledge is suffering from a rounding error, I got 4.47% when I tried the calculator you linked with your numbers. At 500k pledge at k = 500 your pledge benefit grants you 0.0447 / 0.0446 ~ 0.22% more rewards, about half of what I said in my example because I used k = 1000 instead of 500. As I stated, if k is doubled to 1000 this is a significant amount relative to what stake pools are charging for margin, and only grows more significant as k increases. Pledge matters and it is measurable, it provides a clear financial disincentive to pledge splitting while ensuring that the staking ecosystem doesn’t end up being run by a handful of whales, an assurance that CIP 50 currently lacks.

As for WingRiders, I’ve already stated my case on why I’m not convinced this will be important. The extra yield from locking your ada forces you to lose voting rewards as well as new potentially much greater yield opportunities on the horizon such as Liqwid, djed, etc.

I have no words.

Why the motivation to spin things this way?

Yes, it was about Eternl’s Staking Vault:

Ahhh. Thanks.

I don’t know why I thought it was WingRiders now. No wonder I couldn’t find your post. My apology to WingRiders if I caused any offense.

Nevertheless my arguments around the centralising effect of this remain.

The numbers are on the screen, where is the spin? Stake pools generally charge between 0% and 5% margin, at k=1000 with a pledge of 500k you can significantly effect what fees delegators are paying through your pledge. Are you implying that 0.5% is not a significant amount relative to a 5% fee?

Perhaps, the system did not work out as designed.

This proposal for a new guide on how to delegate

also emphasises pledge, because that should have been the main incentive against pool splitting.

But that only really works if delegators have a lot of pools with 30 to 60 million pledge to choose from. Then, they would be used to the higher yields that these pledges offer and never be content with the ridiculously small pledges that are usual right now.

1 Like

According to the calculator which seems to be properly syncing with the blockchain now (so you no longer need to update the total Ada supply or total staked Ada):

  • If you pledge 0 Ada at full saturation of 67M your delegators earn 4.06% yield.

  • If you pledge 500K Ada at full saturation of 67M your delegators earn 4.07% yield.

  • If you then increase the variable fee from 0% to even just 0.5% then your delegators will earn only 4.05%

  • On the other hand a fully pledge saturated pool with 67M Ada (like Eternl Staking Vault is doing) will earn 5.26%.

So as I said, pledge at the low end makes little difference to the yield of your delegators whereas fully pledge saturating a pool provides a massive yield boost by comparison.

I don’t know how to explain it better than this.

I agree. It hasn’t.

What I was really trying to point out though was:

The Eternl Staking Vault yield boost contract is not encouraging decentralisation and this has resulted from the poorly designed pledge incentives.

1 Like

I’m not really sure what you’re trying to demonstrate with these numbers, I pointed out that at k=1000 and pledge=500k you could offset around 0.5% margin, a significant amount. In your numbers you seem to be assuming that 500k pledge should offset 0.5% margin at k=500 which of course it won’t. I used the calculator for k=1000, 500k pledge, 33.5M total stake, and 0.5% margin and it came out the same as if you had 0 pledge and 0% margin (4.02%), as expected since we already calculated these numbers earlier.

So as I said before, pledge is capable of offsetting a significant amount of the average margin fee SPOs charge, and therefore does have a meaningful effect.

I am not sure if it is so bad for decentralisation. They just fund a single pool and that one is still far from saturated. If it is successful, there will maybe be other staking vaults from other operators leading to another type of decentralisation – decentralisation of locked staking.

If the pledge mechanism had played out the way it seems to be intended to, no pool with less than tens of millions of pledge would be competitive. And the staking vault wouldn’t have such a large bonus compared to those kinds of pools.

So, I’m still inclined to like the proposal we are discussing in this thread. It would give pledge a meaning also on the lower end. (But it would probably also destroy the business model of staking vault.)

I think we should be thinking a step further along. What if the business model changes as follows:

Eternl begins to offer a more complete service similar to what Lido offers. You can get stAda in exchange for your real Ada and this can be traded and be used as collateral just like Ada since it is pegged 1 for 1.
Eternl keeps a pool of Ada in reserve which is normally staked so this provides liquidity for people to redeem their stAda if they want. This provides a more complete and seamless experience for people. They can have many pools that are pledge saturated for extra yield and just 1 or 2 pools staked normally for liquidity. There is now effectively zero lock-up time for users, so long as only, say less than 10%, wish to redeem in any 5 day epoch period.

Now we can see how this could get more centralising. Since the provider of such service, with the most liquidity, will tend to dominate. This is simply because as a user you will want to ensure your stAda will be easily redeemable for real Ada, with no slippage, so you will use the provider with the most liquidity.

I think we need to be thinking how things will play out when large institutional investors are involved. Look at what is happening in Ethereum with Lido. Lido is one provider and it now controls one third of all staked Eth.

1 Like

Wingriders is made by the group that made Adalite. They are the highest leveraged non custodial group. Despite raking in TONS of ADA they still have very little ‘skin in the game’ of their own. This is the danger of telling people to stake based on merit or the ‘work’ they’ve done or are doing on the network. Without any stake in the system there is no incentive to work in the best interest of the system; instead the incentive is to milk the system for all they can.

2 Likes