Stacks 2.05 Upgrade Successful
Miners have adopted Stacks 2.05 to increase network capacity as Bitcoin DeFi and NFTs grow.
by Mitchell Cuevas on December 7, 2021
Stacks 2.05 has successfully been activated on Bitcoin block 713,000.

In the past few months, we have seen the Stacks ecosystem boom. Projects like Arkadiko, Stackswap, CityCoins, new NFT collections, and more are leading the charge for Bitcoin-based products and services built via Stacks. Every indication is that this trend will continue, so to make sure the Stacks network can handle the growth, core developers and the community have rallied to introduce Stacks 2.05, a Stacks release that will provide the network a 2x-10x increase in capacity.

Growth can certainly come with growing pains and in recent months, the community has experienced the effects of intermittent network congestion. Delayed transactions and long waiting times are no fun for anyone. With plenty more projects on the way, this release will provide some immediate relief for congestion and give the community more time to build out additional speed and scalability solutions for the Stacks network.

If you’re interested in those efforts, we detailed the next era for scaling Stacks. This current upgrade removes some artificially low constraints applied at the launch of the network. This was done out of an abundance of caution and with new data available, these constraints are being safely removed. Other optimizations related to Clarity and more are also being made, you can read about the technical details here.
What You Need to Know about Stacks 2.05
These upgrades were packaged in SIP-012 and were voted 'yes' on by the community. The upgrade went live December 7th at Bitcoin block 713,000.
  • Fork in the Road: In order to optimize cost functions for builders, the Stacks blockchain will need to undergo a hard fork to enact a breaking change in the protocol. Support for the breaking change was measured in a network-wide vote by Stackers on the Bitcoin blockchain. Their votes activated SIP 012, the official proposal for the breaking change.

  • Update to Clarity Cost Functions: To determine a new costs for all Clarity functions, Stacks devs executed a set of benchmarks for each Clarity cost function in the clarity-benchmarking Github repository. One goal of this proposal is to make the total real runtime of a full block less than 30 seconds which is a short enough period of time for prospective miners to be able to process a new block before the next Bitcoin block 95% of the time. The detailed benchmarks were used to deduce the cost function parameters needed to pack as many transactions into a block as possible within these constraints.

  • Update to Storage Cost Assessment: In addition to improving the Clarity cost functions, which by itself could have been facilitated via a voting procedure described in SIP 006, the Stacks 2.05 upgrade changes the way Clarity bills transactions for storage space. Instead of conservatively billing users for the maximum storage they could theoretically use, the system will now bill them for the storage the actually use. Additionally, Stacks 2.05 doubles the number of storage reads and writes that a block may perform. This will have the effect of making systems like CityCoins cheaper to run in practice, since it has often been the case that users consume far less data space than the maximum permitted by the smart contract.
Conclusion
It’s incredible the Stacks community not only reached the need for more capacity so quickly, but also rallied so quickly to implement this upgrade. We’re thankful to everyone that helped make this upgrade happen and look forward to further growth and improvements!

Mitchell Cuevas leads partnership and growth efforts at the Stacks Foundation. He's spent the last decade working in community-driven high-growth startups.