Published on: 2018-06-10T23:07:07+00:00
A proposal has been made to change the way unspent transaction outputs (UTXOs) are stored in Bitcoin. The proposal suggests storing only the hashes of UTXOs instead of their full data, which could result in a 40% reduction in the size of a pruned node and less than a 1% reduction in an archive node. However, there are concerns about the 5% ongoing bandwidth increase required by this change and whether it would be worth the reduction in node size. The current transaction mechanisms are considered inefficient, and implementing this change may actually result in a 25% increase in overhead. Despite these concerns, the proposal does not require any changes to the blockchain data structure and could be implemented without permanently marrying the network to it.The proposal is based on separating the roles of the UTXO set, with one role providing proof that previous outputs exist to be spent and the other role providing the actual previous output data for verification. Instead of storing the full dereferenced prevout entries in a UTXO set, the proposal suggests storing their hashes to an Unspent Transaction Output Hash Set (UHS). This approach offers several advantages, including disk and memory savings, faster validation speeds, and more efficient caching. Pay-to-pubkey outputs would also be less burdensome on full nodes, and an even more aggressive pruning mode could be enabled.However, there are some drawbacks to this approach. It may require a few "bridge nodes" during the transition period, and there is a small increase in network traffic. Non-standard output scripts would still need to be sent in full, but they account for only around 1% of all current UTXOs. Despite these drawbacks, the proposal does not introduce any fundamental changes to Bitcoin's security model.Transitioning from the current UTXO model to the UHS model may be challenging but not overly difficult. Wallets would need to hold full prevout data for their unspent outputs, and a new service-bit would be allocated to indicate nodes willing to serve blocks and transactions with dereferenced prevout data appended. The proposal is still in its early stages, and implementation details need to be worked out. Further analysis is needed to determine whether the benefits of this proposal outweigh the costs.In conclusion, the proposal to store only the hashes of unspent outputs in Bitcoin has the potential to reduce node size and improve efficiency. However, there are concerns about the ongoing bandwidth increase and the overhead of the proposed change. Despite these concerns, the proposal could be implemented without permanently changing the blockchain data structure. Further analysis and testing are needed to fully evaluate the benefits and drawbacks of this proposal.
Updated on: 2023-08-01T23:08:00.907735+00:00