Author: Johnson Lau 2016-05-20 09:46:32
Published on: 2016-05-20T09:46:32+00:00
The context is a comparison of two proposals related to Bitcoin mining. The first proposal, shared in December 2015, requires only the pruned UTXO set and 32 bytes per archived block for mining. However, it may be difficult for users to spend an archived output as they need to know the status of other archived outputs from the same block. A third-party archival node can perform a full re-scan of the blockchain to generate the proof. The second proposal suggests implementing a high-performance/low-latency delayed commitment full-node that needs to store four types of data: UTXO set, STXO set, TXO journal, and TXO MMR list. The UTXO set is a low-latency K:V map of txouts definitely known to be unspent, similar to the existing UTXO implementation, but with the key difference that old, unspent, outputs may be pruned from the UTXO set. The STXO set is a low-latency set of transaction outputs known to have been spent by transactions after the most recent TXO commitment, but created prior to the TXO commitment. The TXO journal is a FIFO of outputs that need to be marked as spent in the TXO MMR, with appends being low-latency and removals being high-latency. Finally, the TXO MMR list is a prunable, ordered list of TXO MMRs, mainly the highest pending commitment, backed by a reference counted, cryptographically hashed object store indexed by digest (similar to how git repos work), with high-latency okay.
Updated on: 2023-05-19T23:29:32.051559+00:00