“Publishers note - this article was drafted collaboratively by members of the parameters committee.”
‘K’ Parameter: Update
We are pleased to see the continuing discussion on the ‘k’ parameter, which highlights the complexity of both the premises and the possible effects of changing ‘k’. We’d further like to thank the author of the public ‘PCP_K-Parameter_EarnCoinPool’ submission and everyone who is involved in and driving the ensuing discussion of network health optimization, including SPOs, researchers and others from across Cardano’s ecosystem.
Note that this response is not a regular PCP result, but a comment on this discussion of the ‘k’ parameter to support the community endeavor. In the view of the parameter committee, the supplement (link) to the original K PCP does a good job of representing the relevant data about stake distribution and summarizing the arguments for and against an increase. Although those arguing for a different course of action might frame it differently, the key elements are there. In gathering this history of the conversation, the supplement highlights a few open questions that need to be cleared up.
We believe there are four major points to address in order to bring the discussion to a point of decision:
- The Committee’s role in supporting a decision about K
- The role of K in stake distribution
- The effect of increasing K on the network’s efficiency
- The value of addressing the reward sharing scheme as a whole
The Committee’s role in supporting a decision about K
In a PCP, the parameter committee considers a goal or plan that involves a change in Cardano’s parameters, provides facts about how the network will respond to those changes, and a recommendation about how to pursue that goal or plan, given those facts.
In the case of the present PCP, the goal appears to be the greater decentralisation of Cardano reward and stake distribution, and the plan to increase k to 1000 assumes that it is accurate to think of ‘k’ as a parameter that “fine tunes decentralization.” This is shown in part by the PCP’s extensive citations of material from IOG and Cardano Foundation explaining k’s original design rationale as a lever to increase decentralization during the maturation of network stake distribution.
However, as shown below, ‘k’ diverged significantly in practice from what the design rationale of ‘k’ predicted, due to other network and real world factors, and this divergence accentuates the tradeoffs associated with an increase in ‘k’. Both of these discrepancies with the PCP’s starting assumptions are important to be aware of for the ecosystem to decide what plan it wishes to follow to optimize stake and reward distribution.
For these reasons, the best way for the parameter committee to serve the PCP’s goal is to correct or recalibrate the premise about what can be expected of ‘k’’ so that the ecosystem can assess its options with accurate information, and pursue the goal of optimizing reward and stake distribution.
To preface this discussion we summarize the three major options we see for the ecosystem to pursue:
- Leave ‘k’ unchanged (isolated from other efforts). From the perspective of the security and liveness of the network, this is a reasonable option, but it leaves potential improvements to the distribution of rewards and stake on the table.
- Increase ‘k’ in one or more stages to either 750 or 1000 (isolated from other efforts). This may improve rewards and stake distribution to the extent that ‘k’ affects real stake distribution, but this will carry costs for the efficiency and health of the network in other dimensions.
- Revisit the wider reward sharing / incentives scheme with the aim of improving rewards and stake distribution. This course of action would involve using knowledge gained from years of observing the original research and implementation interact with real world conditions. It requires changes to the incentives scheme beyond simple parameter changes, although parameter changes such as ‘k’ may be part of the strategic plan. So, option 3 does not exclude options 1 and 2.
The role of K in stake distribution
In their supplement to the main PCP submission, the author asks:
a) “If K is not the parameter used to fine tune decentralization, then what parameter is?”
b) “If K is not central to decentralization, then why does the K parameter exist?”
To a) – While ‘k’ has undoubtedly contributed to Cardano’s decentralization, it is not the sole factor. Apart from a0 and minpoolcost, other non-parameter features such as redelegation and liquid staking also play a role. A serious attempt to fine tune decentralization is likely to imply a larger project which looks at multiple parameters in addition to potential reformations to the reward sharing scheme.
To b) – ‘k’ is specifically designed to impact the target number of stake pools by creating disincentives for a pool to accumulate stake above some threshold. The Ouroboros incentives paper used a game-theoretical analysis which assumes that the number of stake pools would converge to ‘k’ over time. In practice, this is not the case, as the projected game theory does not fully reflect the complex real-world factors that have developed in the years since Cardano’s implementation. In particular, the original paper didn’t consider the impact and effects of: custodied staking services (exchanges), multi-pools, pool branding, loyalty, delegation stickiness, or the effects of non-financial incentives: ethical delegation (e.g. UNHCR) personal delegation (a friend, or particular operator).
If each stake pool was operated as an independent entity, and convergence happened as predicted by the model, then ‘k’ would be a direct measure of decentralisation, which can be defined in this report as the quantity of the distribution of control.
Metrics such as Edinburgh Decentralisation Index (EDI) clearly show that while ‘k’ is, as predicted, an indicator for the level of decentralisation, there is not a direct correspondence between ‘k’ and the actual level of decentralisation. In fact, Cardano now has many more than the target number of pools even accounting for multipool operators. This is around 1000 block producers per epoch, which is in-line with the Binomial distribution expectation of the target value of 500, and around 3000 total registered pools.
Looking at the number of registered stake pools, it appears that it is asymptotal around 3000, and more importantly, independent and not correlated to market conditions, price of Ada, or the amount of Ada in the reserves. Due to this, we can consider the total number of registered pools to be a proxy (with some unknown factor) for the number of entities in the Cardano ecosystem interested to run a stake pool. It would thus be fair to assume that the number of entities running a stake pool will not be altered significantly when changing ‘k’, and mainly the number of pools and balance of stake to some extent, would be affected.
Given the overall disconnect between k and stake distribution, due to real-world circumstances not accounted for in the original research, we can expect a number of limitations on the effectiveness of increasing ‘k’ to alter real decentralization.
- Most of the multi-pools and exchanges will be incentivized to split if ‘k’ is increased and there is not sufficient evidence to assume that this stake will cascade to “single pools”. The one prior example we have shows that some stake moved to single pools. While this isn’t sufficient evidence to predict the same result, it again shows the limited effectiveness of the parameter.
- The existence of multi-pools tells us that multi-pool operators have been willing to create new pools to circumvent the cap, and its not clear that this would change in future.
- It is unclear whether, amongst all single pool operators, the smaller ones will benefit directly at all, or if re-staking will happen around the bigger single pools.
- The existence of small pools far beyond the target ‘k-500’ may indicate that the present incentive scheme supports a high proportion of pools stacking up at the bottom of stake distribution; if so, an increase in ‘k’ may primarily add to the total number of struggling small pools, rather than improving the network for existing pools.
The effect of raising k on the network’s efficiency
An increase in ‘k’ would affect the cost of operating the network, which can be thought of in terms of financial or energy costs. While doubling ‘k’ would be unlikely to lead to a proportional doubling of cost, many pools are likely to be created and nodes spun up, following multi-pool and exchange pool splits.
The energy impact can be seen quantitatively in terms of carbon emissions through research by CCRI (CCRI Indices) and the report on the impact of Cardano in particular (https://carbon-ratings.com/dl/network-assessment-cardano-2024). As a result of this increase in global energy consumption, the total cost of block validation will increase and profitability of Cardano block production as a market will fall.
To put the applied methodology of CCRI into perspective, where the energy demand is related to the actual cost of consensus, the number of SPOs producing blocks per epoch is 1000. Those SPOs are estimated to each run 2 relays on average, as per the CCRI report, amounting to 3000 nodes actively participating in consensus per epoch, with many more (those SPOs not assigned a slot in an epoch) needing to keep up. There are two relevant corollaries:
- Because of pool-splitting amongst multi-pool operators (such as exchanges), an increase in ‘k’ is likely to increase the infrastructure costs of the network at a higher rate than it will increase stake distribution.
- Since PCP-001 (and before), measuring block propagation has been a major undertaking and with 12 months or more of data, it is clear that even with k=500, global block distribution and adoption is neither stable, nor at 100% of the design specification already. While the efficiency of block propagation is not directly proportional to ‘k’, node count does play a significant role. Given that we observe significant dips at roughly 3000 actively relevant nodes at k=500 already, an increase in ‘k’ would only accentuate the impact.
In effect, increasing ‘k’ entails a tradeoff in the efficiency of the network for improvements in stake distribution. The significance of these tradeoffs in light of the potential benefits and alternative courses of action remains for the community to decide.
The value of addressing the reward sharing scheme as a whole
The apparent goal of the PCP and ensuing discussion is the improvement of Cardano reward and stake distribution. Rewards are not distributed evenly, especially for block producers with small numbers of blocks produced per epoch.
The rewards sharing scheme (RSS) is a complex system with many potential design optimizations that may be more effective than increasing ‘k’ by itself. Addressing the range of design factors affecting the target mechanism of rewards distribution first would arguably be many-fold more productive than manipulating ‘k’ in isolation.
It is not within the scope of the Parameter Committee to propose design improvements to the RSS, but we believe this is a fruitful line of approach for optimizing network health in ways that those both for and against an increase in ‘k’ can agree on. Some areas raised in the discussion so far that could be pursued by the community include:
-
Using a ‘minVarFee’ as suggested above by community members. Although this is probably not a large development effort, it would require a hard fork.
-
To amortise rewards below some threshold of expected production (e.g. 10 blocks). This would also need a hard fork.
-
Distribute rewards in a less linear fashion, e.g. so that smaller pools received relatively more reward. This would also require a hard fork, and would need some research investigation, since the original game theory would be affected to some extent.
-
Include metrics such as reputation when determining block production/rewards. This is proposed in Minotaur, but is still only a research proposal.
-
Proxy stake - A major issue is how to address SPOs who are delegating “proxy” stake (i.e. stake that they do not own, but which they control). SPOs typically refer to these as “exchanges”, but there are other actors in the ecosystem. Proxy stake will not flow down to other SPOs as a result of increasing ‘k’, but will just be allocated to new pools that are owned by the same operators. Increasing ‘a0’ (as some suggest) will actually allow operators with a large proxy stake to gain a greater share of the rewards if they choose to pledge rather than delegate some or all of their “borrowed” stake. Again, reviewing this is important.
-
Sticky stake - Another issue, also identified by the community, is that “sticky stake” and current re-delegation mechanisms in wallets do mean that there is less frequent re-delegation than the game theory would have assumed. Removing “active” stake is a possibility and a small technical change to the rewards scheme. It has some negatives, also noted by the community, mostly around reducing the amount of stake that participates in block production (a major metric of actual decentralisation - passive participation is still participation in the system).
While this doesn’t comprise a direct response to the original proposition of the K-1000 PCP, the committee does have a recommendation– we believe Cardano will be best served by community members organizing to optimize the rewards sharing scheme via the CIP process and Intersect. You can reach out to the Membership and Community Committee to support you in establishing a presence and momentum for the initiative.
We hope that this reply reaffirms the overall goal of optimizing network health and clarifies the range of options for pursuing it, so that the Cardano community can take action. We’d like to conclude by reiterating that the Committee is very pleased to see this discussion proceed; special thanks to the author of the PCP proposal.