Tadge Dryja at Scaling Bitcoin, 2017. (Pete Rizzo/CoinDesk)
The infrastructure propping up Bitcoin might become easier for anyone to spin up and run.
Lightning creator Tadge Dryja has been working on a new design for a lighter weight Bitcoin full node, about which he first wrote a in 2019. Last week, he and a team of coders a first version of the Utreexo software 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, validating Bitcoin blockchain transactions and protecting users from being tricked into thinking they received money that they didn’t. But they take up a lot of computing space and are quickly growing in size.
Since these nodes are the most “trustless” way of using Bitcoin, developers have long been trying to make them easier to use. 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 who owns how much bitcoin. Utreexo slashes this state size from roughly four gigabytes to less than a kilobyte. In that regard, it could be a big breakthrough.
“Utreexo is a new scalability technology for Bitcoin, which can make Bitcoin nodes smaller and faster while keeping 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 a first version of it. The project still has a long journey to go before users can begin 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 a half a 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), which tallies up how much 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 growing, making 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 on the MIT DCI website.
Because it does what a pruned node does, plus more, one bitcoiner called it a “super-pruned node,” Dryja told CoinDesk.
Trying to shave down these hefty Bitcoin full nodes is far from a new pursuit. Simplified Payment Verification (SPV) is probably the most popular version of a lightweight node, used by Electrum and other wallets.
Utreexo is similar to SPV in that it doesn’t require nearly as much computer storage space as a full node. But SPV nodes don’t preserve user privacy as well and are more susceptible to attacks than Utreexo nodes are.
Since Utreexo offers these security benefits, Dryja hopes it might chip away at SPV’s dominance in the space (as long as writing the Utreexo software goes as well as planned). “I think it would be great if it replaced SPV to some extent, allowing an Electrum-like user experience but with Bitcoin Core security,” he told CoinDesk.
But in the end, he doesn’t think it’ll replace SPV completely, as SPV is still easier to run.
“I think it will be a bit in between. [Utreexo nodes are] heavier than SPV but lighter than current full nodes, so some SPV users may switch to Utreexo, and some current full node users will switch as well,” he said.
He also imagines that since Utreexo nodes are so much easier to run, they’ll be much more common than normal full nodes.
“Longer term, I can definitely see almost all full nodes using a Utreexo-like design, and nodes which store the entire state and history would be more like current blockchain explorer websites or Electrum servers – there will still be some, but no normal users will run their own,” Dryja said.
Utreexo developers now put forward a proof of concept, showing that the idea can be turned into a real working product. But they still have a lot of work to do, including ironing out bugs to make the mini node suitable for real money.
“The software also operates on testnet, the Bitcoin testing network, and is not recommended for use 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 eventually have to make the Utreexo node compatible with the nodes already running on the Bitcoin network. To do this, developers will eventually need to modify Bitcoin Core, the most popular Bitcoin node software.
But this could be dangerous. Utreexo 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’ve decided to see if they can try to add Utreexo’s magical powers to alternative Bitcoin node software Btcd first, because it’s not used by nearly as many people to secure their money, “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.