{"type":"rich","version":"1.0","author_name":"npub1j0cee8lvw7v75c0vfsgfpt5xv8qmr3xzhlwpg9lestngmzwu0u9s6u0kje","author_url":"https://nostr.ae/npub1j0cee8lvw7v75c0vfsgfpt5xv8qmr3xzhlwpg9lestngmzwu0u9s6u0kje","provider_name":"njump","provider_url":"https://nostr.ae","html":"📅 Original date posted:2015-12-12\n📝 Original message:The general concept has merit and the basic outline here seems sound\nenough. I have harboured a notion for having \"archived UTXO\" for some\ntime, this is essentially it. The retrieval from archive cost is on the\nUTXO holder not the entire storage network, which is then only bearing\nfull 'instant' retrieval costs for N blocks.\n\nOn Sat, 2015-12-12 at 15:09 -0500, jl2012--- via bitcoin-dev wrote:\n\u003e It is a common practice in commercial banks that a dormant account might \n\u003e be confiscated. Confiscating or deleting dormant UTXOs might be too \n\u003e controversial, but allowing the UTXOs set growing without any limit \n\u003e might not be a sustainable option. People lose their private keys. \n\u003e People do stupid things like sending bitcoin to 1BitcoinEater. We \n\u003e shouldn’t be obliged to store everything permanently. This is my \n\u003e proposal:\n\u003e \n\u003e Dormant UTXOs are those UTXOs with 420000 confirmations. In every block \n\u003e X after 420000, it will commit to a hash for all UTXOs generated in \n\u003e block X-420000. The UTXOs are first serialized into the form: \n\u003e txid|index|value|scriptPubKey, then a sorted Merkle hash is calculated. \n\u003e After some confirmations, nodes may safely delete the UTXO records of \n\u003e block X permanently.\n\u003e \n\u003e If a user is trying to redeem a dormant UTXO, in addition the signature, \n\u003e they have to provide the scriptPubKey, height (X), and UTXO value as \n\u003e part of the witness. They also need to provide the Merkle path to the \n\u003e dormant UTXO commitment.\n\u003e \n\u003e To confirm this tx, the miner will calculate a new Merkle hash for the \n\u003e block X, with the hash of the spent UTXO replaced by 1, and commit the \n\u003e hash to the current block. All full nodes will keep an index of latest \n\u003e dormant UTXO commitments so double spending is not possible. (a \n\u003e \"meta-UTXO set\")\n\u003e \n\u003e If all dormant UTXOs under a Merkle branch are spent, hash of the branch \n\u003e will become 1. If all dormant UTXOs in a block are spent, the record for \n\u003e this block could be forgotten. Full nodes do not need to remember which \n\u003e particular UTXO is spent or not, since any person trying to redeem a \n\u003e dormant UTXO has to provide such information.\n\u003e \n\u003e It becomes the responsibility of dormant coin holders to scan the \n\u003e blockchain for the current status of the UTXO commitment for their coin. \n\u003e They may also need to pay extra fee for the increased tx size.\n\u003e \n\u003e This is a softfork if there is no hash collision but this is a \n\u003e fundamental assumption in Bitcoin anyway. The proposal also works \n\u003e without segregated witness, just by replacing \"witness\" with \"scriptSig\"\n\u003e \n\u003e _______________________________________________\n\u003e bitcoin-dev mailing list\n\u003e bitcoin-dev at lists.linuxfoundation.org\n\u003e https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev"}
