Lightning network white paper co-author Tadge Dryja has published the code for a proposed scaling solution he has been working on over the last year.
Published Monday, Utreexo will make the portion of Bitcoin full nodes known as the “state” or “UTXO set” simpler to run and smaller with the aid of cryptographic proofs.
Dryja is among the most prominent technologists behind the “lightning” concept that Bitcoin can significantly scale when transactions are pushed to another layer. Some teams of developers are looking to implement the tech for Bitcoin payments, but it is not yet safe to use and still experimental.
Utreexo possesses the same motivation that boils down to making Bitcoin full nodes more convenient to run. They require some computing resources to set up but are the safest way of utilizing Bitcoin without having to trust an intermediary to check if the network transactions are real.
“As the number of users of the system increases, the UTXO set grows, and the resource cost of running a node increases. This has led to a progressively smaller proportion of users running their own node as more users rely on light clients or on [third] party nodes to inform them of the state of the network,” the document reads.
According to the paper, “nodes using the accumulator need only store a logarithmically sized representation of the UTXO set, greatly reducing storage space and disk seek times.”
The document also states the outcome of simulations Dryja has run indicating the scheme’s advantages.
“Since January I’ve implemented more code and made the code public on GitHub, and gotten performance numbers for bitcoin mainnet download sizes,” he noted.
Looking at the figures, however, there is a catch: while storage requirements are reduced, the proofs data raises the network bandwidth load.
“In our simulations of downloading Bitcoin’s blockchain up to early 2019 with 500MB of RAM allocated for caching, the proofs only add approximately 25% to the amount otherwise downloaded,” the document states.
Per Dryja, he released the code as open source for other developers who wish to explore the idea and pick it apart for themselves.
“It’s not integrated into a wallet yet, which will still take some time, but the library is there for people to try out,” he said.