The development team led by Taj Draya published the first version of the utreexo Bitcoin client to launch a “lightweight” full node.
Lightning Network Co-Author Tadeusz (Taj) Dryja (Thaddeus Dryja) worked
we have been working on the project of a” lightweight ” full bitcoin node since the beginning of last year. In the summer of 2019, he published
code for The utreexo scaling solution, and last week the development team released the first version of the Utreexo software as part of the MIT Digital Currency Initiative (DCI).
Full nodes verify that new transactions in the Bitcoin blockchain meet the Protocol requirements and distribute them over the network. However, running a full node requires hundreds of gigabytes of data storage. The truncated version of the full node available in Bitcoin Core allows you to reduce the minimum amount of stored history and transaction outputs (UTXO) to several gigabytes, but this installation also requires a full “pumping” of the blockchain. Therefore, developers have long been trying to simplify deployment and make the full node capabilities available to more users.
Utreexo defines the size of the” state ” of the full node, which shows up-to-date information about who owns how much BTC. Utreexo reduces the minimum size of this state from about four gigabytes to less than a kilobyte.
“Utreexo is a new Bitcoin scaling technology that can make full nodes smaller and faster without loss for privacy and security,” Draya wrote in a blog post.
Full bitcoin nodes contain information about every transaction that has ever been made, and today the size of a single node is 200 GB. A truncated full node can reduce the size of the transaction history to 500 MB. But this does not solve the problem of storing unspent outputs (UTXO), which are just under 4 GB in size.
The UTXO database is growing fast, and will probably continue to grow, making it more difficult for full nodes to work. But Utreexo can solve this problem. With new, unusual cryptography, you can replace most of the UTXO state with one tiny cryptographic proof that takes up much less space.
“Utreexo is a new dynamic battery based on a hash function that allows you to fit millions of unspent outputs in less than one kilobyte – it’s so small that they could be written on a piece of paper,” explains Draya on the MIT DCI website.
Developers have been trying to reduce the size of the full node for a long time. Simplified payment verification (SPV) is one of the most popular versions of the lightweight node used by Electrum and other wallets.
Utreexo is similar to SPV in that it requires much less space on the computer than a classic full node. However, SPV nodes do not maintain user privacy and are more susceptible to attacks than Utreexo nodes.
Since Utreexo has security advantages, Draya hopes that it can weaken the dominant position of SPV nodes if utreexo development goes as planned.
“I think it would be great if Utreexo replaced SPV to some extent, providing the user with an Electrum-like interface, but with the security of Bitcoin Core,” he said.
However, he doesn’t think Utreexo will completely replace SPV, since SPV is still easier to run.
“Utreexo nodes are heavier than SPV, but lighter than current full nodes, so some SPV users may switch to Utreexo. In addition, some users of full nodes will also prefer the new solution, ” he said.
He believes that because Utreexo nodes are much easier to run, they will occur much more frequently than normal full nodes.
“In the long term, I definitely see how almost all full nodes will use a design similar to Utreexo. Nodes that store all the state and history will be more like the current websites of blockchain browsers, or Electrum servers. Classic full nodes will remain, but regular users will not run them, ” Draya said.
Utreexo developers have put forward a proof of concept showing that this idea can be turned into a real working product. But they still have a lot of work to do, including fixing bugs so that the mini-node is suitable for use with real bitcoins.
“The client is still working in the Bitcoin test network and it is not recommended to use it with real BTC. Errors have already been detected in the code, but we are quickly correcting them, ” writes Draya.
The developers aim to make The utreexo node compatible with nodes already operating in the Bitcoin network. To do this, you will need to modify Bitcoin Core, which can be dangerous. Utreexo is “a significant rethink of how Bitcoin works, changing critical code,” writes Draya.
“It will probably be difficult to embed Utreexo code in Bitcoin Core, and there is a good reason for this. We want to make sure that we don’t create problems in the system that manages many people’s money,” Draya said.
Therefore, the developers decided to check whether they can add Utreexo features to Btcd-an alternative wallet for Bitcoin, because it has much fewer users. The next step will be the application of earnings in Bitcoin Core.