What is Taproot and how does it affect Bitcoin?5 min read
Taproot is the most looked forward technological upgrade to Bitcoin since segwit. The goal of taproot is to improve Bitcoin’s privacy, scalability, performance, and security. By adding the Schnorr signature scheme with MAST (Merklized Alternative Script Tree) and a new scripting language called Tapscript, Taproot will allow greater privacy and efficiency by enabling users to conceal complex smart contracts as a regular bitcoin transaction.
In Bitcoin, transactions are pseudo-anonymous, and all transactions are recorded in a public ledger. Under the existing design with ECDSA contracts, multisig transactions record the signature of each multisig participant individually. When such a transaction is signed using ECDSA (Bitcoin’s current signature algorithm), it produces a different signature for each person. Due to the complexity, they take up a lot of data and block space, making them very expensive to execute. Additionally, with ECDSA, outsiders can monitor and distinguish multisig transactions, making it a privacy concern. Thus, a new type of signature scheme called the Schnoor Digital scheme (SDSS) has been developing and growing in popularity in the space. One of the most notable advantages of using the Schnoor signature scheme is the increase in the privacy of bitcoin transactions. Schnorr signatures allow us to take multiple keys from a bitcoin transaction and create a single unique Schnoor signature. Therefore signatures from various parties are aggregated together to form a single unique signature. Schnoor signature scheme makes multi-signature and single-signature transactions indistinguishable
Merkalized Alternative Script Trees (MAST )
The above script shows an example of a Bitcoin script where if Alice doesn’t spend her bitcoin in 3 months, then Bob and Charlie can use it. All of this script must be added to the blockchain with the current system. Imagine more complex scripts, much bigger than this. The more complex the script becomes, the more costly it is. MAST allows us to remove the unused parts of the script from the blockchain, directly saving a lot of space.
In MAST, all the different conditions of the bitcoin transaction are separately hashed into individual parts and included in a Merkle tree, which produces a single hash called the Merkle root. The Merkle root “locks up” the coins to avoid taking up large amounts of space by including many scripts in the transaction. In this way, MAST is similar to a P2SH script, except that the script hash of a MAST transaction represents multiple scripts. When bitcoin is sent to a MAST output, the bitcoin is locked to the Merkle root of all the scripts. To spend the bitcoin, the spender must reveal the script they are using to unlock the bitcoin and prove that this script is included in the Merkle root of the previous transaction. This means that the spender of the output does not need to reveal all the scripts but only the ones they used. This greatly improves the privacy and performance of such outputs. Additionally, complex scripts, like HTLCs, can be hidden in a Taproot output. For example, the output can have a key spend branch that is an n-of-n of all participants, with hidden scripts that encode the conditions under which the output can be spent. The hidden SCRIPTs ensure that the protocol is followed. If one of the participants acts dishonestly, the rest of the participants can reveal the hidden script and follow their conditions.
Bitcoin uses a scripting language called Bitcoin Script. Bitcoin Script can be considered a list of instructions recorded with each transaction that defines how the receiver of the funds can gain access to them. This scripting language allows us to do many things like hashed time-locked contracts, multi transactions. Tapscript is an updated scripting language used to enable a variety of new transaction types as part of the Taproot upgrade. As an upgraded version of Bitcoin’s programming language (Script), Tapscript enables more accessible addition of new features and builds on the batch verifiability of Schnorr signatures.
Benefits of Taproot
- Increased Privacy: With Taproot and Schnorr signatures, Bitcoin wallets with more complex spending conditions, like a multisig wallet or one that uses time-locking, will no longer be distinguishable from simple single signature wallets. This will let more complex multisig wallets appear similar to other on-chain transactions.
- Higher TPS & Lower fees: With Taproot multisignature, complex scripts can be packed down when spending, rather than putting large scripts into the blockchain, which can be costly. As Bitcoin transaction fees are reliant on the amount of data it takes up in a block, this will be a significant improvement.
In order for Taproot to take effect 90% of mined blocks during that period must include data from the miners known as a “signal bit.” This is also a new activation method called speedy trial. The signalling method is called Speedy Trial and it works in periods of 2016 blocks, meaning that within a 2016 block period, 90%, or 1815 of the 2016 blocks have to signal for readiness. It’s not necessarily over if one period fails to reach 90%, it just means that the upgrade will have to wait until the next period. If the threshold is reached, then activation takes place after a six-month “locked-in” period. During this time frame, the upgrade will take place, but the activation is delayed to make sure there are no problems.