Author: Nick ODell 2016-05-19 22:23:28
Published on: 2016-05-19T22:23:28+00:00
The article discusses the issue of UTXO growth in Bitcoin, which poses a serious threat to long-term decentralization. Currently, there are no consensus rules that limit the growth of the UTXO set, which can be attributed to several factors such as lost coins, dust outputs, and non-btc-value-transfer "blockchain" use-cases like anti-replay oracles and timestamping. While Segregated Witness proposes to reduce the UTXO set size by spending txouts cheaper, it may not discourage all UTXO growing behavior. This is because non-btc-value-transfer use-cases can afford higher fees per UTXO created than competing btc-value-transfer use-cases, making whitelists blocking non-btc-value-transfer use-cases as "spam" an unfeasible solution.To address the problem of UTXO growth, TXO commitments propose a Merkle Mountain Range (MMR), which commits to the state of all transaction outputs, both spent and unspent, to provide a method of compactly proving the current state of an output. This allows less frequently accessed parts of the UTXO set to be archived, allowing full nodes to discard associated data while still providing a mechanism to spend those archived outputs by proving to those nodes that the outputs are unspent. Proof generation and addition to transactions do not require the involvement of signers, and minimal changes are required to wallet software to make use of TXO commitments.The proposed high-performance/low-latency delayed commitment full-node implementation of TXO commitments needs to store the following data: 1) UTXO set, 2) STXO set, 3) TXO journal, and 4) TXO MMR list. Through this implementation, we can record spent outputs with two key:value updates and one journal append, which requires no more than two updates than the existing UTXO set per spend, ensuring new block validation latency is within 2x of the status quo even in the worst case of 100% archived output spends.The TXO MMR implementation can store a large number of states with minimal data requirements since most information is shared between states, which allows simple reference counting for garbage collection. Data no longer needed can be pruned by dropping it from the database while unpruning can be done by adding it again. The bare minimum data necessary to append new txouts to the TXO MMR are the tips of the perfect binary trees or "mountains" within the MMR.Overall, TXO commitments represent an improvement in Bitcoin's scalability and storage efficiency. They allow for more efficient use of storage space and reduce the need for SPV wallet software to trust third parties providing them with transaction data. However, there are still questions that need to be addressed, including how TXO commitments will interact with fraud proofs and whether incentivization schemes for miners can be used to discount or ignore TXO commitment proof sizes. Additionally, further work needs to be done in optimizing TXO commitments, including the possibility of using a metric other than age, such as priority, and whether UTXO archiving should be based on a fixed size UTXO set rather than an age/priority/etc. threshold.
Updated on: 2023-06-11T05:27:22.872542+00:00