<oembed><type>rich</type><version>1.0</version><author_name>npub14fwd2yh320mh4ge46ute8ukdyx2kjxy2ak4a05prjwrtzlmh9rvq8hksaj</author_name><author_url>https://nostr.ae/npub14fwd2yh320mh4ge46ute8ukdyx2kjxy2ak4a05prjwrtzlmh9rvq8hksaj</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-12-13&#xA;📝 Original message:I really like ideas that tackle this issue. The question imho is what is&#xA;the incentive to run a &#34;Full UTXO node&#34; instead of a pruned or archive node.&#xA;For starters, it would be nice to know what would be the savings for Full&#xA;UTXO nodes over archive nodes right now.&#xA;Also, what advantages would this have over &#34;archive pruned nodes: nodes&#xA;that store X blocks of the whole blockchain before 420000&#34;. Seems like an&#xA;interesting intermediate use case to me too.&#xA;&#xA;2015-12-13 18:11 GMT+00:00 jl2012--- via bitcoin-dev &lt;&#xA;bitcoin-dev at lists.linuxfoundation.org&gt;:&#xA;&#xA;&gt; -----BEGIN PGP SIGNED MESSAGE-----&#xA;&gt; Hash: SHA256&#xA;&gt;&#xA;&gt; On Mon, Dec 14, 2015 at 12:14 AM, Danny Thorpe &lt;danny.thorpe at gmail.com&gt;&#xA;&gt; wrote:&#xA;&gt;&#xA;&gt;&gt; What is the current behavior / cost that this proposal is trying to&#xA;&gt;&gt; avoid? Are ancient utxos required to be kept in memory always in a fully&#xA;&gt;&gt; validating node, or can ancient utxos get pushed out of memory like a&#xA;&gt;&gt; normal LRU caching db?&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt; I don&#39;t see why it must be kept in memory. But storage is still a problem.&#xA;&gt; With the 8 year limit and a fixed max block size, it indirectly sets an&#xA;&gt; upper limit for UTXO set.&#xA;&gt;&#xA;&gt;&#xA;&gt; Chris Priest via bitcoin-dev :&#xA;&gt;&#xA;&gt;&gt; This isn&#39;t going to kill bitcoin, but it won&#39;t make it any better.&#xA;&gt;&gt;&#xA;&gt;&#xA;&gt; Do you believe that thousands of volunteer full nodes are obliged to store&#xA;&gt; an UTXO record, just because one paid US$0.01 to an anonymous miner 100&#xA;&gt; years ago? It sounds insanely cheap, isn&#39;t it? My proposal (or similar&#xA;&gt; proposal by Peter Todd) is to solve this problem. Many commercial banks&#xA;&gt; have a dormant threshold less than 8 years so I believe it is a balanced&#xA;&gt; choice.&#xA;&gt;&#xA;&gt; Back to the topic, I would like to further elaborate my proposal.&#xA;&gt;&#xA;&gt; We have 3 types of full nodes:&#xA;&gt;&#xA;&gt; Archive nodes: full nodes that store the whole blockchain&#xA;&gt; Full UTXO nodes: full nodes that fully store the latest UTXO state, but&#xA;&gt; not the raw blockchain&#xA;&gt; Lite UTXO nodes: full nodes that store only UTXO created in that past&#xA;&gt; 420000 blocks&#xA;&gt;&#xA;&gt; Currently, if one holds nothing but a private key, he must consult either&#xA;&gt; an archive node or a full UTXO node for the latest UTXO state to spend his&#xA;&gt; coin. We currently do not have any lite UTXO node, and such node would not&#xA;&gt; work properly beyond block 420000.&#xA;&gt;&#xA;&gt; With the softfork I described in my original post, if the UTXO is created&#xA;&gt; within the last 420000 blocks, the key holder may consult any type of full&#xA;&gt; node, including a lite UTXO node, to create the transaction.&#xA;&gt;&#xA;&gt; If the UTXO has been confirmed by more than 420000 blocks, a lite UTXO&#xA;&gt; node obviously can&#39;t provide the necessary information to spend the coin.&#xA;&gt; However, not even a full UTXO node may do so. A full UTXO node could tell&#xA;&gt; the position of the UTXO in the blockchain, but can&#39;t provide all the&#xA;&gt; information required by my specification. Only an archive node may do so.&#xA;&gt;&#xA;&gt; What extra information is needed?&#xA;&gt;&#xA;&gt; (1) If your UTXO was generated in block Y, you first need to know the TXO&#xA;&gt; state (spent / unspent) of all outputs in block Y at block (Y + 420000).&#xA;&gt; Only UTXOs at that time are relevant.&#xA;&gt;&#xA;&gt; (2) You also need to know if there was any spending of any block Y UTXOs&#xA;&gt; after block (Y + 420000).&#xA;&gt;&#xA;&gt; It is not possible to construct the membership prove I require without&#xA;&gt; these information. It is designed this way, so that lite UTXO nodes won&#39;t&#xA;&gt; need to store any dormant UTXO records: not even the hash of individual&#xA;&gt; dormant UTXO records. If the blockchain grows to insanely big, it may take&#xA;&gt; days or weeks to retrieve to records. However, I don&#39;t think this is&#xA;&gt; relevant as one has already left his coins dormant for &gt;8 years. Actually,&#xA;&gt; you don&#39;t even need the full blockchain. For (1), all you need is the&#xA;&gt; 420000 blocks from Y to Y+420000 minus any witness data, as you don&#39;t need&#xA;&gt; to do any validation. For (2), you just need the coinbase of Y+420001 to&#xA;&gt; present, where any spending would have been committed, and retrieve the&#xA;&gt; full block only if a spending is found.&#xA;&gt;&#xA;&gt; So the Bitcoin Bank (miners) is not going to shred your record and&#xA;&gt; confiscate your money. Instead, the Bank throws your record to the garage&#xA;&gt; (raw blockchain). You can search for your record by yourself, or employ&#xA;&gt; someone (archive node) to search it for you. In any case it incurs costs.&#xA;&gt; But as thousands of bankers have kept your record on their limited desk&#xA;&gt; space for 8 years for free (though one of them might receive a fraction of&#xA;&gt; a penny from you), you shouldn&#39;t complain with any moral, technical, or&#xA;&gt; legal reason. And no matter what users say, I believe something like this&#xA;&gt; will happen when miners and full nodes can&#39;t handle the UTXO set.&#xA;&gt;&#xA;&gt; I&#39;d like to see more efficient proposals that archive the same goals.&#xA;&gt;&#xA;&gt; p.s. there were some typos in my original. The second sentence of the&#xA;&gt; second paragraph should be read as &#34;For every block X+420000, it will&#xA;&gt; commit to a hash for all UTXOs generated in block X.&#34;&#xA;&gt; -----BEGIN PGP SIGNATURE-----&#xA;&gt; Version: GnuPG v2&#xA;&gt;&#xA;&gt; iQGcBAEBCAAGBQJWbbR2AAoJEO6eVSA0viTScEoL/RPlsxr0A5wTtgdi+9i4AFlV&#xA;&gt; Sw/He89+YPGe5VCG74YNAPLEUF1/rICzUJ4DulvNTOo/5xtmkv5ok4bD7v1JZnH3&#xA;&gt; DE2PExMQYs2X4Qm6mkcwi8IWlMR2U5j5ebUq21Kj4AqVFj9UcQmYGhPehB2f+cM9&#xA;&gt; Wki/TDwNj5fV8AZ4uR9pPgaf+bvVQQ9BOOLiIMiTbphNCx1hfGfYcsqmXlCbGk9A&#xA;&gt; PatGR88aQTxpa7PhbCZwwf76cKuOaYYZeHr9jRR9RL5rZVXgE1SI/niBytJhXaP8&#xA;&gt; lwYtk4Bpz0IGd23v1dArNQQoOp5Xycbeq1l1qyv/qtxju65No+dhqiEcFBZVI1AS&#xA;&gt; VcndMQ+yvNuxVgib2Ifh9YjXelWAqqLzzoVcz2RxXh6HJ0tVKxBokwdAcsclZb93&#xA;&gt; zQ1JhDR4vBpLquytZA8lDIxJraNCdB/KEAOAey6ljP3zL7fBLBp1oZw4DDDtFy8V&#xA;&gt; EMjrOSVnjyuyfey2YXsGnnHuQS0mpwmSroV2400uGQ==&#xA;&gt; =2xRy&#xA;&gt; -----END PGP SIGNATURE-----&#xA;&gt;&#xA;&gt;&#xA;&gt; _______________________________________________&#xA;&gt; bitcoin-dev mailing list&#xA;&gt; bitcoin-dev at lists.linuxfoundation.org&#xA;&gt; https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt;&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20151213/67eaba28/attachment.html&gt;</html></oembed>