PCP_K-Parameter_EarnCoinPool

Summary:

The mainnet poll took place in epochs 412-415 in May 2023 with the results supporting the option to Increase K to 1000 and halve minPoolCost to 170 ada. Now that the Parameter committee submitted a recommendation to reduce minPoolCost to 170 ada, we would like to request that the second part or the poll option to increase K to 1,000 also be officially recommended by the Parameters Committee.

Community Support:

AdaStat show the vote using 5 metrics. K=1,000 and min fee of 170 won the poll using each of the 5 metrics. See results below

While some have suggested if you combine answers you can make an argument for K=500. As I explain in my post here
Jun 8, 2023 | Voltaire era: Parameter committee intermediate state - #31 by earncoinpool which I will only highlight some main points here:

Even though Pools suggested in our calls with CF to have one parameter in options or to do rank choices, CF decided not to do this with this poll. So, one cannot assume that someone who selected K=500 and min fee of 340 would have a second choice of K=500 and min fee of 170. Or vice versa. While that might be true, it also very likely might not. There can be no way of knowing unless they included meta data with vote. So combining these results are based on assumptions that may be incorrect.

We cannot claim that votes are based on PROOF of stake but seem to want to count votes on things that can NOT be proven by the votes on-chain. For example, how can pools vote with their delegators stake? Delegators have delegated to their current pool in the past based on block delegation, the majority of which delegated before this poll was even announced. So how can we assume inaction to redelegate stake during redelegation equals support for the SPOs vote? The simple answer is we can’t, because we can’t point to anything on-chain that supports how a delegator wants their stake to be counted in the poll. So, if we want votes to be counted by Stake, then the only stake-based votes that are provable on-chain are the stake of a pool or votes by pledge metric.

Also as stated here The Cardano Foundation seems to suggest counting votes on total delegation is not valid due to lack of involvement by delegators: The Cardano Foundation’s Response to the Parameter Committee Recommendation in PCP-001 - English / News and Announcements - Cardano Forum

“A final analysis of the on-chain activities has shown quite clearly that delegators have not made significant use of this option , either in absolute or stake numbers. It is unclear whether confidence in the current pool or a certain passivity are the main reasons.”

Which seems to indicate that the metric of counting votes by “pool stake” isn’t a valid measurement. I would also point out this is the only metric in which if you did combine answerer, which as stated above we think it shouldn’t, shows K=500 winning, all other metrics still show K=1,000.

So what is the K-parameter?


According to The Cardano Foundation team

What is a k-parameter? The k-parameter determines the stake pool saturation point , ‘k’, which governs the rewards stake pools receive according to how much stake is delegated to them. The k-parameter plays an important factor in keeping the Cardano blockchain adequately decentralized and encourages ada holders to delegate to a wider number of pools.”

Source: Cardano Foundation to Adjust its Delegation Methodology Following Changes to the k-parameter | by Cardano Foundation | cardanorss | Medium

According to IOG:

"The k parameter determines the maximum stake in a pool that receives awards, in essence creating a ‘soft cap’ on pool size. This size changes over time and is defined as a percentage of the maximum supply of ada (45bn) minus any amount that remains in the reserve. As of epoch 370, that is 35bn ada.

Maximum pool size = (45bn - reserves) / k = ( 35bn / 500 ) = 70m

Within the Cardano documentation, a pool that reaches its maximum size is said to be saturated. A saturated pool offers the highest rewards to delegators and is most lucrative for its operators, while an over-saturated pool delivers lower rewards. The system thereby incentivizes delegators to move their stake to a pool containing less ada, in order to maintain their yield and thus encourages the decentralization of the network."

Source: Staking parameters and network optimization – where next for k and min fee? - IOHK Blog

Or also stated by IOG:

All about k

The parameter of the rewards scheme that sets this ‘soft-cap’ on the pool size is called k. The mechanism is designed so that, at equilibrium, assuming rational participants and no external factors, the stakeholders’ best response behavior converges to k pools of equal size delivering the same level of rewards per unit of stake to their delegates.”

Source: Parameters and decentralization: the way ahead - IOHK Blog

Is it safe to move K to 1,000?

According to IOG’s blog post:

“As of October 2022, the value of k is 500. Previously, IOG had suggested that this value could be safely raised to 1,000”

Source: Staking parameters and network optimization – where next for k and min fee? - IOHK Blog

Why is it important to move K Up?

I think IOG said it best here:

Encouraging sustainability through pool diversity

First and foremost, the rewards-sharing mechanism of Cardano aims to reward people fairly for supporting the platform in a sustainable way, not as a short-term windfall. One of the goals of staking has always been to encourage long-term holders of ada: the people who are committed to the success of the ecosystem.

In the longer term, the system can be successful only if it is widely decentralized. Philosophically, the design of the rewards scheme aims to encourage a wide and diverse set of stake pool operators. This secures the platform against attacks, spreads any available rewards evenly across the community, and makes the system more resilient to change.

Many economic systems have a tendency towards consolidation and a smaller number of strong players. On the other hand, blockchains can only be successful when control is decentralized. The rewards-sharing scheme ensures that smaller and medium pools can contribute meaningfully to the ecosystem without becoming subsumed into larger operators and consortia, as has happened with other blockchain systems, particularly Bitcoin.

One way to discourage a trend towards a few large pools that collectively control the system is to introduce a counter-incentive to a pool’s growth. The rewards-sharing scheme we designed is an example of this novel (in the cryptocurrency space) concept. As soon as stake delegation to a single pool increases above a threshold, the rewards automatically diminish, encouraging ada holders delegating to that pool to find a new home to improve their rewards. This mechanism limits the delegation that can be rationally made to any pool and spreads delegated stake more evenly across a larger number of pools.”

Source: Parameters and decentralization: the way ahead - IOHK Blog

Should we slowly move K up or in one big increase?

Well according to IOG big moves less frequently is better:

“It is worth noting that the k-parameter is not amenable to small, gradual increases (unlike, for example, the d-parameter, which lends itself to a gradual reduction). Each increase in k requires pools and delegators to take action. For pool operators, this means a careful adjustment of their parameters and in particular their margin; for delegators, it means choosing new pools to delegate their ada to, especially if their current choice becomes oversaturated.

Therefore, the best strategy for an upwards adjustment of k is to move in larger, less frequent increments – and to move it as far and as fast as practical network dynamics and economics will allow. The ‘how much’ and ‘how soon’ has been a topic of intense debate and discussion within the team, made more complex by a number of technical factors. The best solution is one that minimizes disruption for successful pools and their delegators, while maximizing the opportunity for medium and smaller pools to mint blocks and attract more stake. Equally, it is crucial to be always focused on the longer-term strategic goal as a community to broaden decentralization as widely as possible.”

Source: Parameters and decentralization: the way ahead - IOHK Blog

I hope the Parameter Committee will take this PCP up and recommend an increase to K=1,000. Thank you.

ADA Stats Poll Results:
poll_results_number_SPOs
pool_results_by_pledge
pool_results_by_stake
pool_results_number_delegators
pool_results_number_pools

13 Likes

I would maybe give that post a little more content to underline what you seriously want. :grinning:

  • Increase to what value exactly?
  • Rationale why to that value and not another one.
  • Do it in one step or gradually?
  • What are the possible consequences, good and bad?
  • Maybe prepare the needed steps and possible roll-back as in the minPoolCost PCP.
  • Maybe some history, haven’t searched, but a source that it has been long planned and promised would be interesting and all the CIPs that were written when the tale was that CIPs are the way to get parameters changed.

Okay maybe I misunderstood. I thought the idea was to open topic on parameter that we wanted to be considered to he changed. Then the community comes in and comments and then it is turned over to committee to consider. Is that not the procedure?

1 Like

I understood “initiate a discussion” in

as a little more than just giving a headline.

After all, at the end of that process, someone™ has to fill out that PCP template and if you don’t start the way there, there’s a risk that nobody will (although there are for sure some other SPOs who also want that parameter update).

1 Like

Okay I will work up a write up and post over the next couple of days. Thanks for the guidance and suggestions!

5 Likes

I am a bit ambivalent about doubling K to 1000 for the following reasons:

  1. On the one hand, I don’t think it will increase Cardano’s real decentralisation because large pools and multi-pools will just split more and farm their delegation to their new pools.
  2. But, on the other hand it will be an irritation to these larger operators by forcing a re-balancing. Many delegators will need to look at the situation and make a re-delegation decision. Some might choose to move to a smaller operator… Maybe?
  3. If minPoolCost is halved but K stays 500 then the fixed fee proportion of rewards across the network reduces, but if minPoolCost is halved and K doubled then the fixed fee proportion will remain about the same. Considering that it looks like such parameter changes are going to be drip fed over time, and it looks like minPoolCost is going to be reduced first, then we should consider each change in isolation. As such, an isolated increase in K will effectively increase the percentage of rewards going to stake pool operators at the expense of delegators.
  4. Maybe it might somewhat normalise the idea of stake pool splitting in the community if we go too fast because I think so many pools are going to split if K is doubled. Pool splitting should be considered as a Sybil attack on Cardano. I agree with this blog post comment by Aggelos Kiayias:

If you are a whale (relative stake > 1/k) you can create multiple pools – but you should keep your leverage as close to 1 as possible or less. Pool splitting that increases your leverage hurts the delegators’ rewards, and more importantly, it hurts the decentralization of the Cardano ecosystem, which is detrimental to everyone. If you run and control multiple pools under different tickers, make a public statement about it. Explain the steps you take to control your leverage. Creating multiple pools while trying to conceal the fact that you control them is akin to a Sybil attack against Cardano. This behavior should be condemned by the community.

I don’t have a firm idea of what would be strategically the best way forward to maximise decentralisation. Maybe it would be better to increase K over several smaller step changes whilst also educating the community more about why stake pool splitting is bad. Big hat tip to Balance pool for really pushing the education. Thanks @ccgarant and @Nicholas_Gilbert. People should take a look at their awesome graphs on their website. And, they are a medium sized pool, over the 10M stake threshold, so there is no disincentive for delegators to stake with them.
Check out these charts:

8 Likes

I am even more ambivalent about doubling K now since Cardano Foundation has undermined this K parameter’s very meaning. As I said in this other post

The simple fact is that the Cardano design architects have this notion that the network should gravitate towards a certain number of single owner saturated pools. This concept is embodied in the K parameter.

I don’t see much point in increasing K if the voice of the community, which is supposed to be represented by Cardano Foundation, is going to green-light multi-pool operation. Multi-pool operation undermines the entire meaning of the K parameter. It has already proven difficult to dis-incentivise multi-pool operation though economic incentives alone built into the protocol design. Now with some very poorly chosen words, Cardano Foundation has undermined the other methods the community had to dis-incentivise multi-pool operation, namely social consensus.

I think as a community we really need to sort out what we believe decentralisation means first, before we push for the K parameter to be changed.

If you believe that stake pool operation should be decentralised then you really need to push back hard against what the Cardano Foundation has published on their website and in this other post.

5 Likes

I thought I better check the order of the thread, are your comments still applicable to @earncoinpool latest edits or were they for an earlier version?

1 Like

Of course not! They were on the very first version from 9th October.

This is much more sophisticated.

I personally don’t agree with it, but it makes its case in a very elaborated way.

3 Likes

All good. I thought I would ask the silly question so no one else got the wrong end of the stick. Thanks

1 Like

I would politely suggest that anyone interested in the K parameter at all focus their energy on it continuing to have some actual meaning. According to the design architects, the K parameter is supposed to represent the upper limit on the fraction of total Ada delegated to any single operator.

There is absolutely no point in increasing the value of K if it is consider good behaviour for everyone to run multiple pools. See CF’s proposed delegation changes in this thread: Cardano Foundation Updates Delegation Strategy

Let’s try to reinforce the meaning of the K parameter before we seek to change it. I think it might be better to reduce K so that it is in-line with whatever the value CF now thinks is OK for the proportion of total stake delegated to one operator.

6 Likes

Great job on this post @earncoinpool!!

K = 1000.

I am interested to hear your logic behind what you think changing K would achieve?

Cardano Foundation now approves delegating to multi-pool operators with K currently set at 500. Increasing K to 1000 will just cause more pool splitting, which according to CF, is OK. While CF voices their support for multi-pool operation, the community is powerless to use social pressure against it.

Note if an operator doubles the number of pools then s/he will earn double the amount of minPoolCost fees. In other words, pool splitting increases the earnings for multi-pool operators and reduces the proportion of rewards paid to delegators. Thus, increasing K might have unintended consequences.

1 Like

Here is our official form request for a technical review and recommendation from the Parameter Committee. cc @Joaquin - Thank you!

2 Likes

@Joaquin If I wanted to propose to instead lower optimalPoolCount to a value that is more realistic with respect to what we currently see in reality: Would that better be a concurrent PCP or a discussion in this one?

Just a basic question, seeing that only 20% of the pools voted, did we really get enough participation?

1 Like

Hi @HeptaSean

Please create a new topic for this proposal, stating the proposed value and justification. The Parameters Committee will review all the proposals in the next meeting.

Many thanks!

Hey Ernest,

the participation rate in the poll has been deemed a lot higher than 20%, as the pools that have previously minted at least one block in their lifetime is closer to 1000 than 3000. I’m not sure if this reasoning is correct, but that would put the survey participation rate closer to 70%.

1 Like

I would really like to understand what the perceived ‘gain’ would be from increasing K to 1000?

Let me outline the ‘costs’ and the current ‘lie of the land’

Some initial analysis (thanks to Karl Knutsson) of current stake distributions amongst pools suggests that about 250 pools would become saturated (have stake in excess of the optimum value) and hence have the economic incentive to change. The vast majority of those pools (over 215) are either operated by multi-pool operators, exchanges or similar. It would be unreasonable (given that they have already invested in the mechanisms to manage multiple pools and their ‘balancing’) to expect that stake to suddenly be redistributed.

This leaves around 35 ‘single pools’ that may decide to engage in the effort of becoming multiple pool operator and encourage their current delegators to stay with them.

Changing K to 1000 would imply that around 500 new nodes would have to be spun up (assuming one for the block producer and another relay node) - the only winner would seem to be the AWS, Google etc.

The number of active nodes in Cardano (ie those that contribute to 95% of the stake) is around 900 - well above the number needed for ‘safe’ operation. What is needed (from a day-to-day operational perspective) is that those existing nodes should be run ‘well’ (i.e reasonable responsive h/w, reasonable number of well run relays etc). As far as I can see increasing K would just increase costs and potentially reduce available revenue to ‘run the systems well’.

I’ll end this missive as I started - I can see the ‘costs’ (both to single pool operators and risks to the overall system of a less engaged set of SPOs). Would someone like to articulate the value of increasing K and how it justifies those costs?

3 Likes

I agree with pretty much everything you said @intutionismRus . I think the main advantage in increasing K seen by most, is that it will push delegators to reassess and maybe some will shift their delegation.

However, I think this is largely unrealistic for another reason you didn’t mention. The pools that are over 50% saturated likely have a few whales delegated to them with 5-10M Ada and these whales may even be known to the pool operator. Therefore the pool operator can simply spin up additional pools and inform their whales to shift to the new pools in order to re-balance their multi-pool operation. This way the disinterested delegators don’t even notice any change, and they stay “sticky”.

Small pool operators are basically frustrated for the following reasons:

  • Pledge doesn’t matter
  • Even the 170 Ada minPoolCost is a barrier to fair competition (because they need to grow their pool to around 5M stake before they can be competitive)
  • There is no clear mechanism to disincentivise multi-pool operation except through community social pressure (and CF just weakened this mechanism with their recent actions)
  • Running a pool is supposed to be about faithfully implementing the protocol and contributing to decentralisation. With decentralisation being about resilience and censorship resistance, which means we also need geographic and local government “decentralisation”.

In general, I think most pool operators view running a stake pool as some sort of gravy train to make money. This has been made worse by confounding the reasons for staking with a pool to whether the operator builds tools or produces podcasts, rather than what the staking mechanism was intended for which was to ensure faithful non-censoring operation of the protocol and decentralisation (in it’s full meaning).

Currently the incentives support multi-pool operation with co-location in data centres owned by Amazon where the operators of the pools make some tools or podcasts that the community likes.