Author: Peter Todd 2016-05-17 13:23:11
Published on: 2016-05-17T13:23:11+00:00
The article mainly discusses the implementation of Transaction Output (TXO) commitments in Bitcoin's security model. TXO growth is a significant problem for the long-term decentralization of Bitcoin driven by various factors, including lost coins, dust outputs, and non-bitcoin-value-transfer use-cases. Currently, there is no consensus rule limiting the size of the UTXO set, which expands to significantly more in memory than its on-disk compressed serialization of 1.3 GB. Segregated Witness proposes to give witness space a discount, but it is not enough to discourage UTXO growing behavior. The article proposes Merkle Mountain Range (MMR), known as TXO commitments, as a possible solution to address this issue. This type of deterministic, indexable, insertion ordered merkle tree allows new items to be cheaply appended to the tree with minimal storage requirements. TXO commitments propose a merkle tree committing to the state of all transaction outputs, both spent and unspent, providing a method of compactly proving the current state of an output.Implementing UTXO commitments without delaying commitment can impact small miners' orphan rates, making block validation slow. Delaying the commitment can change a latency-critical task into a much easier average throughput problem. In a low-priority background task, we flush the TXO journal, recording the outputs spent by each block in the TXO MMR, and hashing MMR data to obtain the TXO commitment digest. Throughput for the TXO commitment calculation will be worse than the existing UTXO only scheme, but TXO commitments provide other possible tradeoffs that can mitigate the impact of slower validation throughput.The article also discusses the challenges involved in implementing such a scheme, such as determining the minimum age that can be "assumed valid" and the tradeoff between political, social, and technical concerns. Additionally, the article proposes several areas for further work, such as optimizing the TXO commitment scheme to avoid complexity, prioritizing bitcoin value-transfer over other uses, and exploring alternative miner fairness/decentralization metrics/incentives.The proposed high-performance/low-latency delayed commitment full-node implementation requires storing the UTXO set, STXO set, TXO journal, and TXO MMR list. The article suggests that a reasonable approach for low-level cryptography may be to treat the two cases differently, with the TXO commitments committing to what data does and does not need to be kept on hand. Furthermore, it emphasizes that TXO commitments raise issues with Bitcoin's security model by allowing relatively miners to profitably mine transactions without bothering to validate prior history. In conclusion, implementing TXO commitments in a "virtual" fashion, without miners actually including the TXO commitment digest in their blocks at all, could be a possible solution. The article references several related works by the author and others.
Updated on: 2023-06-11T05:28:20.063957+00:00