From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org [172.17.192.35]) by mail.linuxfoundation.org (Postfix) with ESMTPS id 161EFB1B for ; 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 ; Sun, 12 Jul 2015 18:54:39 +0000 (UTC) Received: by qkhu186 with SMTP id u186so241813760qkh.0 for ; 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: References: Date: Sun, 12 Jul 2015 19:54:38 +0100 Message-ID: From: Tier Nolan 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 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


On Sun, Jul 12, 2015 at 7:37 PM, Jorge Tim=C3=B3n <= ;jtimon@jtimon.cc= > wrote:
As long as miners swit= ch 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.

<= 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.

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 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.

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.
=
=C2=A0
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.

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.

Agr= eed.=C2=A0 Transaction only fees changes the whole incentive structure.
=
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.

=
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.
--001a1146d9ae16622d051ab22340--