You may have heard of Taproot. In a few words it is a technology implemented to improve the ability to create smart contracts in Bitcoin and also improve your privacy.
This system is made possible by the Schnorr signatures included in the Bitcoin protocol. This technological update comes with the aim of changing the way Bitcoin scripts had been operating. Taproot improves the security, scalability and privacy of the Bitcoin network.
Like all software, the Bitcoin blockchain network can be upgraded and improved. For this purpose, mining pools are being prepared. Everyone is waiting for the new network upgrade, Taproot. Below we will see what it is based on and what it offers us.
Taproot enhancement was developed by Greg Maxwell, developer of Bitcoin Core who presented it in January 2018. Currently its implementation is among the most anticipated in the Bitcoin community. By 2020 Taproot was already listed in the Bitcoin Core library after Pieter Wuille’s pull request.
According to some reports, the Taproot upgrade is planned together with the implementation of Schnorr signatures. These signatures make the Taproot implementation possible and enable the signature aggregation feature.
This implementation is a Soft Fork that, as we have already mentioned, plans to improve privacy in Bitcoin. In this network we can perform transactions that employ a series of complex functions such as multi-signature requirements or time-locked broadcasts.
Without the implementation of Taproot any user can detect transactions that employ complex functions such as these. With the advent of Taproot it is possible to cover up each and every component of a transaction that includes such functions. This means that even if a transaction implements these functions it will have the same appearance as a single transaction. This significantly increases privacy in Bitcoin.
Taproot will not only help improve privacy, but will also enable the expansion of the Bitcoin network’s multi-signature capability for the creation of smart contracts.
Bitcoin transactions are defined by a series of scripts called P2SH. These determine how the coins will be spent in the next transaction. A simple transaction is secured by a public key. In this case the recipient of the coins provides his digital signature to prove that he is the owner of the coins and can make use of them.
The P2SH could modify their actions by establishing restrictions that condition BTC transactions and blockchain movements. An example would be the establishment of Time Lock. This action allows the locking of coins by a date or block height that will determine when they can be spent.
Other features that can be established in Bitcoin transactions are multi-signatures. This condition is about a set of users becoming the owners of a wallet. Being multiple owners requires multiple signatures to authorize movements with the funds.
All these implementations help to better use the Bitcoin blockchain, however, when a transaction is authorized all the features implemented in the transaction are revealed. In other words, making a transaction exposes the conditions set in the transaction. This represents a privacy problem for the network. In the wake of this problem comes Taproot, the enhancement that helps the privacy of the Bitcoin network. Taproot helps by preventing the conditions set in each transaction from being revealed. Instead of revealing them it will only reveal the final condition of the transaction and in turn show the transactions as normal transactions making it impossible to distinguish one transaction from the other.
To get an idea of the power of Taproot, it allows you to hide the fact that a Bitcoin script has been executed. This means that even if we have performed a Peer-to-Peer transaction, smart contracts or a Lightning Network transaction, the transaction will be indistinguishable. From the outside, any user monitoring the movements will only see a Peer-to-Peer transaction.
The implementation of Taproot requires the combination of two technologies. These are Schnorr and MAST or Merkelized Abstract Syntax Tree signatures. When we refer to Schnorr signatures we are talking about a technology that allows different signatures to be added to transactions and that in turn these signatures can be unified into a single one.
It is a cryptographic signature scheme developed by the German mathematician and philosopher Claus Schnorr. Schnorr had his algorithm protected until 2008 by a patent, however, this expired and can now be implemented.
These signatures offer several benefits, including simplicity and efficiency in the generation of short signatures. For the creation of Bitcoin, Satoshi Nakamoto could have chosen this signature scheme, but he chose the Elliptic Curve Digital Signature Algorithm (ECDSA). His choice was due to the fact that this algorithm was already widely used in those years, secure and open source.
However, years later the Schnorr Digital Signature Scheme (SDSS) may be a big step in the development of the platform and other blockchain networks.
Thanks to the unification of signatures the scheme can be implemented in other important applications, since it allows the combination of public keys. These signatures are considered the most secure version of elliptic curve cryptography. Another advantage is the speed of verification. This means that transactions can be completed in less time.
MAST allows us to hide the non-active conditions in a transaction through Taproot. Instead of showing them, only the conditions that were activated in the network are shown.
MAST works with the Merkle Tree structure by which it individually divides the conditions set for the use of BTC coins. Therefore it does not group them into a single Hash, but instead includes them into a Merkle tree. This tree provides what would be a Merkle root where it stores the coins.
Thanks to this operation, if any data contained in the Merkle tree is revealed, this information can be verified. To verify this information we only need to verify that the data is inside the Merkle root. This whole process is quick and easy and can be carried out without revealing all the information contained in the tree.
This is the mechanism that Taproot will use to avoid revealing transaction information, only the condition that is met when the transaction is made is revealed. In this way, the rest of the data will be kept hidden and protected. This helps the Bitcoin network to advance in the implementation of smart contracts making them more secure and efficient.
It is a fact that Taproot brings several advantages to the Bitcoin network, here are some of the most important ones: