Stacks Scalability Update: Vote on SIP-012
by Mitchell Cuevas on November 2, 2021
Increased capacity on the Stacks network could be right around the corner!

As discussed in our previous overview of Stacks scalability options, Stacks core developers indicated possible short-term changes that could help increase the capacity of the network (thereby reducing congestion) in a matter of weeks. While longer-term solutions are still in the works, this post summarizes how we can collectively achieve the most immediate relief for current congestion.

Estimates indicate that adjusting conservatively set cost functions from the Stacks 2.0 launch, along with other small tweaks, can give the network between a 2x and 10x capacity boost, depending on workload. Given the number of launches and the ongoing growth of the network, this would be a significant win for many Stacks builders.

Stacks core developers have bundled these possible adjustments into SIP-012 and are tentatively targeting an activation block falling on November 29th or 30th. The community now needs to vote for or against this upgrade by sending a dust amount of BTC from their Stacking reward address to either the ‘yes’ or ‘no’ address. Voting is open and will remain open until the deadline block is reached (the deadline block has not yet been determined).

Thanks to community developers including 0xAsteria, @hstove, @jasperjansz and @aulneau, voting is further explained and transparently tracked at Opening the voting now is done with the hopes of giving everyone ample opportunity to signal their preferences so that as soon as the core developers have finished the required work, it can be activated by miners with clear support from the community.
We encourage anyone that would like to see the network capacity of Stacks increased, to cast their vote in support. We also highly recommend everyone read the full SIP.

SIP-012 abstract:
The Stacks 2.0 blockchain artificially constrains block throughput in two consensus-critical ways: it assesses storage costs for lists based on their maximum length instead of actual length, and it constrains the number of indexed I/O operations well below what the reference implementation is capable of handling. Changing either of these is a breaking change, which would require a network-wide upgrade.

This SIP proposes executing a breaking change to not only address these two constraints, but also to update all Clarity cost functions to more accurately reflect their true performance. The breaking change is carried out via a network-wide vote by Stackers on the Bitcoin blockchain, which will both serve to activate this SIP and to effectively bypass the cost voting procedure in SIP-006.

The upgraded blockchain will be called Stacks 2.05.
Activation Protocol and Requirements:
Due to the far-reaching effects a breaking change will have on the Stacks ecosystem, this SIP can only be activated through a collective decision-making process. There are three major steps to this activation procedure:

  1. The SIP authors will propose a Bitcoin block number at which the new cost-limits take effect. The block number should be at least two calendar weeks from when this SIP transitions into Recommended status, so as to provide sufficient time for node operators to upgrade. Tentatively this block number would be chosen to fall on November 29th or November 30th, 2021. In this document, this is the activation block.
  2. In the two whole reward cycles prior to the activation block, users who have Stacked STX will have the opportunity to cast a vote to activate this SIP. The cut-off for voting will be a separate Bitcoin block whose expected arrival time is one calendar week prior to the activation block. This document refers to this block as the vote deadline block.
  3. If the activation voting threshold is met as of the vote deadline block, then the Stacks Foundation will cut a relase of the Stacks blockchain reference implementation with this SIP's changes applied and set to take effect once the activation block passes. If on the other hand there is insufficient support for this SIP by the vote deadline block, then no action will be taken and this SIP will not activate.

Activation Requirements
The SIP will be considered Ratified if the vote to activate Stacks 2.05 passes. This requires:
  • 2/3 of all votes passed are "yes", weighted by the STX they represent, at a Bitcoin block height at or before the vote deadline block.
  • At least 60 million STX are represented by the "yes" votes. This is 2x the largest Stacker at the time of this writing.
At the time of publishing, the SIP has already reached the threshold to be accepted in terms of number of STX supporting. However, it is still important that you signal your support or your disapproval as the 2/3 majority for ‘yes’ must be maintained in order for SIP-012 to be ratified, and thus, activated.

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