At the time of publication, Taproot is blocked for activation. This means that at block 709,632 (mid-November 2021) the new rules defined by a series of Bitcoin Improvement Proposals (BIPs) will be activated and enforced. This is a significant achievement for Bitcoin, and it will enable so many great new things, not just for Bitcoin, but for everything that builds on it.
Previously, it was discussed whether Bitcoin could come to a consensus on another soft fork after the drama behind the SegWit upgrade in 2017. This previous soft fork spawned multiple bearings from the original Bitcoin chain and created new altcoins. Meanwhile, after months of debate and struggles, the Bitcoin community was left with deep battle scars, resulting in a user-activated soft fork (UASF).
It’s been almost four years since SegWit was activated and people were skeptical that the Bitcoin community could overcome these battle scars for the next upgrade to Bitcoin. However, we did it! It’s been a long discussion process across pull requests (PRs), Internet Relay Chat (IRC) channels, and Twitter, but it’s finally over.
Taproot as an upgrade had practically no push-back; By and large, all core developers agreed to the consensus changes proposed in BIP340, BIP341 and BIP342. These BIPs suggest changes that add privacy, tweaks, and enable new functionality in the future without new security assumptions. Taproot itself is a simple upgrade to the Bitcoin protocol. The controversy arose when discussions about enabling Taproot began.
The controversy started with BIP8, which was created in response to the events with SegWit. Two changes have been made to BIP9, the activation method for SegWit. The first change was to define the activation start and end times according to block height instead of real time. This makes the definition of the activation window a little better, as we do not rely on blocks having exactly a 10-minute block time, but with the disadvantage that they are worse for test networks.
The second change was to add an optional user activated soft fork (UASF) known as a lock-in-on timeout, or LOT, at the end of activation. Both changes sparked a heated debate over whether they should be made and resulted in many PRs for Bitcoin Core being opened and closed. The LOT parameter was eventually discarded and replaced with a process called Speedy Trial.
Speedy Trial has been suggested to break the stalemate between the two camps arguing over the setting of LOT (true vs. false). Speedy Trial described a three-month activation window instead of a one-year window, but with a minimum activation level that would continue to be in the future and without UASF. This was structured so that we could either activate quickly or fail quickly. If we failed quickly, we could debate again. Or if we activated quickly, the surrounding ecosystem would have more time to prepare for the upgrade.
Most of the developers agreed to try Speedy Trial, which resulted in the opening of two PRs for Bitcoin Core, one from Andrew Chow and another from A.J. Cities. Chows PR suggested using block height while Towns used real time. This sparked further debate and much discussion on IRC, which eventually agreed with Chow and Towns to move the Towns proposal forward.
All of this debate eventually led to Taproot being enabled. Then we only needed miners to signal, which was relatively quick. Alejandro De La Torre, Poolin’s vice president, had already got mining pools to pledge to say they would give signals. At the beginning, however, only Slush Pool signaled. The plebs took to the streets and made memes with green squares, an indication of how taproot.watch shows which blocks have been signaled for activation and which have not. After only three difficulty adjustment periods, however, we have achieved almost 99% of the hash performance by signaling the miners and set taproot to be activated.
Now that we can confidently say that Taproot will be part of the Bitcoin protocol, we should know what that means for Bitcoin and its many layers. As mentioned at the beginning, Taproot offers data protection and optimizations and at the same time enables new functions in the future.
Taproot is able to add privacy to Bitcoin by allowing users to create multiple spending rules for their funds, but they only need to disclose the rules that were used for that transaction. In some cases there is no need to disclose that there ever were other spending rules. The average Bitcoin user today doesn’t need this kind of complex rule script. Most of the scaling solutions in Bitcoin do, however. Layers like the Lightning Network, Liquid, and other sidechains all use scripted rules like multisig, hash time locks, and other tools to keep their system secure. Today all of this has to be put in chains and disclosed to the entire network. With Taproot, this information no longer has to be constantly disclosed and transactions like opening a Lightning channel can look just like a normal user’s transactions. So it will not only benefit Lightning users, it will benefit everyone as the general anonymity of Bitcoin grows, which makes the privacy-compromising chain analysis more difficult.
Along with all of these privacy improvements, there are a lot of tweaks. Since we no longer have to disclose as much information in the chain, transactions use less data and thus lower fees. It also means that more transactions can fit in each block and any unspent transaction output (UTXO) is much more efficient.
Not only do we get space-saving optimizations from Taproot, but also optimizations that increase the speed of verification of transactions. Today, Bitcoin uses the Elliptic Curve Digital Signature Algorithm (ECDSA) to sign transactions, but Taproot is adding a new method for signing Schnorr signatures. Schnorr signatures allow for some of the space-saving optimizations we talked about, and at the same time are quicker to verify, so running a full node with the same transaction throughput is less resource-intensive if Taproot gains significant acceptance.
Taproot will also enable many new use cases and functions. Something that has been talked about for a while is Point Time Lock Contracts (PTLCs). PTLCs are a change to the Lightning Network that allows developers to build more complex applications on top of Lightning, such as: B. Discreet protocol contracts, stuckless payments and more. Taproot allows for much less invasive upgrades in the future too. Taproot left a lot of new upgrade paths that we already see people writing suggestions to use, which is SIGHASH_ANYPREVOUT. This should make the next Bitcoin soft fork faster and less controversial as it won’t have as much weight as the upgrades before it.
In conclusion, Bitcoin has upgraded and taken a step forward to improve privacy for its users. It wasn’t easy, and it certainly shouldn’t. But now it’s time to celebrate and then start building.
This is a guest post by Ben Carman. The opinions expressed are solely their own and do not necessarily reflect those of BTC Inc. Bitcoin magazine.