By the time this is released, Taproot will be locked for activation. This means that at block 709,632 (mid-November 2021), the new rules defined by a series of Bitcoin Enhancement Proposals (BIPs) will be activated and begin to apply. This is a momentous achievement for Bitcoin and it will enable a lot of new and incredible things not just for Bitcoin, but for everything built on top of it.
Previously, it was debated whether Bitcoin could reach consensus on another soft fork after the drama behind the 2017 SegWit update. This previous soft fork spawned multiple fields that forked strongly from the original Bitcoin chain, creating new altcoins. . Meanwhile, the Bitcoin community was left with deep battle scars after months of debating and fighting for what resulted in a user-activated soft fork (UASF).
It has been almost four years since SegWit went live and people were skeptical that the Bitcoin community could overcome these battle scars for the next upgrade to Bitcoin. However, we have succeeded! It was a long process of discussion on Pull Requests (PR), Internet Relay Chat (IRC) channels and Twitter, but it has finally come to an end.
Taproot as an update had practically no backlash; Overall, all major developers agreed with the proposed consensus changes in BIP340, BIP341 and BIP342. These BIPs propose changes that add privacy and optimizations, as well as enabling new features in the future without new security assumptions. Taproot itself is an obvious upgrade to the Bitcoin protocol. The controversy arose when discussions began on how to activate Taproot.
The controversy started with BIP8 which was created in response to what happened with SegWit. Made two changes to BIP9, the activation method used for SegWit. The first change was to define the activation start and end times by the height of the block instead of the real world time. This makes the trigger window definition a bit better because we do not depend on blocks having exactly a 10 minute block time, but with the disadvantage of being worse for test networks.
The second change was adding an optional user-activated soft fork (UASF) at the end of the activation, known as a lock-in-on-timeout or LOT. Both changes sparked a heated debate as to whether they should be made and resulted in the opening and closing of many RPs for Bitcoin Core. The LOT parameter was finally discarded and replaced by a procedure called Speedy Trial.
Speedy Trial was proposed to break the deadlock between the two sides arguing over how to establish LOT (true vs false). Speedy Trial described a three-month activation window instead of a one-year window, but with a minimum activation height that would be longer in the future and without UASF. This was structured so that we could activate it quickly or fail quickly. If we fail quickly, we could debate again. Or if we activated it quickly, the surrounding ecosystem would have more time to prepare for the update.
Most developers agreed to test Speedy Trial, which led to the opening of two RPs to Bitcoin Core, one of Andrew Chow Y another by AJ Towns. Chow’s PR proposed using block height, while Towns used real-world time. This led to further debate and much discussion about IRC which was ultimately resolved with a blockchain coin release, decided based on whether a block’s hash in the future was odd or even. The coin toss resulted in the election, review and eventual merger of AJ Towns public relations.
All of this debate eventually led to the culmination of Taproot being able to go live. Then we just needed the miners to signal, which happened relatively quickly. Alejandro De La Torre, Vice President of Poolin, had already obtained mining pools commit to saying they would give the signal.However, at first I was just pointing at Slush Pool. The mob took to the streets and made memes wearing green squares, a reference to taproot.watch‘s way to show which blocks indicated activation and which did not. However, after just three difficulty adjustment periods, we have achieved almost 99% of the hashing power of the miners’ signaling and blocked the activation of Taproot.
Now that we can confidently say that Taproot will be part of the Bitcoin protocol, we need to know what this will mean for Bitcoin and its many layers. As stated at the beginning, Taproot provides privacy and optimizations while allowing new features in the future.
Taproot can 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, it is not necessary to disclose that there were ever other spending rules. The average Bitcoin user today doesn’t need these kinds of complex rule scripts. However, most of the scaling solutions in Bitcoin do. Layers like Lightning Network, Liquid, and other sidechains use scripted rules like multisig, hashing time locks, and other tools to make your system secure. Today all this must be chained and revealed to the entire network. With Taproot, this information no longer needs to be disclosed all the time, and transactions like opening the Lightning channel can look exactly like a normal user’s transactions. Therefore, it will not only benefit Lightning users, but it will also benefit everyone, as the overall anonymity pool of Bitcoin will grow, making it difficult to analyze the chain that compromises privacy.
Along with all these privacy improvements, there are many optimizations. Since we no longer need to disclose as much information on the chain, transactions will use less data and therefore lower fees. This also means that more transactions can fit into each block and each unspent transaction output (UTXO) will be much more efficient.
Not only do we get space-saving optimizations from Taproot, but we also get optimizations that will help with transaction verification speed. Today, Bitcoin uses the Elliptic Curve Digital Signature Algorithm (ECDSA) to sign transactions, but Taproot adds a new way of signing called Schnorr signatures. Schnorr signatures allow for some of the space-saving optimizations we talked about while also being faster to verify, so running a full node will require fewer resources with the same transaction throughput if Taproot sees significant adoption.
Taproot will also allow many new use cases and functions. Something that has been talked about for a while is point time lockout contracts (PTLC). PTLCs are a change to the Lightning Network that allows developers to build more complex applications in addition to Lightning, such as discrete posting contracts, no-jam payments, and more. Taproot also allows for much less invasive updates in the future. Taproot left a lot of new update paths that we already see people writing proposals to use, namely SIGHASH_ANYPREVOUT. This should make the next Bitcoin soft fork happen more quickly and less controversial as it will not carry as much weight as previous updates.
In conclusion, Bitcoin has been updated and has taken a step forward to improve the privacy of its users. This was not easy and it certainly should not have been. However, now is the time to celebrate and then start building.
This is a guest post from Ben Carman. The opinions expressed are entirely my own and do not necessarily reflect those of BTC Inc. or Bitcoin Magazine.