If you are a Bitcoin user you may have heard of Utretxo, a scalability improvement in Bitcoin. All this operation is carried out with the aim of significantly reducing the number of cryptographic proofs to represent a state of the blockchain and its different UTXOs in it.
Among the capabilities of this enhancement is to drastically reduce the storage needed to represent the overall state of Bitcoin UTXOs. In other words, thanks to this improvement there would be nodes that would occupy less storage space in addition to networks with the ability to synchronize faster and with greater security.
One of the problems that stand out in the Bitcoin network is its scalability because as more users join the network this causes an increase in the volume of information to be processed by the nodes. This problem stands out especially in the UTXO environment.
UTXO or Unspent Transaction Output is the information managed by nodes regarding the output of unspent transactions in the Bitcoin network. The volume of this information increases as more people join the Bitcoin network.
In order to solve this problem and decrease the size of the information, the co-author of the Lightning Network white paper, Tadje Dryja of the MIT Media Lab’s Digital Currency Initiative proposed the implementation of UtreeXO, the project capable of enabling data pruning for the UTXO area.
UTreeXO is, in more technical terms, a hash-based accumulator. This accumulator creates a root of the UTXO dataset, allowing to store only this root and not the whole UTXO dataset. With this operation, the accumulator saves and stores all the information in a space of less than one kilobyte of data. The nodes that make use of this accumulator (UTreeXO) are called compact nodes.
As we can already imagine, UTreeXO pursues one main objective and that is to reduce the high volume of information required for nodes to check the availability of UTXOs. Through its operation, they would only have to store a copy of the ownership information of each transaction performed. Along with this stored information, they also keep a cryptographic proof of the UTXO information. As a result of this whole system, the computational power and data storage requirements of the nodes necessary for the operation of the network are drastically reduced. Moreover, the availability of resources and bandwidth in the network is significantly improved.
Another of its main objectives is to be able to offer greater scalability in the Bitcoin network at some points, as this is usually the biggest flaw of the network. This goal is possible due to the reduction in the data flow within the network, which in turn significantly reduces the use of bandwidth, and on the other hand, reduces the verification time of transactions which is a great advantage for the network.
As the Bitcoin problem became more and more noticeable, the implementation of UTreeXo became necessary. To remedy this problem, UTreeXo begins its operation. UTreeXo nodes start operating when a new transaction is executed and transmitted over the network. The node takes over the transaction and sends a cryptographic proof of the transaction. Through the cryptographic proof, the UTXO tree of the blockchain is regenerated in order to obtain a final Hash.
At this point, each compact node forwards both the transaction and the cryptographic proof to other compact nodes. This is how a consensus is generated on the UTXO tree of the chain, thus enabling the public verification of all the information. Finally, when the transaction is included in a certain block, all the proof data is discarded. This allows compact nodes to store and save transactions and tests in their memory. In this way there is no information to be written to the hard disk.
In addition to the UTreeXO compact nodes, we can also find other nodes called UTreeXO bridge nodes. These nodes perform the task of receiving standard transactions from the network. Standard transactions are those that are not initially formatted to use UTreeXO. In addition, these bridge nodes are responsible for carrying out all the necessary processing to include the transactions in the tree.
In order to accomplish this entire process, bridge nodes store the entire history of the blockchain and the UTXO list in its entirety. Therefore, their role is to receive the information from the full nodes and embody a proof of the existence of unspent funds based on the UTXO list. When all this process is completed, the information with the proof is forwarded to the corresponding compact nodes.
In this whole process it should be noted that the presence of the bridge node is only needed at the moment when a standard full node transmits the data to a compact node. On the other hand, what we know as a compact node will only send the transaction data to the standard full node bypassing the cryptographic proof of funds test.
This whole system allows the implementation of UTreeXO in a “backward compatible” environment. In such an environment the standard nodes and UTreeXO can operate without any complications.
As every UTreeXo project has some advantages and disadvantages. Below we will see some of them.