Return-Path: <tier.nolan@gmail.com> Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 161EFB1B for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 12 Jul 2015 18:54:40 +0000 (UTC) X-Greylist: whitelisted by SQLgrey-1.7.6 Received: from mail-qk0-f180.google.com (mail-qk0-f180.google.com [209.85.220.180]) by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 818AF216 for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 12 Jul 2015 18:54:39 +0000 (UTC) Received: by qkhu186 with SMTP id u186so241813760qkh.0 for <bitcoin-dev@lists.linuxfoundation.org>; Sun, 12 Jul 2015 11:54:38 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:cc :content-type; bh=wkf7nYwI+nMvH64v8J/UZXmVSONZQgiy+SBziz8omq4=; b=QZVhQ+bAnwf6NaB21yx1wPJYdADhv8GtJrd70ALOSHs6T2EylCLwDUX3SASzqPT6tK 5xqrE6dog9HI9wLlQ0Xdp9ZrU4Vx65H990SJmU4cyP2DxyI2UoP2mhRHkqoTMjzZTQYL jsl483LlLBQ6FyZL+tNUrTzn22mOYzCcV+aklwPBthzmJWRiA1jASdKqEDzNRytvvfIr HNIK5X0DAwUA/FLZ+p1hCZ/aFpfdZ11HNNz0nw3rMm2ACHmPtI/yT2Vvn0wxEEuN7Ap6 8iPd3RYfFAgwwW418mOcOTvPFfEiZ4xIJtwwfKLrI/2yJHrkkS/NjLH0zmRjqh6jNcUk TrKA== MIME-Version: 1.0 X-Received: by 10.55.15.168 with SMTP id 40mr21200401qkp.107.1436727278722; Sun, 12 Jul 2015 11:54:38 -0700 (PDT) Received: by 10.140.93.162 with HTTP; Sun, 12 Jul 2015 11:54:38 -0700 (PDT) In-Reply-To: <CABm2gDrPesyv95UHfDCRThaEkAQQ+rdQ1FN0ad0mFX9hTRj33A@mail.gmail.com> References: <CAFdHNGg2dezj4V-i-E6dRLp99nZMQ_ErKdBo0OgQJ=9WPm90jQ@mail.gmail.com> <CABm2gDoAa5F5crO4enKO-Qqb+Zd3=9b8ohBDYmrygsPSWdevoQ@mail.gmail.com> <CAE-z3OWOoHfMaEN04CQ-j8tzmAr1+Evjh+tfHRDbF6F1jxykHA@mail.gmail.com> <CABm2gDrPesyv95UHfDCRThaEkAQQ+rdQ1FN0ad0mFX9hTRj33A@mail.gmail.com> Date: Sun, 12 Jul 2015 19:54:38 +0100 Message-ID: <CAE-z3OVTgmo0H-Z-f6jhc_kv96rJ_rSYuQyBcjrSHD6T++UAZg@mail.gmail.com> From: Tier Nolan <tier.nolan@gmail.com> Cc: bitcoin-dev@lists.linuxfoundation.org Content-Type: multipart/alternative; boundary=001a1146d9ae16622d051ab22340 X-Spam-Status: No, score=1.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE, MALFORMED_FREEMAIL, MISSING_HEADERS, RCVD_IN_DNSWL_LOW, URIBL_BLACK autolearn=no version=3.3.1 X-Spam-Level: * X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on smtp1.linux-foundation.org Subject: Re: [bitcoin-dev] SPV Mining reveals a problematic incentive issue. X-BeenThere: bitcoin-dev@lists.linuxfoundation.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: Bitcoin Development Discussion <bitcoin-dev.lists.linuxfoundation.org> List-Unsubscribe: <https://lists.linuxfoundation.org/mailman/options/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=unsubscribe> List-Archive: <http://lists.linuxfoundation.org/pipermail/bitcoin-dev/> List-Post: <mailto:bitcoin-dev@lists.linuxfoundation.org> List-Help: <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=help> List-Subscribe: <https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev>, <mailto:bitcoin-dev-request@lists.linuxfoundation.org?subject=subscribe> X-List-Received-Date: Sun, 12 Jul 2015 18:54:40 -0000 --001a1146d9ae16622d051ab22340 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable On Sun, Jul 12, 2015 at 7:37 PM, Jorge Tim=C3=B3n <jtimon@jtimon.cc> wrote: > As long as miners switch back to the new longest chain after they > validate the block, mining on top of the > non-most-work-but-surely-valid may be less risky than mining on top of > a most-work-but-potentially-invalid block. > It depends on how long they are waiting. If they receive a header, it is very likely to be part of a valid block. The more time that passes, the more likely that the header's block was invalid after all. This tradeoff is what the timeout takes into account. For a short period of time after the header is received, it is probably valid but eventually, as time passes without it being fully validated, it is more likely to be false after all. If they successfully SPV mine, they risk having mined on top of an > invalid block, which not only means lost coins for them but high risk > for regular SPV users. > With a 1 minute timeout, there is only a 10% chance they will find another block. It is important that when a header is marked as "probably invalid" that all the header's children are also updated too. The whole chain times out. It is important to note that while SPV mining requires you to produce > empty blocks, mining on the previous on top of the previous block > allows you to include transactions and earn fees. > In a future where block rewards aren't so overwhelmingly dominated by > subsidies, the numbers will run against SPV mining. > Agreed. Transaction only fees changes the whole incentive structure. A fee pool has been suggested to keep things as they are now. All fees (mint & tx fees) are paid into a fee pool. 1% of the total pool fund is paid to the coinbase. This keeps the total payout per block reasonably stable. On the other hand, it removes the incentive to actually include transactions at all. --001a1146d9ae16622d051ab22340 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr"><br><div class=3D"gmail_extra"><br><div class=3D"gmail_quo= te">On Sun, Jul 12, 2015 at 7:37 PM, Jorge Tim=C3=B3n <span dir=3D"ltr"><= ;<a href=3D"mailto:jtimon@jtimon.cc" target=3D"_blank">jtimon@jtimon.cc</a>= ></span> wrote:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0= 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">As long as miners swit= ch back to the new longest chain after they<br> validate the block, mining on top of the<br> non-most-work-but-surely-valid may be less risky than mining on top of<br> a most-work-but-potentially-invalid block.<br></blockquote><div><br></div><= div>It depends on how long they are waiting.=C2=A0 If they receive a header= , it is very likely to be part of a valid block.<br><br></div><div>The more= time that passes, the more likely that the header's block was invalid = after all.<br><br></div><div>This tradeoff is what the timeout takes into a= ccount.=C2=A0 For a short period of time after the header is received, it i= s probably valid but eventually, as time passes without it being fully vali= dated, it is more likely to be false after all.<br></div><br><blockquote cl= ass=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;p= adding-left:1ex"> If they successfully SPV mine, they risk having mined on top of an<br> invalid block, which not only means lost coins for them but high risk<br> for regular SPV users.<br></blockquote><div><br></div><div>With a 1 minute = timeout, there is only a 10% chance they will find another block.<br></div>= <div>=C2=A0<br></div><div>It is important that when a header is marked as &= quot;probably invalid" that all the header's children are also upd= ated too.=C2=A0 The whole chain times out.<br></div><br><blockquote class= =3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #ccc solid;padd= ing-left:1ex">It is important to note that while SPV mining requires you to= produce<br> empty blocks, mining on the previous on top of the previous block<br> allows you to include transactions and earn fees.<br> In a future where block rewards aren't so overwhelmingly dominated by<b= r> subsidies, the numbers will run against SPV mining.<br></blockquote><br>Agr= eed.=C2=A0 Transaction only fees changes the whole incentive structure.<br>= <br></div><div class=3D"gmail_quote">A fee pool has been suggested to keep = things as they are now.=C2=A0 All fees (mint & tx fees) are paid into a= fee pool.=C2=A0 1% of the total pool fund is paid to the coinbase.<br><br>= </div><div class=3D"gmail_quote">This keeps the total payout per block reas= onably stable.=C2=A0 On the other hand, it removes the incentive to actuall= y include transactions at all.<br></div></div></div> --001a1146d9ae16622d051ab22340--