mattyTokenomics

Jan 0215 min read

Q4 2022 STX Stacking Report

As of January 2nd, 2023
by @mattyTokenomics

Introduction

Stacks uses a unique consensus mechanism called Proof of Transfer (PoX) through which the Stacks chain ultimately settles to the Bitcoin blockchain. PoX is conceptually similar to Bitcoin's PoW. In PoW, miners spend electricity for a proportional chance to win a BTC block. In PoX, miners spend BTC (recycled electricity) for a proportional chance to win a STX block. Since mining STX involves sending native BTC transactions on the BTC chain, the very act of mining STX is the act of writing Stacks’ history onto the BTC chain itself.

In other words, via PoX, there is no other way to add transactions on to the Stacks chain history other than to write that history to BTC’s chain.

Settling to BTC's chain means Stacks inherits much of Bitcoin's security and immutability, however the decentralization of Stacks mining itself also plays a role in its security. If you’re interested in the finer details, you can learn more about PoX, how STX transactions settle to Bitcoin's chain, and Stacks' attack vectors from this PoX Twitter thread.

The BTC spent by STX miners in the PoX consensus mechanism is distributed to stackers, generating a native yield for holders of STX distributed in native BTC. Similarly to how the decentralization of STX miners plays a role in security, the decentralization of STX stackers plays a role in the security of sBTC - native BTC deployed on the Stacks chain. sBTC makes native BTC programmable without requiring trust in any centralized custodian, or federated network of centralized custodians, and without requiring an alternative L1 chain which does not ultimately settle to the Bitcoin chain itself (such as tBTC on ETH does). You can learn more about sBTC in particular from this sBTC Twitter thread.

This quarterly stacking report covers the current state of Stacks stacking and is not intended as a deep dive into how PoX, mining, or stacking work. For more in depth reports on STX mining decentralization see this initial STX mining report from July 2022 or this SIP forum post for mining improvements.

Unless otherwise specified, this report covers the time periods below

  • Past Year: Q1 2022 - Q4 2022

  • Past Quarter: Q4 2022

1. Cycle Lengths

Stackers lock up STX (i.e. “stack their STX”) in discrete increments known as cycles. Each cycle lasts 2,100 STX blocks.

While STX blocks aim to settle 1:1 to BTC blocks, and BTC blocks settle on average every 10 minutes, events such as flash blocks mean that occasionally there are BTC blocks with no STX blocks. As a result, STX blocks generally take slightly longer than 10 minutes.

Work in progress to bring subnets to Stacks, mainnet expected Q1 2023, which combine a) the security benefit of settling to the Bitcoin chain each BTC block, with b) the speed benefit of transaction finality in 1/10th the time.

Past Year Days per Stacks Cycle (2,100 Blocks):  14.4
Past Quarter Days per Stacks Cycle (2,100 Blocks):  14.3

2. Total Amount Stacked

The total amount of STX that is stacked can and will vary from cycle to cycle. The total amount stacked has multiple implications for stackers. All else equal, less STX stacked means higher stacking rewards for those that are stacked - but less security for sBTC. Conversely, all else equal, more STX stacked means lower stacking rewards for those that are stacked - but more security for sBTC and likely (though not necessarily) signals a more committed, engaged, and decentralized STX holder community.

In BLUE, the total number of STX tokens (in millions), stacked in each cycle over the past year.

In ORANGE, the percent of STX token circulating supply stacked in each cycle over the past year.

The amount of STX stacked, both in absolute terms and as a percentage of circulating supply, was higher in Q4 2022 than the year of 2022 on average, though both figures have varied cycle-to-cycle. The continuation of this trend will be important to see, especially as sBTC is launched later in 2023.

Past Year Average STX Stacked per Cycle (in Millions):  487.9
Past Quarter Average STX Stacked per Cycle (in Millions):  513.2
---
Past Year Average Pct of Circulating Supply Stacked:  36.8 %
Past Quarter Average Pct of Circulating Supply Stacked:  38.2 %

3. Total Number of Stackers

Looking at the total amount of STX stacked is important - but it doesn’t tell us anything about the source of that STX. In theory, one large party could be responsible for 100% of all stacked STX. Thus, for the purpose of considering the degree of decentralization of stackers, it’s also important to consider not just the total STX stacked amount, but how that total breaks down across independent stackers.

Just as with mining, there are several ways to consider decentralization of stacking, the simplest of which we’ll start with - the total number of stackers that are stacking STX each cycle.

One important note to touch on is stacking pools. These are conceptually similar to mining pools, where a large number of smaller participants pool their resources together. We can measure both the total number of stackers including those people that have non-custodially delegated their stacking to a stacking pool, and we can also consider the total number of stackers not counting each individual member of a stacking pool, but just counting the entire pool itself as one stacker.

In BLUE, the total number of STX stackers, counting each member of stacking pools individually (i.e. including delegators).

We can see that more than 5,000 individuals stack STX either on their own or as part of a stacking pool, which bodes well for the decentralization of stacking. That said, it’s of course important to consider what this figure looks like it we only count each stacking pool as one stacker.

In ORANGE, the total number of STX stackers, not counting each member of stacking pools individually (i.e. excluding delegators, and only counting the pool itself as a stacker).

Here, we can see that on average in 2022, just over 190 individuals and/or pools stacked each cycle. This number has dropped over the year, possibly representing an increased number of stackers making use of stacking pools. At the extreme, this could theoretically pose a risk, for example if 100% of all stackers were using 1 single pool, that 1 single non-custodial pool operator would effectively speak for all STX stackers. Thus, we’ll look at concentration risk (what is often referred to as a “51% attack” in mining nomenclature) later in this report.

For now, looking at the number of mining pools can also give us an indication of trends in stacking behavior.

In GREEN, the total number of stacking pools.

Stacking pools seemed to have consolidated in 2022, dropping from an average of 8 active pools per cycle, and a high of 10, to a recent yearly low of 6. While this is not necessarily a cause for concern, it does pose a theoretical concern about concentration risk - which we’ll look at next.

Past Year Average Number Stackers per Cycle including Delegators:  4979.5
Past Quarter Average Number Stackers per Cycle including Delegators:  5149.0
---
Past Year Average Number Stackers per Cycle excluding Delegators:  192.0
Past Quarter Average Number Stackers per Cycle excluding Delegators:  168.6
---
Past Year Average Number Stacking Pools per Cycle:  8.0
Past Quarter Average Number Stacking Pools per Cycle:  6.8

4. >50% and >70% Stacking "Attacks"

As mentioned above, another way to look at the degree of decentralization of stacking (just like mining) is to consider the degree of concentration risk, or the ease of an “X% attack”.

In mining, the common threshold is >50% (typically, but imprecisely, referred to as a “51% attack”). For stacking, we can consider this 50% threshold as a useful means of comparison of the relative decentralization of stacking to mining, however the 50% threshold is purely indicative for comparison, and does not describe any material risks.

The material risk figure we should pay most attention to in stacking, unlike mining, is 70%. Why? Because sBTC’s security relies, in part, on the decentralization of stackers - specifically requiring threshold signatures from 70% of all STX stacked. Thus, the total number of individuals and/or pools required to collude in order to reach or exceed 70% of all STX stacked is highly relevant to sBTC (and thus to Stacks itself by extension).

As a useful point of comparison, the largest 2 mining pools of Bitcoin mined more than 50% of blocks in December 2022, meaning (in theory) it would take 2 parties to collude. Recent stats of BTC mining pool hash power shares show a similar picture, with 2-3 pools required to collude to reach >50% of all pool’s hash power.

In RED, the number of stackers (pools counted as one stacker each) required for a >70% attack.
In BLUE, the number of stackers (pools counted as one stacker each) required for >50% of total STX stacked (note that the 50% threshold is useful for comparisons, but in the context of stacking it is not an actual direct security risk).

As we can see, stacking (especially for the crucial 70% threshold in RED), is considerably less concentrated than other points of comparison. More than the largest 20 stackers and/or pools would have to collude to amass 70% or more of all stacked STX.

Though the figure has dipped slightly more recently, it has remained above 20, and will be important to continue to track as sBTC goes live.

Past Year Stackers for >50% "Attack":  12.4
Past Quarter Stackers for >50% "Attack":  12.0
---
Past Year Stackers for >70% "Attack":  22.6
Past Quarter Stackers for >70% "Attack":  21.6 

5. Stacking Gini Coefficient

The Gini coefficient is a popular measurement for quantifying inequality. It ranges in value from 0 (perfect equality) to 1 (maximum inequality). Looking at the Gini coefficient of miner's commitments is another way of expressing the relative balance (or imbalance) of small miners vs large miners.

For example, if every STX stacker was the same size (i.e. was stacking the same amount of STX), the Gini value would be 0. But if stacking has heavily dominated by just a handful of miners, the Gini value would approach 1.

In BLUE, the Gini coefficient of stackers per cycle.

Past Year Average Gini Coefficient:  0.767
Past Quarter Average Gini Coefficient:  0.759

The Gini coefficient for stackers by and large hasn’t changed much over 2022. While the figure is fairly high, as previously seen it would still take more than the largest 20 individual stackers and/or pools to collude to reach 70% in aggregate, and the trend in the Gini coefficient does not show serious cause for concern - if anything stacking has gotten slightly less concentrated in recent months.

6. Stacking Yields

As mentioned briefly in the introduction, by nature of how Stacks’ PoX consensus mechanism functions, stackers earn a yield in native BTC. This yield is an organic function of PoX - while STX miners append new transactions to the Stacks chain and write its chain to Bitcoin’s, they spend BTC.

Unless 100% of STX miners and also BTC miners who are mining STX in the BTC blocks they mine, STX miners organically spend BTC in this process above and beyond BTC network gas fees (conceptually similar to how BTC miners in PoW spend electricity). This spent BTC (electricity) is distributed to stackers.

The value of the native BTC organically distributed to STX stackers during PoX consensus, can be viewed as a yield distributed to stackers. As high any yield generating asset, a yield is a function of two pieces:

  • The numerator: the value of the earned yield (income)

  • The denominator: the value of the asset (cost/investment)

There is no one “universal” or “correct” way to express a yield for everyone when the denominator (the cost or investment) is variable for different parties. Depending on when stackers acquired their STX and how they acquired them (mining vs airdrop vs buying, for example), different stackers will have different costs/investments of their STX, and thus different realized yields. In reality, each individual stacker has their own personal level of yield depending on randomness and their cost/investment.

It is impossible to calculate the 5,000+ yields each and every individual stacker earns each cycle. But what is possible to calculate, and of more relevance, is the overall yield earned by stackers each cycle, at the time of the cycle in question. In other words, we can answer the practical question: “what yield would you have earned if you purchased STX for the purpose of stacking that given cycle?”.

Note that Stacks is not unique in this complication - all yield generating assets have the complication that each and every holders’ initial cost/investment can and will vary. Yet they all roughly follow this same standard for the good reason that it is more or less objective. For example, the yield on a piece of real estate is generally expressed using a denominator of the price of the property at the time in question (denominator of the price of Stacks at the time of the cycle in question). This is done even though the piece of real estate was inevitably worth, and has been bought/sold for, different prices historically (even though Stacks’ price was different in historical cycles before the cycle in question).

While each stacker’s yield is subjective, what is objective is the total amount of native BTC distributed in a cycle. This amount of BTC does vary from cycle to cycle depending on mining activity (like how BTC’s hash power naturally varies in PoW), but we can factually observe what the total was for a given cycle - and it’s BTC distributed per 1 STX stacked equivalent. This gives us an objective measurement of total income - the numerator.

For an objective measurement of the cost/investment, the denominator, the most commonly used logical approach (though again, not the only possible approach) is to objectively observe the price of STX at the start of that cycle.

By combining these two objective measures: an objective numerator and an objective denominator, we can calculate an objective representation of stacking yield for each cycle. Inherently this yield will assume, you purchased or mined STX with BTC at the start of the cycle, and then stacked that STX for that cycle. Again - this will not describe everyone’s realized yield (it may not even describe anyone’s realized yield) - but it does objectively represent an overall yield per cycle if you acquired STX immediately prior to the cycle and then stacked it.

Another side note: savvy readers may notice that even if the numerator stays constant each cycle, you can still lose or make more money than the yield if the price of STX goes up or down. One of the things DeFi platform ALEX is working on is a product that hedges out this price appreciation/depreciation fluctuation, thus earning lower stacking yield than you would otherwise earn and giving up potential price appreciation, but locking in a stacking yield while protecting against price depreciation.

There is one remaining complication to representing a yield - annualization. Each Stacks cycle lasts about 15 days, but yields (indeed virtually all interest rates and yields in TradFi, DeFi, real estate, insurance, and other industries and represented on an annualized basis).

Annualizing any yield makes an inherent assumption - it represents what the yield would be if and only if you earned that same rate of income on your initial cost/investment for the full year. As mentioned above BTC income can and does change from cycle to cycle, so this is a flawed assumption, but it a flawed assumption that happens to be the convention - in TradFi, DeFi, real estate, insurance, etc, primarily because it enables apples-to-apples comparisons in a way that simple would not otherwise be possible.

The below figures of stacking yields are annualized but do not assume compounding rates of return - i.e. they do not assume that each cycle the income earned is reinvested.

In BLUE, the overall stacking APR (not APY) each cycle (i.e. stacking yield for each cycle has been annualized, but not compounded each cycle).

Past Year Average Cycle APR:  8.44 %
Past Quarter Average Cyce APR:  7.64 %

Conclusion

Stacking will play an even greater importance in the Stacks ecosystem with the introduction of sBTC, which brings new importance to the decentralization of stacking.

As of Q4 2022, stacking looks ready for the later launch of sBTC, with stacking decentralization as much as 10x higher than mining decentralization of Bitcoin itself by some metrics.

Stacking and mining and two sides of the same coin when it comes to Stacks’ PoX consensus mechanism. If you are interested in mining STX or improving decentralization and security, please get in touch or join the community conversation.

Appendix

Author

mattyTokenomics has more than a decade of experience designing economic models for multi-billion AUM hedge funds and VC funded startups, and is currently the token economics team lead for Status.im in the Ethereum ecosystem. In the Stacks ecosystem, he has worked with Trust Machines, Stacks Foundation, Mechanism, ALEX, Zest, NeoSwap and others on their tokenomics and consensus mechanisms - including for Stacks itself. He has authored approved community tokenomics proposals for DeFi protocols Arkadiko and ALEX, mentors founders at the Web3 Startup Lab, and is an occasional angel investor.

Get in touch at https://linktr.ee/tokenomics

Additional Resources

  • More details on PoX, Stacks security, attack vectors, and settling to Bitcoin

  • More details on sBTC and implication of stacking decentralization

  • Whitepapers on sBTC

Data Sources

Share this story