TXO commitments do not need a soft-fork to be useful [combined summary]



Individual post summaries: Click here to read the original discussion on the bitcoin-dev mailing list

Published on: 2017-05-16T12:23:53+00:00


Summary:

In a bitcoin-dev discussion thread, it has been pointed out that TXO commitments can be useful without the need for a consensus protocol change. This realization was shared by Alex Mizrahi, who noted that TXO commitments do not require changes to the consensus protocol to be valuable. It was also mentioned that Peter Todd had previously discussed the idea of a distributed file system in 2013, but his explanation may have been confusing to some due to its reference to a DHT. The importance of clear explanations and analogies was emphasized in the discussion.Another topic of discussion among the bitcoin-dev community is the usefulness of communicating the UTXO (Transaction Output). Praxeology suggested using commitments to incentivize miners to verify the UTXO. Praxeology wrote a detailed write-up called "Synchronization Checkpoints" on Github, outlining the idea. The proposal involves miners putting a commitment at the current Checkpoint Block, which would be a hash of the full state of the UTXO at the previous Checkpoint Block. To ensure high performance, Praxeology suggests maintaining a DB table for sorting the UTXO, waiting for no forks blocks after a CheckPoint Block is made, populating a new UTXO Checkpoint File, and using Merkle tree or bittorrent style hashing for the UTXO Checkpoint File.The discussion also touched on the possibility of implementing a cryptographic data structure to improve delayed TXO commitments using lazy hashing. The proposed data structure would replace commitments with pointers, combining a cryptographic data structure with a standard pointer-based data structure. However, one challenge is how to handle proofs, as the level of verification possible depends on the digests calculated by each node. This approach only works for data structures where the overall structure of the tree does not change as nodes are added and updated.The email thread posted on the Bitcoin-dev mailing list focuses on the implementation of TXO commitments in Bitcoin. Peter Todd proposed that TXO commitments can be implemented without miners committing to the TXO commitment itself. Instead, a TXO commitment allows the data set (TXO set) to be securely provided by an untrusted third party, allowing the data itself to be discarded. If a valid TXO commitment exists, the TXO data can be discarded and untrusted entities can provide that data on demand. Todd argues that this implementation would allow full nodes with limited storage space to keep track of a TXO commitment and prune older UTXOs that are unlikely to be spent. Transactions and blocks spending these UTXOs can trustlessly provide the necessary data to temporarily fill in the node's local TXO set database. Todd suggests a deployment plan for implementing a TXO commitment scheme, including P2P support for advertising pruned parts of the TXO set, and producing, consuming, and updating TXO unspentness proofs during transaction and block relaying.Todd also proposes that a snapshot with an attestation from trusted individuals is a better security model than having miners attest to validity. This security model is similar to the recently implemented -assumevalid scheme, where anyone with a full node can audit the validity of assumed valid TXO commitments. However, Todd acknowledges that this is a weaker security model as a false TXO commitment can more easily trick a node into accepting invalid transactions or blocks. A compromise could be using assumed valid TXO commitments and extending the suggestion of having nodes validate the chain backwards to eventually validate 100% of the chain. Todd provides references to related work on SPV bitcoind and the -assumevalid scheme.In conclusion, the discussions revolve around the potential usefulness of TXO commitments without consensus protocol changes, the implementation of a cryptographic data structure for delayed commitments, and the practicality of implementing a TXO commitment scheme in Bitcoin.


Updated on: 2023-08-01T19:33:38.969799+00:00