UTreeXO, is an improvement proposal designed by Tadje Dryja, which seeks to improve the handling of the UTXO of the Bitcoin blockchain, compressing it into a simple hash that can be reproduced by all the actors of the network.
UOne of the improvements being prepared for Bitcoin (BTC) is known as UTreeXO, a project that seeks to help us reduce the problems that occur with the management of the unspent outputs (UTXO) within the blockchain. But what does UTreeXO actually do? How can you help us? Well, that is precisely what you will know next.
UTreeXO, improving the control of UTXO in Bitcoin
UTXOs are a mechanism designed to be able to identify unused coins within a Bitcoin address. To see it more easily, keep in mind this example:
María has decided to pay Juan for an old debt, corresponding to € 200 in Bitcoin. To do this, Maria opens her purse, prepares the transaction, and sends the balance to Juan. At that point, Juan can see the unconfirmed transaction, and once confirmed, Juan finally has her balance and Maria her debt paid. In this example there are three points:
- Maria uses the available balance to pay Juan. This available balance is part of the UTXO (coins in her possession that have not been spent) that Maria has at her disposal.
- The payment is made, Maria passes the ownership of those coins to Juan, creating a transaction with an entry (using her available balance, the UTXO) and an exit (which assigns the coins to Juan) and in case there is a change it is creates a second output that returns said balance to Maria.
- Juan receives the payment from María, and María's tickets (the UTXO balance that he had at his disposal) now becomes Juan's available balance, now being his future UTXOs.
This UTXO model is the basis of Bitcoin payment accounting, and it is a smart way to prevent coins from coming out of nowhere inside Bitcoin or someone from making use of coins that are not really under their power. That is, UTXOs are fundamental in Bitcoin.
The problem with Bitcoin's UTXO model
However, this model also generates a problem, and that is that it generates a huge amount of information that in the end causes the size of the blockchain to grow disproportionately. Not only that, it makes it increasingly complex and difficult to be able to fully verify the blockchain, slowing down the synchronization process of the nodes.
To solve this problem and reduce the size of the UTXO information within the blockchain, Tadje dryja, co-creator of Lightning Network, has presented UTreeXO. The idea behind this improvement is to provide Bitcoin with a system that allows to correctly prune, and cryptographically verifiable, the UTXO data set of the Bitcoin blockchain to a hash.
That is, UTreeXO is a hash-based accumulator. To achieve this, UTreeXO takes the UTXO data from the blockchain, and turns that data into a huge tree (similar to merkle tree). This tree is then synthesized into a root hash that synthesizes all that data set. The system is cumulative, so the creation of a new hash simply requires the copy of the previous hash, with the previous UTXO data, generating the accumulation process and as a result the new hash is obtained.
This task would be in the hands of the so-called compaction nodes, and they would allow to keep the network synchronized with respect to the UTXO and UTreeXO data as required. This ensures that the system cannot be tampered with, that it can be publicly verified, and that the system does not disrupt the current operation of Bitcoin.
How does UTreeXO work?
The scalability problem in Bitcoin becomes more and more serious. First of all, we have that every day more and more people create their wallets and begin to make use of the Bitcoin network. This greater influx of people within the Bitcoin network increases the volume of information (more transactions and information within the network), information that the nodes must handle and that must be recorded on the blockchain. Among these data is the information of the UTXO (Unspent Transaction Output).
Given this, the compact nodes of UTreeXO begin their role when a new transaction is created and it is transmitted through the network. At that point, the node takes the transaction, performs a cryptographic proof of that fact and regenerates the UTXO tree of the chain, to obtain the final hash. The proof of inclusion (the cryptographic proof of the UTXO) is then sent along with the transaction and stored on the blockchain.
From then on, each UTreeXO compact node forwards the transaction and cryptographic proof to other compact nodes. In this way, a consensus is generated on the UTXO tree of the chain, and the public verification of all this information is enabled. In the end, when the transaction is included in a block, all the test data is discarded. This means that compact nodes can keep transactions and tests in their memory. Thus, there is no information whatsoever to be written to the hard drive.
An escalated solution
In addition to the compact nodes of UTreeXO, there are also the bridge nodes of UTreeXO. The function of these nodes is to receive the standard transactions of the network (those that are not initially formatted to use UTreeXO) and to carry out all the necessary process to be included in the tree. To achieve this, the bridge nodes contain the entire history of the blockchain and the complete UTXO list. Thus its role is to receive the information from the full nodes and create a proof of the existence of unspent funds based on the UTXO list. Once this point is made, this information is forwarded with its respective test to the compact nodes.
At this point it is necessary to emphasize that the presence of the bridge node is only necessary when a standard full node sends data to a compact node. On the other hand, the compact node only sends the transaction data to the standard full node bypassing the cryptographic proof of funds. Ultimately, this system allows the implementation of UTreeXO in a backward compatible environment, in which the standard nodes and UTreeXO can work without problems.
Objectives of UTreeXO
The main objective of UTreeXO is to decrease the amount of information necessary for the nodes to check the availability of the UTXOs. In this way, they would only have to store a copy of the transaction property information. And next to this information, a cryptographic proof of the information about the UTXOs. As a result, the computational power and data storage requirements of the nodes are drastically reduced, while improving the availability of resources and bandwidth throughout the network.
At the same time, it allows offering greater scalability to the Bitcoin network at some points. This is possible due to the reduction in the flow of data within the network, which significantly reduces the use of bandwidth, and at the same time, reduces the time of verification of transactions.
Pros and Cons of UTreeXO
Pros
- Among its pros, is the improvement in the speed of transactions in Bitcoin. This by providing greater scalability in the face of the huge amount of information that is handled in the network due to the increase in the volume of transactions.
- Reduction of the amount of information that is stored in the nodes of the Bitcoin network.
- Maintains the security and privacy of transactions. This is possible as only evidence of the existence of funds is transmitted without including further details. In this way, it is avoided that the privacy and security of users can be violated.
Cons
- The implementation of UTreeXO requires that the intermediary nodes or bridge nodes be created. These nodes will serve as the information transition point from a standard full node to a compact node. The information flow in these bridge nodes must be complete. That is, they must maintain the blockchain as well as the UTXO list, to create the tests that compact nodes need for the validation of transactions.
- The presence of bridge nodes in the network could create situations that go against decentralization. This in case UTreeXO is widely used on the net.
- The creation of new commissions that serve as an incentive to the bridge nodes. This is a possibility that could occur in the case of the implementation of UTreeXO technology on the Bitcoin network. This would lead to an increase in the cost of transaction fees.
How much do you know, cryptonuta?
Does UTreeXO lead to security issues in Bitcoin?FALSE!
UTreeXO has been created in order to maintain the same level of security as UTXO. In fact, it does not replace this system, it simply implements a series of lateral improvements that allow optimizing the synchronization of the nodes at the UTXO level. The objective is to improve and optimize the use of the network and the storage of data within the nodes.
A solution still in development
However, UTReeXO is a highly experimental phase project. Here we have explained the things it proposes to you, but this is not working on the main Bitcoin network. It is a proposal that, perhaps, will never be put into operation within the Bitcoin mainnet, or that someone else takes said proposal and, changing a few points, creates a new, better proposal. This is the magic of this open and free ecosystem.
On the main website of the proposal, you can read the progress of the project, and in its GitHub repository it is possible to download the test software to run the test code for this development. It is important to emphasize that there is enormous interest in this project, which can be clearly seen in the enormous development activity on GitHub. It may open up new opportunities for entrepreneurs, who knows.
On the other hand, the creator of the proposal warns that:
The software works on testnet, the Bitcoin testnet, and is not recommended for use with real money. There are still many known bugs and inefficiencies in the code, but we are improving it at a rapid rate.