Decentralisation Matters

Hi,

and welcome :wave: to Decentralisation Matters. In this topic I will regularly present the results of analyses that I conduct independently on Cardano blockchain data.

The analyses will be presented with minimal commentary (eg results, but not necessarily strong interpretations): this is so that interested readers can form their own opinions and contribute to discussions here on the Forum.

The queries used to acquire all data, as well as the scripts used to produce the analyses are available on GitHub. Each analysis will be presented separately and will require different datasets and scripts to replicate.

My hope is that interested readers will replicate some of my work to check it, as well as ask their own questions.

:beers: Cheers and happy Cardano analyses!

8 Likes

A slow but steady decrease in Cardano Stake Pools

Here I will take a close look at block production in Cardano since the advent of Shelley (epoch 209) in terms of Stake Pools participating in the protocol. These analyses were conducted independently and cover epochs 209 through to 539, spanning a total of 6,939,060 blocks. Over the total period analysed, 3229 unique Pools participated in the Cardano protocol (minted at least 1 block).

Shelley was launched in epoch 209, after which d was progressively decreased to 0 (reached in epoch 257). This parameter was eventually removed in 2022. When d reached 0, block production moved fully to Community Stake Pools (no more federated block production) (Figure 1).


Figure 1. The effects of the progressive decrease of d can be seen here, helping us identify the cutoff of epoch 257, which will be useful throughout the rest of this analysis.

Having identified this cutoff, let’s look at the trend in the number of Stake Pools participating in the Cardano protocol. Between epochs 209 and 257 the “Shelley Effect” is clearly visible (Figure 2). As d decreases, more and more Community Pools participate in block production, up to 951 Pools in epoch 257.

The maximum number of Pools contributing blocks in any given epoch was reached in epoch 301 (1151 Pools) (Figure 2). The minimum number since d=0 (so after epoch 257, included) was 944 Pools in epoch 342 (Figure 2). To clarify: epochs prior to 257 are not included in the minimum calculation because there was still a contribution of federated blocks, so block production had not fully been delegated to Community Pools yet (Figure 1).


Figure 2. Number of Community Pools contributing blocks to the Cardano blockchain over epochs since the launch of Shelley. The lines of best fit correspond to two separate linear regressions, with a cutoff at epoch 301, when the maximum number of Pools per epoch was reached.

Overall, the number of Pools regularly participating in the Cardano protocol (i.e., producing a block in at least 10% of epochs) was 1849. In the epochs following 257 (when d=0) the average number of Stake Pools contributing blocks in any given epoch was 1089, and in the same period 2919 unique Pools contributed to the blockchain.

Our models, no_pools ~ epoch, capture a good portion of the variability in number of Stake Pools contributing to Cardano (Figure 2). This means that the passing of time (epochs) has an influence over the number of Stake Pools participating in the protocol.

Before epoch 257 we see a quick and steady increase in participating Pools, with our model explaining over 90% of the data distribution (R-squared 0.9037, p<0.001). This is expected, as more and more Pools came online and got to participate thanks to the decrease of d.

Our second model analysed data from epoch 302 onwards (immediately following the peak in contributing Pools seen in epoch 301) (Figure 2). Here, we captured over 26% of the data variability and observed a slow but steady decline in number of participating Pools (R-squared 0.2634, p<0.001).

This latter trend indicates that the system is losing diversity of participating Pools since its peak in epoch 301. The retirement of Stake Pools through time is surely responsible for this trend, at least in part. So, let’s look at retirement of Pools next.

Since Shelley, 5956 Pools have registered. As we have seen in our previous analysis, approximately 54% of these (3229) have, at least once, contributed a block to Cardano. In the same period, 1733 Pools have retired (Figure 3). Retirement of Pools has not been linear: it appears to have peaked in rate around 2021 and to be now plateauing (Figure 3).


Figure 3. Cumulative number of Cardano Stake Pools retiring over time.

The epoch that saw most retirements was 442, with 29 Pools retiring. 287 Pools retired in 2020, 737 in 2021, 347 in 2022, 226 in 2023, 123 in 2024 and 13 so far in 2025 (up to epoch 539).

Overall, the number of retired Pools constitutes 29.1% of those that have ever registered. Of the 1733 retired Pools, 632 have minted at least one block (36.4%). The latter 632 retired Pools have minted in total 372,941 blocks (5.3% of the blocks since Shelley). Further, they represent 19.6% of the Pools with at least one lifetime block. These numbers are quite large and, together with the significant decline in contributing Pools over time, indicate that Pools are being “weeded out”.

Although the number of Stake Pools contributing to the Cardano blockchain seems to be stabilising (around 1000 in each given epoch) (Figure 2), there is a potentially worrisome declining trend. There are surely factors, other than Pool retirement, contributing to this trend: these could include the consolidation of stake into large Pools, as well as an increased influence of known Pool groups. These, and other factors influencing decentralisation of block production in Cardano will be examined in future analyses.

All Koios queries and R scripts for analyses presented here, can be found on GitHub at this link:
https://github.com/adrem1/block_data_analyses (01_blocks_by_pools)


CHANGELOG:
2025.02.28 posted analysis
2025.02.28 edited figure 2 caption for clarity

6 Likes

Thank you for the research share. I think, although it may not be a particularly serious issue right now, it will still be necessary to seek solutions in the future that can ensure greater decentralization

1 Like

Thank you for putting this together and starting these conversations. I hope to see more discussions of decentralization starting to take place.

Here’s a link to another article about decentralization on Cardano that may be a complimentary view point.

3 Likes

@QuasarChains it is my pleasure. I will be adding more analyses here as time permits.

PS the link in your post takes me to a discord channel. Can you please explain?

Cheers🍻

1 Like

@champollion thank you for your support. Agreed, long-term solutions will need to be identified and implemented. Future analyses of current trends might help highlight avenues to pursue.

2 Likes

The Rising Influence of Known Pool Groups in Cardano Block Production

Here I will take a close look at block production in Cardano since the advent of Shelley (epoch 209) in terms of Pool groups participating in the protocol. These analyses were conducted independently and cover epochs 209 through to 539, spanning a total of 6,939,060 blocks. I wish to thank Balance for the identification and publication of all currently known Pool groups used herein. Group data used in these analyses were fetched from Balance Pool’s API in late February 2025 and have been added to the GitHub repo associated with this write-up (linked below) to be compared (if desired) with the latest group data available through the same API here.

Known Pool groups are becoming more numerous in Cardano. The groups used in this analysis belong to a wide range of types: from well established, easy to identify MultiPool groups run by Centralised Exchanges (CEXs) to MultiPool groups that came to light only thanks to extensive blockchain data forensics.

There are 126 currently known Pool groups. For the purposes of the analyses presented here, groups were further classified, based on the number of Pools in them (Table 1).

Table 1. Pool groups in Cardano and their definition for these analyses. Pool group data courtesy of Balance Pool.

Definition Number of Groups % of total Groups Number of Pools
XL Groups 8 or more Pools 22 17.5% 457
L Groups 4-7 Pools 29 23% 140
M Groups 2-3 Pools 74 58.7% 164
Single Pools Single 1 0.8% 2738

Not all Pool groups behave and represent themselves in the same way. Therefore, different groups (and different size groups) are expected to show variation in performance through time. Let’s examine the top 22 Pool groups by number of Pools (XL Groups) and track their influence on Cardano block production through time (Figure 1). Single Pools were removed as a group from this analysis and will be treated separately.

Without going into details for all specific XL groups, we notice that some groups have seen their influence on block production steadily increase over time: this is indicated by the representation of Pools in Cardano blocks over epochs (Figure 1). Conversely, other groups have lost influence over block production over the same period (Figure 1).

Two XL groups deserve a special treatment here: ASTRL and ROCKX (Figure 1). Despite having 10 Pools in its group, ASTRL never minted a single block (absent in Figure 1). All Pools in this group contain (and, as far as I could tell, have always contained) less than 200 ADA each, making the probability of slot assignment negligible. It is not my role to give explanations as to why anyone would go through the trouble of doing this, but asking the question may be relevant in the future. ROCKX on the other hand is never represented by more than one Pool in any given epoch (Figure 1). This is because 8 out of 10 ROCKX Pools have never met their pledge, one has never had more than 20,000 ADA in it and the last is the only one running with a considerable stake delegation.

Similar observations can be made for L groups (Figure 2). Here we see some groups stabilizing the number of contributing Pools over epochs, indicating that Pools in those groups have grown to thresholds of stake that allow them to mint blocks every epoch (Figure 2). Other groups had short contributions to the chain and then disappeared, others again saw their influence on block production decrease through time (Figure 2). Overall, the XL and L groups’ landscape seems stable in terms of how many Pools in these groups regularly mint blocks, particularly after epoch 257 (d=0) (Figures 1, 2).

The proportion of Pools (minting blocks in any given epoch) belonging to different size groups is not stable through time (Figure 3). The relative stability observed above, when “zooming in” on specific groups, is replaced by clear trends in “winners” and “losers” when looking at general patterns through time (Figure 3). Specifically, XL groups have been steadily minting more blocks over time and L groups have occupied a stable niche in block production, to the detriment of M groups, those with 2-3 Pools in them, which seem to be losing influence over time (Figure 3). Although Single Pools also seem to have gained influence, it is important to remember that Single Pools constitute over 78% of the total Pools examined here (2738 out of 3499) and their influence on block production is never close to that (Figure 3).

Keeping in mind the disproportionate influence exerted by a relatively small number of Pools (those belonging to groups), we shall look at block production by group size (Figure 4). Here, after the initial increase of Community Pools’ influence as d was gradually being lowered to 0 (epoch 257), group-size-level influence enters a relatively stable pattern (Figure 4). Despite representing just over 13% of the total Pool population (457 out of 3499), XL groups regularly mint over 40% of blocks in any given epoch (Figure 4). Single Pools are distant seconds hovering close to 25%, followed by L and M groups, coming in around 10-12% each (Figure 4). As above, we must keep in mind that Single Pools are by far more numerous than all the other Pools (those in groups) combined, and yet they control less than 25% of blocks (Figure 4).

When we treat Single Pools as a separate entity from all Pools belonging to groups, we get an even clearer picture: Single Pools minted a proportion in the range of 19% to 29% of blocks in any given epoch, with an average of 25% (Figure 5). Pool groups, conversely, range between 71% to 81%, with an average of 75% of blocks minted (Figure 5). In short, an overwhelming minority of the Pool population (22%) is consistently responsible for most of the block production in Cardano (Figure 5).

When we weigh block production by number of Pools in a group, the disproportionate influence of Pool groups becomes even more evident (Figure 6). Despite constituting an overwhelming majority by number of Pools (78% of the Pool population), Single Pools hardly ever exerted more than a 10% influence on block production (Figure 6).

In the previous analysis presented here, the number of retired Pools was identified in 1733, 632 of which had previously minted at least one block. So, how many of these retired pools belonged to groups before retirement? After determining that 98 Pools retired prior to epoch 257 (d=0), I was able to match retired Pools to currently available group data. Overall, 577 of the minting retired Pools had no group data available, and of the remaining 55, 53 (96%) were Single Pools.

We have seen that Pool groups have more influence over block production than Single Pools. The total number of Pools contributing blocks to Cardano is shrinking and it appears that those remaining are slowly shifting toward large, consolidated groups (Figure 3). There is further evidence of this trend when we look at the number of entities required to mint 50%+1 of the blocks in any given epoch (Figure 7). Please note that this metric is not the same as MAV (Minimum Attack Vector), because the latter refers to the smallest set of entities controlling 50%+1 of stake. Even though stake influences block production heavily, it is not a 1:1 match, as it considers neither efficiency and performance of Pools, nor luck in slot assignment.

We notice that the number of Pools and groups needed to achieve a 50%+1 majority of blocks is shrinking (Figure 7). Since epoch 257 (when d=0), the maximum number of pools needed to mint over half of Cardano blocks in any given epoch was 201 (epoch 340) and has now declined to a minimum of 166 (epoch 538), with an average of 186 (Figure 7). During the same period, groups needed for half of the blocks ranged from 34 (epoch 323) to 19 (epoch 258), with an average of 26 (Figure 7). These are quite low numbers, very close to the current estimates for MAV, indicating that Cardano is losing decentralisation to the advantage of few, large Pool groups.

Pool groups also show much more longevity and stability than Single Pools (Figure 8). Longevity here is defined as the number of epochs any given group or Pool has been contributing to the system (in other words, how long they have been around for), and stability is defined as the percentage of epochs in which any given group or Pool has been minting blocks.

A vast majority of the known groups has existed and continues to exist throughout the period analysed here, so since the Shelley launch (Figure 8). Conversely, the longevity of Pools shows two peaks, corresponding to short-lived Pools and long-lived Pools respectively, with many in between (Figure 8). Stability of block production in Pools also shows most Pools minting blocks infrequently, in stark contrast with known groups (Figure 8). It may be possible to partially explain enhanced longevity and stability in Pool groups with the reluctance to move delegations (a phenomenon known as “sticky stake”), a possibility that will require further analyses.

We have previously seen declining trends in Pool diversity over time and now we have a clearer picture as to where that diversity is being lost from. In future analyses, the inclusion of stake distribution data might shed further light on the apparent dominance of known Pool groups in the Cardano block production landscape.

I wish to thank Wayne [OTG], Rich [ECP] and Homer [AAA] for providing early feedback to this writeup.

All Koios queries and R scripts for analyses presented here, can be found on GitHub at this link. Please note that Koios queries are the same as the previously presented analysis, but have been provided again for convenience. The group data fetched in late February 2025 from the Balance Pool API are also provided in the folder for ease of comparison.


CHANGELOG:
2025.03.12 Initial Post
2025.03.12 Added last paragraphs and figure as I had mistakenly posted incomplete draft
2025.03.12 Moved changelog to bottom of post
2025.03.13 temporarily removed section about 50%+1 blocks (further analysis needed, checking consistency with Koios staff)
2025.03.13 temporarily renumbered figures and in-text references to them to reflect above changes
2025.03.13 grammar
2025.03.13 added 50%+1 section again, with corrected analysis and plot, included acknowledgement for AAA - Homer

6 Likes

Supported by modern data insights, these publications offer a solid foundation for academic inquiry into the Cardano Blockchain. I eagerly anticipate the arrival of further updates @Adrem

2 Likes

thank you for the kind words @devin

below you’ll soon find the new chapter, discussing stake distribution at pool level

Retirement, Dominance and the Inequality of Wealth in Cardano Stake Pools

In the present analysis, I look at the distribution of stake in Cardano. The analysis was independently conducted and data span from epoch 210 (August 2020) to epoch 551 (April 2025). In previous analyses presented here, I have looked at block production, both at pool and pool-group level. Although not a 1:1 relationship, stake is widely considered a good predictor of block production for all players involved. Therefore, the expectation is that the asymmetries highlighted in previous analyses, as well as the concentration of power in fewer hands, are going to be reflected in the distribution of stake.

Let’s begin with some overarching considerations: the amount of ADA staked to pools is decreasing (Figure 1, left panel). Staked ADA hit its historical minimum in epoch 409 (20.869B), its historical maximum in epoch 391 (25.528B) and currently sits at 21.802B (epoch 551). The current figure is a lot closer to the historical minimum than the maximum and is a cause of concern in need of further evaluation. Several factors could help explain this trend, including ADA being locked in liquidity pools and centralised exchanges controlling increasing amounts of ADA in preparation of institutional investment.


Figure 1. Total staked ADA (left) and Gini Coefficient (right) through time. The vertical dashed line corresponds to epoch 257 (when d=0).

Cardano was not designed as an egalitarian system. Nonetheless, the expectation from the designing cryptographers was that, with the available parameters and if all players ran one pool only, the system would converge to the ideal number of saturated pools (represented by k). This has not come to pass: Cardano’s stake pool landscape never had a distribution of wealth that even remotely resembled equality. This is well captured by Cardano’s Gini Coefficient (Figure 1, right panel): the Gini Coefficient is a statistical measure of wealth distribution, ranging from 0 (perfect equality) to 1 (prefect inequality, where one entity controls all wealth and everyone else none). Since d=0 (epoch 257), Cardano’s Gini Coefficient at stake pool level has ranged between 0.809 and 0.853, currently sitting at 0.844 and showing a slight upward trend. This indicates that wealth (in terms of delegation) is highly skewed toward a small number of large stake pools.


Figure 2. Pareto plot (left) of stake vs pools; number of pools needed to control 50% of staked ADA (middle) and proportion of staked ADA controlled by the top 100, 50 and 10 pools in Cardano (since epoch 257).

Currently, 8.3% of all pools control 50% of the total staked ADA (Figure 2, left panel). An initial diversification post Shelley has been followed (since epoch 339) by a steady decline in the number of stake pools needed to control 50% of the staked ADA (Figure 2, middle panel). This number has ranged between 165 (epoch 406) and 201 (epoch 339) and currently sits at 169 (epoch 551) (Figure 2, middle panel). Note that this number is not the same as MAV: this is because the current analysis evaluates stake distribution at pool level, without considering known pool groups, something that will be done separately.

In previous analyses we saw that few pools exert a disproportionate influence on block production: the same is true (and expected) for stake delegation (Figure 2, right panel). The decrease in number of stake pools controlling 50% of staked ADA corresponds to a rising influence of the top pools (Figure 2, right panel). The top 10 pools in Cardano control a percentage of staked ADA ranging between 2.7% (epoch 331) and 4.6% (epoch 406), currently sitting at 4.4% (epoch 551). The top 50 pools range from 13.4% of total ADA (epoch 369) to 17.6% (epoch 551). The top 100 pools control a minimum of 26.3% of total (epoch 375) to a current maximum of 33.1% (epoch 551). Noteworthy is that the highest percentage of controlled ADA has been reached now (April 2025) by both the top 50 and top 100 pools (Figure 2, right panel).


Figure 3. Composition of the top 100 pools in Cardano: Stacked bar plot showing number of pools belonging to different size brackets (left); heatmap of pools by active stake size over time (right). Both plots start at epoch 257 (d=0).

Since d=0 (epoch 257) the top 100 Cardano stake pools have been composed of pools with delegations over 50M ADA (Figure 3, left panel). This is perhaps unsurprising, but there is a notable evolution: in the last couple of years, the prevalence of pools at or near saturation (i.e. in the 70M-80M mark) have all but doubled their presence in the top 100 list (Figure 3, left panel). These large pools now constitute 62% of the top 100, the remaining ones falling into the 60M-70M ADA category (36%) and in the oversaturated 80M+ category (2%) (Figure 3, left panel). Within this 60M-80M+ bracket there is some variability in size, as expected (Figure 3, right panel). Nevertheless, the trend that is emerging here is clear: big pools are getting bigger.


Figure 4. Size of retired stake pools: overall, using 10M ADA size bins (left); within 10M maximum lifetime delegation (middle); ridge density plot, clustered by epoch groups showing retiring patterns for extra small pools with <1M ADA in delegation (right).

We have seen here that staked ADA is decreasing, so how can we account for the increased flow of ADA into few, large pools? Some of these ADA are coming from the reward pot surely, but some may be coming from retired pools. When looking at the latter in terms of size at retirement, we find that retiring pools are small (Figure 4, left panel). However, this may be an artifact, due to the successful redelegation by stake holders upon the announcement of retirement.

To control for this, the 0-10M ADA cohort of retired pools was further split in 1M ADA bins, this time using maximum lifetime stake as a metric (Figure 4, middle panel): most retiring small pools never had delegations above 1M ADA. Nevertheless, over 160 pools (with k at 500 this equates to nearly a third of the ideal number of saturated pools) retired after having attained maximum delegations in the range of 2M-10M ADA (Figure 4, middle panel). These delegations of over 500M ADA, or 2.5% of the current total staked ADA, strengthen the dominance of few large pools.

When looking at the time of retirement of extra small pools (Figure 4, right panel), we notice that retirement is ongoing and not confined to any specific time in the past. So, what are the dynamics of retirement? Most retired pools experience a drop in delegation proportionate to their size prior to retirement (Figure 5, left panel). Determining whether this is due to successful communication of retirement on behalf of the operator, or, conversely, a reaction to lost delegation, is beyond the scope of this analysis. The dynamics of delegation in Cardano are complex and human-centric: to fully ascertain whether the drops occur before or after the decision to retire a pool would require individually “following” stake keys.


Figure 5. On-chain dynamics of pool retirement: ADA drops (left); epochs of decline (middle) and rate of ADA drops (right).

Another interesting observation is that many retired pools experience their drop in stake gradually, over relatively extended periods of time (Figure 5, middle and right panels). This indicates that some retired pools gave the system a fair go before capitulating. This is consistent with what we have seen in previous analyses, showing that many retired pools had actively contributed blocks to the system. Although it is hard to generalise the dynamics and decision-making of pool retirement, the data we have at hand here seem to indicate that many operators consider retirement carefully, perhaps as the culmination of a long process of decline.


Figure 6. Area under curve plot, showing a fair fit of the GLM predicting likelihood of retirement using stake pool size.

Pool size is a good predictor for the likelihood of retirement. A generalised linear model (GLM) was fitted to empirical data with formula: prob(pool_status == retired)~ max(active_stake). In other terms: “does pool size affect probability of retirement?”. It turns out it does: the model is highly significant (p < 0.001) with a coefficient (log-likelihood) of -2.363e-08. A negative coefficient means that growth of a pool is inversely proportional to retirement probability: adding 10M ADA to a pool makes it 21% less likely to retire. Although highly significant, the relationship between pool size and likelihood of retirement is not exhaustive: the model had a fair fit (Figure 6), indicating that there is unexplained variability. This is expected: as we have seen above, the dynamics of retirement can be highly personal and varied.

In conclusion, this analysis highlights some trends that could be a cause of concern for Cardano: many small pools are retiring and doing so with a much higher degree of probability than big ones. Further, some relatively successful pools retire, leaving ADA to flow toward large pools, further strengthening their dominance. Lastly, the consolidation of stake in the hands of fewer and fewer large pools is increasing the inequality of wealth in Cardano stake pools.

All Koios queries and R scripts for analyses presented here, can be found on GitHub at this link.


CHANGELOG:
28.04.2024: Created new post entry

5 Likes