How Utreexo and Statechains work together.
It feels as if we're being spoiled with an onslaught of dope scaling and privacy solutions all across the Bitcoin stack. In the last month alone, we've written about bip-taproot, TxTenna and Blockstream partnering together, and Erlay. Three solutions that, if implemented (TxTenna + Blockstream collab is already live), help make Bitcoin more scalable and more robust on our road towards sufficient decentralization.
Well, it seems like the onslaught is rolling on as two more proposals were dropped on the world this week. Each helping Bitcoin scale at different layers of the stack.
First up, we have Utreexo, a proposal from Thaddeus Dryja, which would greatly reduce the amount of storage needed to store the UTXO set for full nodes. Making it so it is easier to run a full node on relatively inexpensive hardware, which, in turn, may make it more likely that we can get a fully validating node in every household. A freak can dream.
The way Utreexo reduces the storage burden of full nodes is by separating the network's state size from storage requirements of individual machines. Using a hash-based accumulator to allow nodes to attach hashed proofs to inputs when making a transaction. Helping make Bitcoin nodes a lot more efficient. The tradeoff here is that there will be more network traffic caused by the inclusion of the hashed proof in a transaction input, but Thaddeus explains that the effect of this tradeoff can be minimized by certain aggregation methods. If the net-net at the end of the day is the ability for more people to run and use full nodes, Uncle Marty is all about it.
Next up, we have Statechains, which aim to help Bitcoin scale via a second layer that would allow users to exchange UTXOs off-chain. The proposal for this was officially dropped this morning by Ruben Somsen, who presented the idea at Breaking Bitcoin last year. Statechains would come with different tradeoffs than other layer-2 scaling solutions like Lightning and Liquid. Helping to supplement and augment the other solutions, giving Bitcoin users more optionality when transacting and building on the network.
The way I understand this to work is that it is a 2-of-2 multisig setup with a "Statechain entity", made up of a federation of "members" who have to sign n-of-m signatures to sign their key in the 2-of-2 set up, and individual users who are able to pass a private key along a path to each other as they see fit. Off the bat, Statechains seem crazy interesting to me because they are truly non-custodial, which protects Statechain entities from legal recourse. Inventing a 2nd-layer solution that is extremely hard to censor. In the off chance that a Statechain entity doesn't sign a transaction, the user can always receive their bitcoin on-chain. Making it so there is a very high unlikelihood that your UTXO(s) will ever be frozen.
It's small, incremental, boring changes like Utreexo and Statechains that get ya boi all hot an bothered when observing Bitcoin's proliferation throughout our world and beyond. Shoutout to Thaddeus and Ruben for moving us forward.
Onward!
Final thought...
28 may be the year I don't get away with using my student ID for discounts anymore. Very sad.