<oembed><type>rich</type><version>1.0</version><author_name>npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_name><author_url>https://nostr.ae/npub1e46n428mcyfwznl7nlsf6d3s7rhlwm9x3cmkuqzt3emmdpadmkaqqjxmcu</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2015-10-28&#xA;📝 Original message:Oops, just realized I never responded to this...&#xA;&#xA;On 10/15/15 15:09, Ittay wrote:&#xA;&gt; Thanks, Matt. Response inline. &#xA;&gt; &#xA;&gt; On Wed, Oct 14, 2015 at 2:57 PM, Matt Corallo &lt;lf-lists at mattcorallo.com&#xA;&gt; &lt;mailto:lf-lists at mattcorallo.com&gt;&gt; wrote:&#xA;&gt; &#xA;&gt;     That conversation missed a second issue. Namely that there is no way&#xA;&gt;     to punish people if there is a double spend in a micro block that&#xA;&gt;     happens in key block which reorg&#39;d away the first transaction. eg&#xA;&gt;     one miner mines a transaction in a micro block, another miner&#xA;&gt;     (either by not having seen the first yet, or being malicious -&#xA;&gt;     potentially the same miner) mines a key block which reorgs away the&#xA;&gt;     first micro block and then, in their first micro block, mines a&#xA;&gt;     double spend. This can happen at any time, so you end up having to&#xA;&gt;     fall back to regular full blocks for confirmation times :(.&#xA;&gt; &#xA;&gt; &#xA;&gt; If NG is to be used efficiently, microblocks are going to be very&#xA;&gt; frequent, and so such forks should occur at almost every key-block&#xA;&gt; publication. Short reorgs as you described are the norm. A user should&#xA;&gt; wait before accepting a transaction to make sure there was no key-block&#xA;&gt; she missed. The wait time is chosen according to the network propagation&#xA;&gt; delay (+as much slack as the user feels necessary). This is similar to&#xA;&gt; the situation in Bitcoin when you receive a block. To be confident that&#xA;&gt; you have one confirmation you should wait for the propagation time of&#xA;&gt; the network to make sure there is no branch you missed. &#xA;&#xA;I think you&#39;re overstating how short the wait times can be. They need to&#xA;be much longer than the network propagation delay.&#xA;&#xA;&gt; As for the malicious case: the attacker has to win the key-block, have&#xA;&gt; the to-be-inverted transaction in the previous epoch, and withhold his&#xA;&gt; key-block for a while. That being said, indeed our fraud proof scheme&#xA;&gt; doesn&#39;t catch such an event, as it is indistinguishable from benign&#xA;&gt; behavior. &#xA;&#xA;The attacker does not need to withold their keyblock at all. All the&#xA;attacker does is, for every transaction they ever send, after it is&#xA;included in a microblock, set their hashpower to start mining a keyblock&#xA;immediately prior to this microblock. When they find a keyblock, they&#xA;immediately announce it and start creating microblocks, the first of&#xA;which double-spends the previous transaction. If they dont win the key&#xA;block, oh well, their payment went through normally and they couldn&#39;t&#xA;double-spend.&#xA;&#xA;In chatting with Glenn about this, we roughly agreed that the&#xA;confirmation time for microblocks possibly doesn&#39;t need to be a full&#xA;key-block, but it needs to be a reasonable period after which such an&#xA;attacker would lose more in fees than the value of their double-spend&#xA;(ie because the key-block afterwards gets 20% more in fees than the&#xA;key-block before hand). In any case, the game theory here starts to get&#xA;rather complicated and it doesn&#39;t make me want to suggest accepting&#xA;microblocks as confirmations is safe.&#xA;&#xA;&gt;     Also, Greg Slepak brought up a good point on twitter at&#xA;&gt;     https://twitter.com/taoeffect/status/654358023138209792. Noting that&#xA;&gt;     this model means users could no longer pick transactions in a mining&#xA;&gt;     pool which was set up in such a way (it could be tweaked to do so&#xA;&gt;     with separate rewards and pubkeys, but now the user can commit fraud&#xA;&gt;     at a much lower cost - their own pool reward, not the block&#39;s total&#xA;&gt;     reward).&#xA;&gt; &#xA;&gt; &#xA;&gt; Agreed x3: This is a good point, it is correct, and the tweak is dangerous. &#xA;&gt; Do you perceive this as a significant practical issue? &#xA;&#xA;It is not a practical issue today because no one does it, but it is a&#xA;massive issue in that the splitting of pool rewards and transaction&#xA;selection is one of the few easy wins we have left in the fight against&#xA;mining centralization. Mining centralization today is absolutely awful,&#xA;and closing off our only big win would be tragic.&#xA;&#xA;&gt;     On October 14, 2015 11:28:51 AM PDT, Ittay via bitcoin-dev&#xA;&gt;     &lt;bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;     &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt; wrote:&#xA;&gt; &#xA;&gt; &#xA;&gt;         On Wed, Oct 14, 2015 at 2:12 PM, Bryan Bishop &lt;kanzure at gmail.com&#xA;&gt;         &lt;mailto:kanzure at gmail.com&gt;&gt; wrote:&#xA;&gt; &#xA;&gt;             On Wed, Oct 14, 2015 at 1:02 PM, Emin Gün Sirer&#xA;&gt;             &lt;bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;             &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&gt; wrote:&#xA;&gt;             &gt; while the whitepaper has all the nitty gritty details:&#xA;&gt;             &gt;      http://arxiv.org/abs/1510.02037&#xA;&gt; &#xA;&gt;             Taking reward compensation back by fraud proofs is not&#xA;&gt;             enough to fix&#xA;&gt;             the problems associated with double spending (such as,&#xA;&gt;             everyone has to&#xA;&gt;             wait for the &#34;real&#34; confirmations instead of the &#34;possibly&#xA;&gt;             double-spend&#34; confirmations). Some of this was discussed in&#xA;&gt;             -wizards&#xA;&gt;             recently:&#xA;&gt;             http://gnusha.org/bitcoin-wizards/2015-09-19.log&#xA;&gt; &#xA;&gt; &#xA;&gt;         Fraud proof removes all the attacker&#39;s revenue. It&#39;s like the&#xA;&gt;         attacker sacrifices an entire block for double spending in the&#xA;&gt;         current system. I think Luke-Jr got it right at that discussion. &#xA;&gt; &#xA;&gt;         Best, &#xA;&gt;         Ittay &#xA;&gt; &#xA;&gt;         ------------------------------------------------------------------------&#xA;&gt; &#xA;&gt;         bitcoin-dev mailing list&#xA;&gt;         bitcoin-dev at lists.linuxfoundation.org&#xA;&gt;         &lt;mailto:bitcoin-dev at lists.linuxfoundation.org&gt;&#xA;&gt;         https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev&#xA;&gt; &#xA;&gt;</html></oembed>