Taproot – Bitcoin’s most anticipated upgrade ever – has been “close” for a year now, but no one in Bitcoin’s community has agreed on how to activate it. With Speedy Trial, there might finally be a solution, though it may still involve a “user-activated soft fork” (UASF).
In a public meeting on Tuesday on Internet Relay Chat, Bitcoin stakeholders more or less agreed on the recently proposed Speedy Trial method, saying activation could begin this April or May (a month or so later than anticipated, when prior activation methods were on the table). There were no serious objections to the proposal in the meeting.
With Speedy Trial (more or less) receiving widespread support, the Bitcoin community is nearing the conclusion of a saga that began years ago. Assuming all goes as planned and Speedy Trial is a success, Taproot could be live on Bitcoin’s blockchain in November of this year.
And if it fails? Well, then the Bitcoin community learns new lessons about consensus. And it also means it could be back to square one with a “user-activated soft fork” as an inevitable activation method.
What is Taproot?
Taproot will outfit Bitcoin with Schnorr signatures, a signature scheme which Bitcoin could have used from day one and which will give a boost to Bitcoin’s privacy, custody and scaling softwares.
Unlike SegWit, Bitcoin’s last big upgrade, there’s no opposition to Taproot. But even as the upgrade itself isn’t up for debate, the way to bring Taproot online has been the subject of some very heated debate.
That’s because unlike a centralized network or service, where one person or group of people can dictate upgrades unilaterally, Bitcoin has no central authority. Upgrades are debated painstakingly among hundreds if not thousands of stakeholders across social channels.
Even when an upgrade is a so-called “soft fork” like Taproot, meaning it is compatible between older and newer software, the implementation is treated with care. So if consensus on a Taproot activation route isn’t clear, it’s hard to move forward with an upgrade without sufficient support.
What is Speedy Trial?
Such was the case with the so-called
lockedintimeout or “LOT” debate.
Essentially, the community could not decide whether or not Taproot should fail if miners don’t adopt it, or whether or not the activation should include code for a “user-activated soft fork,” wherein node operators force activate Taproot by blacklisting blocks which don’t support the upgrade’s code (a similar “user-activated soft fork” scenario played a role in activating SegWit).
Bitcoin developer Russell O’Connor proposed Speedy Trial to break the deadlock and provide a fast trial-by-fire to see whether or not miners would upgrade quickly (and thus, whether a UASF is even necessary).
Under Speedy Trial, miners would have three months to signal support for Taproot after its code is shipped through Bitcoin Core, Bitcoin’s primary software version. If 90% of the blocks in a given time frame are not Taproot-supporting, then that means miners don’t support the upgrade and activation fails. If the threshold is reached, then activation takes place after a six-month “locked-in” period. During this time frame, the upgrade is in the bag, but its actual activation is delayed to make sure there are no hiccups.
(One potential hiccup: Miners don’t actually have to upgrade to Taproot during the signaling period; they only need to signal their support, and they do so by including a unique bit of code in the blocks they mine. Thus, the delay partly exists so miners have ample time between signaling and activation to upgrade their nodes).
The code that would put Speedy Trial into motion could come either from Bitcoin Improvement Proposal 9 (BIP9), the code for which already exists, or through BIP8, which would need to be coded.
Running in circles?
“We’re basically where we were a few weeks ago, but with more data,” Bitcoin developer Sjors Provost expressed on a Van Wirdum Sjorsnado podcast on Speedy Trial.
Indeed, this approach is a truncated version, in a way, of the LOT=False proposal that was previously debated alongside LOT=True.
Should Speedy Trial fail, it would resemble LOT=False in that nothing happens. This would also likely pave the way for a LOT=True scenario, some community members pointed out in a Tuesday Taproot Activation discussion.
“If Speedy Trial fails I think a UASF release is inevitable,” user Shesek said.
“Users would be advised to expect a followup ‘real’ deployment in the event this isn’t signalled,” Bitcoin developer Luke Dashjr said in the chat, with “real” meaning an activation by node operators through LOT=True or UASF. The prolific developer is of the opinion that Speedy Trial will fail because the timeline is too short and because miners may not activate even after they signal.
Putting to bed or ‘punting’ the problem?
In some respects, Speedy Trial is a consolation activation. It’s nobody’s first choice but people still support it because it may offer an end to what has become a tiring, dragged-out discussion over an upgrade that makes changes to a couple of lines of Bitcoin’s code (yes, really).
Blockstream and Bitcoin developer Rusty Russell likened Speedy Trial to “punting” the problem (namely, smooth soft fork activation coordination) down the field to deal with another day.
“I understand people are tired, and nobody wants conflict,” he said in the chat, while clarifying later his position that he believes Speedy Trial is “a terrible idea.”
According to Russell, it’s a terrible idea because it sets a precedent that the fastest and most effective way to an upgrade should win out, not one which makes node operators the final arbiters for choosing a change to Bitcoin’s software. This arbiter role, Russell and those like him argue, was the key takeaway from the SegWit saga and one of Bitcoin’s most effective checks for users against powerful interests.
That’s why proponents of this line of thinking want code for some form of UASF included with the Speedy Trial release from the get-go.
If Speedy Trial fails, then activation would lean on a BIP8-style user-activated soft fork – a proposal that was previously discussed but which had no consensus, thus prompting Speedy Trial.
This activation method would take place after Speedy Trial and would include a year-long (or 15-month) signaling period, after which time Taproot would automatically activate on user nodes through the UASF. (This scenario would have Taproot activating in 2022 or, at the latest, 2023).
Still, Speedy Trial has to fail for this backup to take effect, and it appears as though stakeholders are on board with trying Speedy Trial first.
Yet another meeting will be held next week that could finally put the matter to bed.