Lightning creator Tadge Dryja works on a new design for a lighter weight Bitcoin full node. He first wrote a paper about it in 2019. Last week, his team released a first version of the Utreexo software for Bitcoin as a part of MIT Digital Currency Initiative (DCI), putting the idea of lighter nodes into working code.
Full Bitcoin nodes act like financial security systems. It validates Bitcoin blockchain transactions and protects of tricks that users think they received money but they didn’t. But they need a lot of computing space. They’re also quickly growing in size.
Since these nodes are the most “trustless” way of using Bitcoin, developers have been trying to make them easier to use for a long time. It’s one of Bitcoin’s nerdy “holy grails.”
Utreexo specifically tackles the size of the “state” of a full node, which shows up-to-date information about owners and quantity of bitcoin. Utreexo slashes this state size from roughly 4 gigabytes to less than 1 kilobyte. Thus it could be a big breakthrough.
“Utreexo’s lighter Bitcoin node is a new scalability technology for Bitcoin, which can make Bitcoin nodes smaller and faster and keep the same security and privacy as full nodes, Dryja wrote in the blog post announcing the release.
But it hasn’t been implemented fully yet, which is why it is a big deal to see Dryja releasing the first version. The project still has a long journey to go before users can start using the nodes to plant a flag of financial self-sovereignty. But it’s a crucial first step.
Bitcoin full nodes hold every transaction ever made, clocking in at about 200 GB today.
“Pruned” full nodes are able to reduce the size of the transaction history to as low as 0.5 gigabyte, about the size required to store an episode of a TV show.
But this doesn’t tackle the storage of Bitcoin’s Unspent Transaction Outputs (UTXOs), that tallies up how much bitcoin is linked to each bitcoin address. This batch of data takes up a little less than 4 GB of data.
This UTXO state has grown rapidly over time and it is likely to continue. It makes it harder to run full nodes.
That’s where Utreexo comes in. With the help of fancy, new cryptography, it’s possible to replace this bulk of state with one tiny cryptographic proof that takes up much less storage.
“Utreexo is a novel hash based dynamic accumulator, which allows the millions of unspent outputs to be represented in under a kilobyte – small enough to be written on a sheet of paper,” Dryja explains on the MIT DCI website.
Because it does what a pruned node does, plus more, one bitcoiner called it a “super-pruned node,” he told CoinDesk.
Utreexo developers now put forward a proof of concept, showing that their project can be turned into a real working product. But there are a lot of work to do, including ironing out bugs to make the mini node suitable for real money.
“Utreexo software also operates on testnet, the Bitcoin testing network. But they don’t recommend it for using with real money. There are still plenty of known bugs and inefficiencies in the code, but we’re improving it at a rapid pace,” Dryja writes.
They’ll finally have to make the Utreexo node compatible with the nodes already running on the Bitcoin network. To do that, developers will need to modify Bitcoin Core, the most popular Bitcoin node software.
But this can be dangerous. Utreexo software is “a significant re-thinking of how Bitcoin works, changing consensus-critical code,” Dryja writes.
“It is thus likely to be difficult to get Utreexo code into Bitcoin Core, and with good reason. We want to be very sure to not introduce problems into a system handling so many people’s money,” Dryja said.
That’s why they decide to add Utreexo’s lighter weight Bitcoin full node to alternative Bitcoin node software Btcd first, because that many people don’t use it, “and in the process learn more about how it affects full node operation,” Dryja said. The next step will be eventually applying what they learned to Bitcoin Core.