<oembed><type>rich</type><version>1.0</version><author_name>npub1kc0zulxt7j4a0ayhzhrz7jk84y7tm4026qcky7w97hlfkxxap24qnwjfw4</author_name><author_url>https://nostr.ae/npub1kc0zulxt7j4a0ayhzhrz7jk84y7tm4026qcky7w97hlfkxxap24qnwjfw4</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-12-12&#xA;📝 Original message:It is a common practice in commercial banks that a dormant account might &#xA;be confiscated. Confiscating or deleting dormant UTXOs might be too &#xA;controversial, but allowing the UTXOs set growing without any limit &#xA;might not be a sustainable option. People lose their private keys. &#xA;People do stupid things like sending bitcoin to 1BitcoinEater. We &#xA;shouldn’t be obliged to store everything permanently. This is my &#xA;proposal:&#xA;&#xA;Dormant UTXOs are those UTXOs with 420000 confirmations. In every block &#xA;X after 420000, it will commit to a hash for all UTXOs generated in &#xA;block X-420000. The UTXOs are first serialized into the form: &#xA;txid|index|value|scriptPubKey, then a sorted Merkle hash is calculated. &#xA;After some confirmations, nodes may safely delete the UTXO records of &#xA;block X permanently.&#xA;&#xA;If a user is trying to redeem a dormant UTXO, in addition the signature, &#xA;they have to provide the scriptPubKey, height (X), and UTXO value as &#xA;part of the witness. They also need to provide the Merkle path to the &#xA;dormant UTXO commitment.&#xA;&#xA;To confirm this tx, the miner will calculate a new Merkle hash for the &#xA;block X, with the hash of the spent UTXO replaced by 1, and commit the &#xA;hash to the current block. All full nodes will keep an index of latest &#xA;dormant UTXO commitments so double spending is not possible. (a &#xA;&#34;meta-UTXO set&#34;)&#xA;&#xA;If all dormant UTXOs under a Merkle branch are spent, hash of the branch &#xA;will become 1. If all dormant UTXOs in a block are spent, the record for &#xA;this block could be forgotten. Full nodes do not need to remember which &#xA;particular UTXO is spent or not, since any person trying to redeem a &#xA;dormant UTXO has to provide such information.&#xA;&#xA;It becomes the responsibility of dormant coin holders to scan the &#xA;blockchain for the current status of the UTXO commitment for their coin. &#xA;They may also need to pay extra fee for the increased tx size.&#xA;&#xA;This is a softfork if there is no hash collision but this is a &#xA;fundamental assumption in Bitcoin anyway. The proposal also works &#xA;without segregated witness, just by replacing &#34;witness&#34; with &#34;scriptSig&#34;</html></oembed>