The scalability problem in Bitcoin is getting trickier by the day. As more people enter the network, the more information the nodes need to process, this becomes more apparent with UTXO. nbsp;
UTXO (Unspent Transaction Output) refers to the information processed by the nodes regarding the output of unspent transactions on the Bitcoin network. And this information is increasing every day as more people join the Bitcoin network.
To solve this problem and reduce the size of the information, Tadje Dryja of the MIT Media Lab Digital Currency Initiative (and co-author of the Lightning Network white paper) proposed the implementation of UtreeXO, a project that enables data cleansing for the UTXO set.
UTreeXO is a hash-based accumulator. This creates a root of the UTXO record in which only this root can be saved instead of the complete UTXO record. In this way, the accumulator stores the information in less than a kilobyte of data. The nodes that use this UTreeXO accumulator are called compact nodes.
Related: What is UTXO in Bitcoin?
Optimizing data transmission in the network
When a compact node creates a new transaction and sends it over the network, it sends the inclusion test with the transaction. From this point on, each compact node forwards the transaction and tests it on other compact nodes.
Since every compact node has the same accumulator and root status, the tests are the same for every node. The compact node simply forwards exactly the same message to its colleagues.
As soon as the transaction is contained in a block, all test data is discarded. This means that compact nodes can keep transactions and tests in their memory. No information is written to the hard disk. nbsp;
When a transaction is performed from a fully standard node, the transaction information is only sent to the remaining nodes on the network. The problem is that in addition to the transaction information, compact nodes require evidence of the existence of unspent funds for that transaction on the blockchain. To solve this problem, intermediate nodes or “bridging nodes” are created. which enable communication between standard full nodes and compact nodes.
The bridge nodes must contain the blockchain and the UTXO list. So its job is to get the information from the full nodes and to provide evidence of the existence of unspent funds based on the UTXO list. Once this point has been made, this information is passed on to the compact nodes with their respective test. Nbsp;
At this point it must be emphasized that the presence of the bridge node is only required when a standard full node sends data to a compact node, in the opposite direction the compact node only sends the transaction data to the full node standard by skipping the test.