Stacks Blockchain Core Development Update, June 2023

Hey everyone, there have been a number of great recent meetings and conversations related to the overall prioritization of Stacks blockchain work. I hope this post provides an easy way to get caught up for those that could not join and offers a clear look at the technical priorities for the next several months.

With Stacks 2.4 shipped and activated, core developers and contributors now seem to have some breathing room to switch from reactive to proactive mode. Based on recent discussions, core developers and technical contributors have organized around the following key areas to invest in for the health and robustness of the Stacks blockchain:

  • Improving testing infrastructure, hardening, and refactoring
  • Orphan blocks
  • Bitcoin MEV
  • sBTC (which includes the Stacks blockchain performance and security updates covered in the Nakamoto whitepaper)
  • Subnets

Barring other unexpected bugs, these issues will be heavy areas of focus for core developers over the next several months. To be clear, much work has already been ongoing, we’re just now seeing an increase in available bandwidth given other more critical issues are behind us and I wanted to provide an overarching update.

Below is a snapshot look at each of these key areas and links out to deeper conversations where you’ll be able to track progress.

A Note on Prioritization

Prioritization happens during calls dedicated to blockchain work and is based on network observation, community feedback in Github, Discord, and on calls, as well as feedback from integration partners supporting Stacks. If you’d like to discuss priorities related to the blockchain, you may join one of the open meetings related to the blockchain listed on the public calendar and discuss directly with the core developers and contributors. Generally, the workstreams here are being worked on in parallel so one isn’t necessarily waiting on the others to make progress. It’s worth noting that the ecosystem has seen a big jump in core development and contributor capacity in the first half of this year, allowing more to be taken at once.

Is the Bitcoin MEV issue the top priority?! I’ve heard this is a big thing!?

Great question, this one certainly can seem scary and it’s definitely something that is being addressed, but this was also hypothesized behavior and in terms of broader impact to users, is less directly disruptive than orphan blocks. Further, improvements to testing infrastructure need to be in place for core developers to be comfortable with releasing the fork that will eventually provide the solution. We want to avoid unforeseen issues with releases like we just saw with Stacks 2.1 so this work is being worked on right alongside these other priorities.

In other words, it’s definitely a top priority but can come at a reasonable pace alongside other important work outlined here.

:new: Updates on Key Blockchain Workstreams

:chains: Testing Infrastructure and Network Hardening

  • Lead: Aaron Blankstein
  • Background Info: The past few weeks have highlighted the need for increased robustness in the core blockchain. Functionally, this means that most core devs want to prioritize expanded testing and see to smart refactoring over the coming weeks. While it’s important to continue on key new work like sBTC and Nakamoto-related updates, community and core developers are rightfully insisting on taking the time to achieve a higher level of confidence in the correctness of any future protocol upgrades.
  • Status & updates: Initial proposal
  • What’s next: Based on the discussion, identify concrete and tightly scoped tasks for this workstream.
  • How you can help: Chime in on the discussion if you have ideas, and especially if you are able to help!

:brick: Orphan blocks

  • Lead: Jesse Wiley
  • Background info: The main impact is on exchanges/partners and downstream, that negatively affects users directly. For exchanges, they can see transactions rolled back and possibly dropped - which causes them to increase the number of confirmations required (which in turn affects users where it takes longer to transfer tokens, etc). Secondly, it affects miners directly - they are spending bitcoin to mine a block, and then losing the reward of mining that block if they are orphaned. The orphaning of blocks also negatively impacts the performance of the chain, because as longer forks are mined there may be some transactions that are reverted to the mempool or will generally take longer to be confirmed in an anchor block.
  • Status: A significant amount of diagnostic work has been done, with more ahead.
  • What’s next: This is a particularly difficult issue to zero on the underlying cause for so the developers working on this issue are focused on surfacing useful network diagnostics and creating tools to gather the necessary data. The focus now is on increasing visibility into the state of the network, with first steps being to “map” the network peers, in particular, the neighbors of miners. There are also plans to launch more dedicated seed nodes in various geographical regions to see if that helps what so far appears to be a peering issue.
  • How you can help: Comment on the SIP proposal: SIP about Orphan Blocks by friedger · Pull Request #142 · stacksgov/sips · GitHub
  • Future updates: Orphan Blocks: Workstream Update Thread

:pick: Bitcoin MEV

  • Lead: Pavitthra Pandurangan
  • Background info: See this forum post
  • Current Status: The community gathered on May 26th to discuss this issue, and we narrowed in on a particular class of solutions after reviewing the report the Stacks Foundation commissioned from a 3rd-party tokenomics firm. If you’d like to read more about the solutions being considered, refer to the section on reward weighting here, and you can look at the RFC in the forum post here.
  • What’s next: Lock in a specific solution from the overall class of solutions, break the work down into issues. This work will be in the next planned hard fork, which is likely to be in a few months from now.
  • How you can help: Attend future discussions for this issue, which will be posted on the Stacks public calendar as they are scheduled.
  • Future updates: I will continue to post regular updates on Bitcoin MEV progress on this forum thread

:goal_net: sBTC and Subnets

These workstreams are also well underway, I won’t be going in-depth here, but please check out the following links to get updates: