Tending to the Great Tree: Bitcoin’s Major Upgrade to Privacy and Security
It's a hard thing being the king, and cryptocurrencies are certainly no exception to this rule. This is very much the case for the much applauded ‘king of crypto' – Bitcoin. Some of the issues that Bitcoin has is its ever sluggish transaction rate, which is further exacerbated by the cryptocurrency's lack of privacy for its users, as well as the limitation of scalability.
Now, while there are a number of solutions that have cropped up since then, one of them being the recently announced Lightning Network. What this solution provided was a second-layer modifier for Bitcoin, allowing users to benefit from far faster transaction speeds, as well as give it some method of addressing the concern of scalability.
This demonstrates just one of the ways in which the community is working to buck this trend of luxuriating in the success of Bitcoin. A growing segment of its community is taking a closer look at how they can solve the looming issue of privacy within Bitcoin, while also ensuring there are options and a greater level of flexibility when it comes to smart contracts.
This emerging method of applying improved features of scalability and privacy is coming to be known as ‘Taproot,' and was initially put forward by Gregory Maxwell, who works as the Chief Technology Officer for Blockstream. In addition, implementing Taproot for Bitcoin is currently underway, and involves a significant amount of influential names from the Bitcoin Core team.
These include the likes of Anthony Towns, Jonas Nick, Andrew Poelstra, Rusty Russell, and a number of others.
We'll be taking the opportunity to explore in more depth what Taproot entails, as a skin-deep reading doesn't exactly do it justice, and requires a little acclimatizing to what MAST is and how it was developed, along with what P2SH is exactly. These features are important to remember, as it is thanks to both that Schnorr Signatures are applied in order to make Taproot a reality.
So what is it that makes transactions slower? The current system means that when a user sends any amount of Bitcoin to another address, this is locked into that specific users address, which is accomplished through scripts within the blockchain. The only real way for these scripts to be unlocked is when specific conditions are met by the users.
In contrast, P2SH operates as a way for transactions to be sent to, what is referred to as a Script Hash as opposed to the currently used public key hash. The drawback to this is that P2SH requires a far larger amount of pre-conditions in order to unlock these bitcoins once they have been attached to a script hash. In order to spend BTC, the recipient needs to have a script which matches the script hash and accompanying data.
This method was initially introduced to the Bitcoin community during the Bitcoin Improvement protocol [BIP] 16. It doesn't exactly sound like a faster solution does it? Well, it isn't. It is a ‘solution' that can quickly become congested with an unnecessary amount of overhead that comes with it.
So, in order to redress the limitations of P2SH, the community proposed the inclusion of Merkelizd Abstract Syntax Tree [MAST For short] to the Bitcoin ecosystem. In summary, the system was first invented by its namesake, Ralph Merkle and was initially put to work for the categorization of data and, as a result, it provides a far easier way to verify the validity of any Merkle Trees that it's tasked with verifying.
By applying Merkle, any available data is hashed into a ‘Merkle Root' which is a compact hash. This means that whichever Merkle Tree the root came from can be instantly verified along with the root.
So if we take P2SH and combine it with Merkle Trees, we come forward with MAST. This solution allows for Bitcoin, which are needed for a particular transaction to be signed into completely separate scripts with similarly dissimilar conditions that have to be met before they can be spent. This also serves as a more decentralized way of determining how this Bitcoin is spent.
So what does this hybrid system allow for? Much like the hashed scripts within P2SH, the scripts are hashed into these trees. The difference is that these trees are locked, and a ‘Merkle Root' provides the key. What this equates to is a far faster method of validating transactions and unlocking Bitcoin. As one Merkle Root allows for the verification of the entire tree. Collectively, his makes the MAST highly efficient compared to its counterparts.
To put it in a more general way, Schnorr signatures operate as an aggregation method for all kinds of messages that take place on-chain. Allowing them to be easily compiled instead of consisting of multiple transactions. A user simply needs to sign a single transaction and send.
Alongside this, one of the added benefits with Schnorr Signatures is that if there is more than one of these within a single block, you could technically include individual signatures within one single signature as well. This ‘Single' signature could then be validated altogether instead of separately, providing a far more time-saving solution.
How can this system be applied? One of the first propositions is to implement it on top of multi-signature transactions, thus allowing for a single output with a mutually used key and common signature, dramatically increasing the speed of transactions. In conjunction with Taproot, this can ensure Schnorr signature combines all of these kinds of transactions into a visibly singular transaction. But working to combine this with the functionality of MAST means that this new system will have a way of uncovering just how Bitcoin is being spent within the ecosystem.
In brief, Taproot represents a fundamental transformation in the underlying cryptographic of Bitcoin, upgrading it significantly within a single soft-fork protocol. A section of Segregated Witness also allows for a number of improvements to be made on signatures as well as the inclusion of a new mechanism for digital user signatures.