Deterministic k: A proposal for gradual decentralisation of delegated stake on Cardano

Thanks and recognition

Mission Zambia Stake Pool has successfully minted our first-ever block on the Cardano mainnet this epoch (507). I want to express deep gratitude to all our delegators who have supported us over the past year as we waited for our chance to participate. Your loyalty and commitment mean more than words can convey.

Preamble

Recently, we gained some attention on social media, which sparked a discussion about the challenges small pools face compared to established ones. Delegators are often forced to choose between supporting decentralization by backing smaller pools or opting for larger pools that guarantee rewards. This imbalance is detrimental to decentralization, inclusivity, and diversity—core principles of the Cardano ecosystem.

At the same time, we understand the need for a stable, predictable system, which helps keep users engaged with the network. Stability is essential for long-term growth.

Problem Statement

Currently, staking delegation is regulated by the k parameter, which defines the desired number of active pools and the saturation point where rewards are capped. In 2023, the community voted on whether to maintain k at 500 or increase it to 1,000. The vote was about evenly split, and k has remained at 500. Now, with the arrival of the Voltaire era, we are once again debating whether k should be increased and by how much.

As of today, there are approximately 3,000 stake pools registered on the mainnet, but only about 1,000 are actively minting blocks. This leaves two-thirds of registered pools inactive, which is a poor outcome for decentralization. Smaller pools find it hard to attract delegators, and as a stake pool operator who waited over a year to mint a block, I can attest to the struggle.

The current static k at 500 is not optimal for fostering decentralization. Neither does it reflect the reality of the number of active stake pools. The repeated debates over extreme options (such as increasing k to 1,000) risk causing stagnation and voter fatigue. We need a new approach.

Proposal

This proposal introduces a dynamic, mathematically driven method for adjusting the k parameter. Instead of setting k statically by vote, I propose that it evolves based on real-time network data. This approach helps decentralize the network, avoids abrupt changes that disrupt staking incentives and allows k to reflect the actual state of the blockchain.

Instead of regulating the desired number of active pools, I propose we regulate the desired percentage of registered pools that are active (Q). I believe this metric is easier to reach a consensus on. I suggest aiming for two-thirds of all registered pools to be active. This would improve several important metrics for Cardano’s decentralization goals.

To prevent sudden and disruptive changes, I also propose introducing a new parameter to control how much k can change between epochs: the maximum allowable percentage change (M). In the past, abrupt change to k has caused pool saturation points to halve overnight, resulting in sudden shifts in delegation and creating an unsettling experience for delegators and operators alike. I propose limiting the change in k to 1% per epoch, ensuring gradual, predictable adjustments to the target value defined by Q.

Key Variables

  • P: The total number of registered stake pools on the network at the start of an epoch.
  • Pm: The moving average of P over the last 20 epochs, further smoothing fluctuations.
  • Q: The desired percentage of registered pools that should be active, determined by governance (proposed at two-thirds, or 66%).
  • M: The maximum permissible change in k per epoch, designed to limit volatility (proposed at 1%).

Algorithm for Updating k

The process for determining the new k at the start of each epoch would be as follows:

  1. Calculate the target number of active pools:
      Pq = Q × Pm
  2. Determine the difference between the current k and the target:
      D = Pq - k
  3. Limit the rate of change:
      R = min(M × |D|, M × k)
  4. Set the new value for k based on the following:
    • If Pq > k, then kn = k + R.
    • If Pq < k, then kn = k - R.

The formula for kn can be summarized as:

kn = k + sgn(Pq - k) × min(M × |Pq - k|, M × k)

where sgn(x) is the sign function, which determines the direction of adjustment.

Benefits of Deterministic k

  • Promotes Decentralization: A dynamic k encourages smaller pools to remain active, supporting the decentralization of the network.
  • Smooth Transitions: Limiting changes to 1% per epoch prevents large shifts in delegation and maintains a stable staking experience.
  • Reduced Governance Overhead: Automating k adjustments reduces the frequency of governance votes, minimizing voter fatigue.
  • Incentivizes Participation: A more decentralized network encourages new pools to register and attract delegators.

Projected Evolution of k Over 500 Epochs with Deterministic k

Below is a table that projects how the k parameter will evolve over the next 500 epochs under the proposed deterministic model. The model assumes a steady increase in the number of registered pools, P, by 3 pools per epoch. Additionally, the total circulating ADA is assumed to remain constant at 36 billion, which has been used to calculate the pool saturation point.

Notably, the frequently discussed proposed values for k, such as 750 and 1,000, are expected to be reached in epochs 41 and 70, respectively. This demonstrates the gradual yet stable increase of k with the deterministic model, providing the network with the predictability and stability required for long-term success.

A projection of network data over 500 epochs with deterministic k implemented

Conclusion

This proposal addresses the current limitations of the k parameter by introducing a dynamic, data-driven approach. By shifting the regulated metric from a static number of active pools to a percentage of registered pools, we can better align with Cardano’s decentralization goals. A deterministic k will ensure the network adapts to changing conditions while maintaining stability and reducing governance complexity.