Forget dormant UTXOs without confiscating bitcoin



Summary:

In commercial banks, dormant accounts may be confiscated, but the same practice is not possible for UTXOs. Allowing UTXOs to grow without limit is also not sustainable. Therefore, the proposal suggests a method for handling dormant UTXOs. Dormant UTXOs are those with 420000 confirmations. In every block after 420000, it will commit to a hash for all UTXOs generated in block X-420000. The UTXOs are serialized into txid|index|value|scriptPubKey and sorted, then a Merkle hash is calculated. After some confirmations, nodes can safely delete the UTXO records permanently.To redeem a dormant UTXO, users must provide scriptPubKey, height (X), and UTXO value as part of the witness, along with the Merkle path to the dormant UTXO commitment. When confirming the transaction, the miner calculates a new Merkle hash for block X with the spent UTXO hash replaced by 1 and commits it to the current block. Full nodes keep an index of the latest dormant UTXO commitments to prevent double-spending.If all dormant UTXOs under a Merkle branch are spent, the hash of the branch becomes 1. If all dormant UTXOs in a block are spent, the record for that block can be forgotten. It is the responsibility of dormant coin holders to scan the blockchain for the current status of their UTXO commitment. They may also need to pay extra fees for increased transaction size. This proposal is a softfork if there is no hash collision.


Updated on: 2023-06-11T02:03:47.057136+00:00