<div dir="ltr">&gt; <span style="font-size:12.8px">I’m confident that we could work with the miners who we have good relationships with to start including the root hash of the (lagging) UTXO set in their coinbase transactions, in order to begin transforming this idea into reality.<br><br>By itself, this wouldn&#39;t work without a way for a new node to differentiate between a false history and a true one.<br><br>&gt; </span><span style="font-size:12.8px"> We could also issue regular transactions from “semi-trusted” addresses controlled by known people that include the same root hash in an OP_RETURN output, which would allow cross-checking against the miners’ UTXO commitments, as part of this initial “prototype”<br><br>This might work, but I fail to understand how a new node could verify an address / transaction without a blockchain to back it.  Even if it could, it becomes dependent upon those addresses not being compromised, and the owners of those addresses would become targets for potential government operations.</span><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Having the software silently attempt to resolve the problem is risky unless it is foolproof.  Otherwise, users will assume their software is showing them the correct history/numbers implicitly, and if the change the utxo attacker made was small, the users might be able to follow the main chain totally until it was too late and the attacker struck with an address that otherwise never transacted.  Sudden, bizarre, hard to debug fork and potentially double spend against people who picked up the fraudulent utxo.  </span></div><div><span style="font-size:12.8px"><br></span></div><div><span style="font-size:12.8px">Users already treat wallet software with some level of suspicion, asking if they can trust x or y or z, or like the portion of the BU community convinced that core has been compromised by blockstream bigwigs.  Signed releases could provide the same thing but would encourage both open-source security checks of the signed utxo&#39;s and potentially of users to check download signatures.<br><br></span></div><div><span style="font-size:12.8px">Either approach is better than what we have now though, so I&#39;d support anything.</span></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Mar 29, 2017 at 1:28 PM, Peter R via bitcoin-dev <span dir="ltr">&lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank">bitcoin-dev@lists.linuxfoundation.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">I believe nearly everyone at Bitcoin Unlimited would be supportive of a UTXO check-pointing scheme.  I’d love to see this happen, as it would greatly reduce the time needed to get a new node up-and-running, for node operators who are comfortable trusting these commitments.  <div><br></div><div>I’m confident that we could work with the miners who we have good relationships with to start including the root hash of the (lagging) UTXO set in their coinbase transactions, in order to begin transforming this idea into reality.  We could also issue regular transactions from “semi-trusted” addresses controlled by known people that include the same root hash in an OP_RETURN output, which would allow cross-checking against the miners’ UTXO commitments, as part of this initial “prototype” system.</div><div><br></div><div>This would &quot;get the ball rolling&quot; on UTXO commitments in a permissionless way (no one can stop us from doing this). If the results from this prototype commitment scheme were positive, then perhaps there would be support from the community and miners to enforce a new rule which requires the (lagging) root hashes be included in new blocks.  At that point, the UTXO commitment scheme is no longer a prototype but a trusted feature of the Bitcoin network.    <div><br></div><div>On that topic, are there any existing proposals detailing a canonical ordering of the UTXO set and a scheme to calculate the root hash?</div><div><br></div><div>Best regards,</div><div>Peter<br><div><br></div><div><br><div><blockquote type="cite"><div><div class="h5"><div>On Mar 29, 2017, at 12:33 PM, Daniele Pinna via bitcoin-dev &lt;<a href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank">bitcoin-dev@lists.<wbr>linuxfoundation.org</a>&gt; wrote:</div><br class="m_3214366301479993905Apple-interchange-newline"></div></div><div><div><div class="h5"><div dir="auto"><div dir="auto">What about periodically committing the entire UTXO set to a special checkpoint block which becomes the new de facto Genesis block? </div><div dir="auto"><br></div><div dir="auto">Daniele </div><div dir="auto"><br></div><div dir="auto"><span style="font-family:sans-serif;font-size:13.696px">------------------------------</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Message: 5</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Date: Wed, 29 Mar 2017 16:41:29 +0000</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">From: Andrew Johnson &lt;</span><a href="mailto:andrew.johnson83@gmail.com" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">andrew.johnson83@gmail.com</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">To: David Vorick &lt;</span><a href="mailto:david.vorick@gmail.com" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">david.vorick@gmail.com</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Cc: Bitcoin Dev &lt;</span><a href="mailto:bitcoin-dev@lists.linuxfoundation.org" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">bitcoin-dev@lists.linuxfounda<wbr>tion.org</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Subject: Re: [bitcoin-dev] Hard fork proposal from last week&#39;s meeting</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Message-ID:</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">        &lt;</span><a href="mailto:CAAy62_%2BJtoAuM-RsrAAp5eiGiO%2BOHLDjzqgbnF2De7TUU7TyYg@mail.gmail.com" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">CAAy62_+JtoAuM-RsrAAp5eiGiO+O<wbr>HLDjzqgbnF2De7TUU7TyYg@mail.gm<wbr>ail.com</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Content-Type: text/plain; charset=&quot;utf-8&quot;</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">I believe that as we continue to add users to the system by scaling</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">capacity that we will see more new nodes appear, but I&#39;m at a bit of a loss</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">as to how to empirically prove it.</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">I do see your point on increasing load on archival nodes, but the majority</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">of that load is going to come from new nodes coming online, they&#39;re the</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">only ones going after very old blocks.   I could see that as a potential</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">attack vector, overwhelm the archival nodes by spinning up new nodes</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">constantly, therefore making it difficult for a &quot;real&quot; new node to get up</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">to speed in a reasonable amount of time.</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Perhaps the answer there would be a way to pay an archival node a small</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">amount of bitcoin in order to retrieve blocks older than a certain cutoff?</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Include an IP address for the node asking for the data as metadata in the</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">transaction...  Archival nodes could set and publish their own policy, let</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">the market decide what those older blocks are worth.  Would also help to</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">incentivize running archival node, which we do need.  Of course, this isn&#39;t</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">very user friendly.</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">We can take this to bitcoin-discuss, if we&#39;re getting too far off topic.</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">On Wed, Mar 29, 2017 at 11:25 AM David Vorick &lt;</span><a href="mailto:david.vorick@gmail.com" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">david.vorick@gmail.com</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">wrote:</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; On Mar 29, 2017 12:20 PM, &quot;Andrew Johnson&quot; &lt;</span><a href="mailto:andrew.johnson83@gmail.com" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">andrew.johnson83@gmail.com</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; wrote:</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; What&#39;s stopping these users from running a pruned node?  Not every node</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; needs to store a complete copy of the blockchain.</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; Pruned nodes are not the default configuration, if it was the default</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; configuration then I think you would see far more users running a pruned</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; node.</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; But that would also substantially increase the burden on archive nodes.</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; Further discussion about disk space requirements should be taken to</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; another thread.</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">&gt; --</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">Andrew Johnson</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">-------------- next part --------------</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">An HTML attachment was scrubbed...</span><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">URL: &lt;</span><a href="http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20170329/9b48ebe3/attachment.html" style="text-decoration:none;color:rgb(66,133,244);font-family:sans-serif;font-size:13.696px" target="_blank">http://lists.linuxfoundation.<wbr>org/pipermail/bitcoin-dev/atta<wbr>chments/20170329/9b48ebe3/atta<wbr>chment.html</a><span style="font-family:sans-serif;font-size:13.696px">&gt;</span><br style="font-family:sans-serif;font-size:13.696px"><br style="font-family:sans-serif;font-size:13.696px"><span style="font-family:sans-serif;font-size:13.696px">------------------------------</span><br style="font-family:sans-serif;font-size:13.696px"></div></div></div></div><span class="">
______________________________<wbr>_________________<br>bitcoin-dev mailing list<br><a href="mailto:bitcoin-dev@lists.linuxfoundation.org" target="_blank">bitcoin-dev@lists.<wbr>linuxfoundation.org</a><br><a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" target="_blank">https://lists.linuxfoundation.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><br></span></div></blockquote></div><br></div></div></div></div><br>______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href="mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.<wbr>linuxfoundation.org</a><br>
<a href="https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" rel="noreferrer" target="_blank">https://lists.linuxfoundation.<wbr>org/mailman/listinfo/bitcoin-<wbr>dev</a><br>
<br></blockquote></div><br></div>