Fears have been raised that an alternative client for activating the proposed Taproot upgrade could lead to a network split.
April 23, 2021
Andrew Asmakov
In brief
- A recently published Bitcoin Core 0.21.1 release candidate includes a BIP 9-based implementation of Speedy Trial–an activation mechanism for the proposed Taproot upgrade.
- Some developers are not happy with this move, arguing that the community agreed on a different way to activate Taproot.
- There are fears that Bitcoin may go through a network split.
As the saying goes, there’s never a dull day in crypto. Bitcoin scaling wars might seem to be a thing of the past now, but disagreements within the developers’ community still flare up on occasion. The latest controversy is centered on Taproot, a long-anticipated upgrade to the Bitcoin network. Or, to speak more precisely, the ways it should be activated, and whether there is a risk of a network split into two separate chains.
Over the past few days, a BIP 9-based implementation of Speedy Trial–Taproot’s activation mechanism–was merged into Bitcoin Core, followed by the roll-out of Bitcoin Core 0.21.1 release candidate on Monday, with Speedy Trial included.
Bitcoin Core 0.21.1 release candidate 1 availablehttps://t.co/BSQjJiRuHw https://t.co/KQMiZFHnZy
— Bitcoin Core Project (@bitcoincoreorg) April 19, 2021
The official release is expected to happen in the near future, however, the community is divided once again, with an alternative proposal put forward.
What’s in the story?
Taproot is a protocol upgrade proposal designed to expand Bitcoin’s smart contract flexibility and improve its privacy and efficiency, as well as to reduce computational load on the network and solve certain scalability issues. Originally developed by Gregory Maxwell, Pieter Wuille and Andrew Poelstra, in January 2021 it was included in Bitcoin Core–in effect, Bitcoin’s reference client–as a final version of the bundled Schnorr/Taproot upgrade .
The upgrade has been designed as a soft fork–a software upgrade that is backwards compatible with older versions of the client; however, it had no specific activation date set, and–more importantly–no specified activation mechanism.
The exact activation path has been a topic for lengthy discussions among the developers, with several options on the table. These include Bitcoin Improvement Proposal 9 (BIP 9)–a mechanism, which requires miners to signal their readiness to activate the proposal by adding a piece of code, or version bits, to the blocks they find, as well as BIP 8–a modified version of BIP 9, which allows node operators to force the upgrade via a so-called User Activated Soft Fork (UASF) if it fails.
BIP 9 was the mechanism used for activation of Segregated Witness (SegWit), Bitcoin’s last major soft fork upgrade, in 2017. However, it was a rather painful and politically driven process, with some parties using the signaling as a means of gaining influence over Bitcoin development.
To better understand the activation mechanics, soft forks using BIP 9 have a start time and a timeout during which the proposal is active, and can only be activated within this period of time. If this kind of soft fork is not activated by the timeout, the proposal fails and will not activate even if signaled.
Contrary to that, BIP 8 activates the soft fork at the point of the timeout, with all upgraded nodes starting to enforce the new rules. This also means that there’s risk that miners who haven’t upgraded their software will be producing blocks that upgraded nodes and miners would reject.
Speedy Trial
At some point it appeared that the rough consensus was to support BIP 8 as an activation mechanism for Taproot; however, disagreements remained, specifically about the course of action in case not enough miners signal their readiness by the timeout.
Without going too deep into technical details, several alternative proposals were floating around, all resulting in a stalemate, before a new method to bring Taproot online was put on the table. After months of debates, it looked like a compromise between the camps had been finally reached.
Called Speedy Trial, the new proposal is largely based on BIP 9 and gives miners an option to signal for the upgrade within a three-month “trial” window, with Taproot activated after a six-month locked-in period if there’s enough hash rate “voting” in favor of it. Should this trial fail, which is the case if 90% of the blocks in a given time frame are not Taproot-supporting, there is no follow up activation mechanism and developers can consider a new upgrade mechanism.
Right after a BIP 9-based implementation of Speedy Trial was merged, Bitcoin developer Luke Dashjr went online to blast this move by Bitcoin Core devs, calling it nothing but “an attack on Bitcoin.” He argues that the community agreed on the BIP 8 implementation of Speedy Trial, and that the Bitcoin Core team simply ignored this fact to push through their own agenda.
Community came to consensus on BIP8.
These devs are IGNORING that and pushing their own agenda instead.
It is an attack on Bitcoin, not a good thing.
— Luke Dashjr (@LukeDashjr) April 15, 2021
Dashjr was quick to introduce Bitcoin Core 0.21.0-based Taproot Client 0.1, an alternative BIP 8-based implementation, with other pseudonymous individuals setting up a website supporting the proposal.
Possible network split
Other developers, however, have already rung the alarm bell, warning that having two Bitcoin implementations based on different consensus rules could result in the network splitting into two incompatible chains.
“Let’s be clear – encouraging people to run an unaudited fork of Bitcoin Core with consensus-divergent rules is not just a great way to steal peoples’ coins,” wrote Matt Corallo, who is now a full-time developer at Square Crypto, in a recent tweet. “It’s also a great way to end up with two different Bitcoin tokens and confusion as to what is what”
Aaron van Wirdum of Bitcoin Magazine, who for convenience calls these two implementations “Bitcoin Core” and “Bitcoin Taproot” respectively, has described possible ways for them to become incompatible. They are mainly dependent on different signaling period rules–Bitcoin Core’s Speedy Trial signaling period only lasts for about three months, while Bitcoin Taproot’s signaling period lasts for about 18 months–and different course of activation of the upgrade if miners don’t signal readiness before the signaling period expires.
Bitcoin Core (@bitcoincoreorg) is about to release a Taproot client, which uses "Speedy Trial" for activation.@GrassFedBitcoin and @shinobimonkey are offering a LOT=true ("UASF") alternative.
I explain why there are two, and the difference between them: https://t.co/2g2SMZi1Zb
— Aaron van Wirdum (@AaronvanW) April 19, 2021
Remarkably, Dashjr rejected the possibility of a network split–replying to one of the commentators who admitted they weren’t comfortable with this idea that these incompatibilities can potentially split the network, he simply stated, “It can’t.” When reached out for comments, Dashjr hasn’t responded.
However, other experts agree that Bitcoin Taproot’s way of implementing Speedy Trial where a UASF scenario could possibly kick in, with node operators representing the economic majority deciding the outcome, still leaves room for a split.
“UASF is not the only way that a chain split can occur. False signaling can (and has) cause a chain split after activation,” Andrew Chow, Bitcoin developer who authored one of the Speedy Trial pull requests merged into Bitcoin Core, told CryptoEvents. “Furthermore, a malicious miner could take advantage of these competing activation rules and false signaling in order to induce a chain split which leaves the UASF nodes stuck on an orphan chain.”
Such a scenario would be in contrast to the typical chain split caused by false signaling which can be resolved by the majority of hash rate building on the chain enforcing the new rules, added Chow.
‘Subtle trade-offs’
Meanwhile, Michael Folkson, Bitcoin Core developer and organizer of London Bitcoin Devs, says that “every consensus change involves a (very small) non-zero risk of a network split.”
“That risk is considerably lower for a soft fork than say a hard fork where all nodes need to upgrade,” Folkson told CryptoEvents. “That’s why soft forks aren’t attempted every month or year. All you can do is minimize that risk.”
According to Folkson, any incompatibility between Bitcoin Core and Bitcoin Taproot during the Speedy Trial deployment is highly unlikely. However, if miners fail to activate Speedy Trial and we reach November 2022, “then we are in a scenario similar to the UASF in 2017 where it depends on what the economic majority is running.”
“I can’t predict what the economic majority would be running in November 2022, but I highly suspect the delaying of Taproot activation would be at the top of everyone’s minds,” said Folkson.
He agreed with Chow about the risk of a network split with miners deliberately blocking Taproot activation potentially forever. However, he also argues that rejecting the idea of UASFs to avoid such risks “would be handing miners a permanent veto to block the activations of soft forks that have community consensus.”
“You have to weigh up the risk of the latter which would be just as concerning (if not more concerning) to people,” added Folkson, who earlier suggested that Dashjr’s BIP 8-based implementation of Speedy Trial probably deserves more thorough reviewing and testing.
In summary, added Folkson, “these are subtle trade-offs,” especially since there’s a number of developers who have worked hard to minimize the risk of a network split.
“But it doesn’t get to zero unless you literally never try a soft fork again. And that would mean that Bitcoin would never seriously improve again,” said Folkson.
Obviously, a lot will depend on miners and their incentives to support either of the activation mechanisms. According to taprootactivation.com, as of March 2, 2021, the general Taproot upgrade proposal gained the combined support of miners responsible for more than 89% of Bitcoin’s hash power; however, there seems to be little consensus about how to bring it online, with several mining pools still undecided.
“Mining pool operators should clarify their positions on Speedy Trial, a good way to do this is to create a pull request at taprootactivation.com,” Alejandro de la Torre, VP at Bitcoin mining pool Poolin and the author of the initiative, told CryptoEvents. “I ask all mining pool operators for their help.”