Bitcoin's data needs to lighten up - The scalability of the Bitcoin network is one of the main concerns of its developers. After ten years of existence and more and more users, the blockchain now weighs nearly 300 GB. This unfortunately constitutes a brake, because complete nodes require more and more resources.
Thaddeus Dryja , known for creating the Lightning Network with Joseph Poon, has a solution. It significantly reduces the amount of information that complete nodes must have.
Bitcoin's UTXO model and the state of the blockchain
On Bitcoin, the balances of the different addresses are not stored in the same way as in a traditional register . I speak of a UTXO (Unspent Transaction Output) model with an unspent output. Thus, the balance of a Bitcoin address is obtained by adding all the outputs to this address that have not yet been spent.
In order to check the validity of a request, the nodes must therefore know the balance of each Bitcoin address. This is called “the state of the blockchain” . It's a kind of snapshot of the network at time T. Currently, you need to have the complete UTXO database to know this status. It weighs around 200 GB.
This model therefore has advantages (in terms of security), but also some disadvantages. This greatly increases the storage space required to maintain a full node . Likewise, the bandwidth requirements are high.
Utreexo: to alleviate the state of the blockchain
Utreexo is the enhancement proposed by Thaddeus "Tadge" Dryja, researcher at the MIT Digital Currency Initiative.
This method allows to reduce considerably the amount of data to store with a full node to validate transactions.
Instead of using all UTXOs to know the state of the blockchain and validate transactions, Utreexo relies on a "cryptographic accumulator" . An accumulator is a set of information making it possible to justify the membership of data in a set. More precisely, it is a cryptographic primitive. It proves that an element belongs to a set, without revealing its content. This can be done using prime numbers or hash functions , which is the case with Utreexo.
Concretely, this means that the nodes using Utreexo will be able to validate the transactions based on this accumulator . They will no longer need to own all of the UTXOs. This considerably lightens the storage space required to know the state of the blockchain.
Another advantage is that the synchronization time for a full node will be considerably reduced. To decrease the size of cryptographic evidence, Tadge Drya based its accumulator on Merkle trees . So instead of the 200 GB database, a Utreexo compact node only needs a file of a few hundred bytes .
How to implement Utreexo?
The researcher presented Utreexo on July 22. It will be implemented by modifying the source code of the Bitcoin client software: btcd . For now, Utreexo is only present on the Bitcoin testnet . It will also be necessary to ensure its compatibility with Bitcoin Core.
Although Utreexo does not require a soft fork to be implemented, this is a very significant design change for Bitcoin. As usual, you have to proceed with caution. Once the tests have been carried out successfully, a new version may be released.
Thaddeus Dryja is among the brightest researchers in the Bitcoin ecosystem. After his major contribution to the network with the Lightning Network, his research on discrete log contracts , he now offers us a considerable improvement in the transaction validation system.
Please feel free to subscribe to CryptoPlanet360 on Youtube to get the latest videos about Crypto projects and Blockchain
Subscribe here: https://bit.ly/2NSkrOU