summaryrefslogtreecommitdiff
path: root/3a/429c16a51284cd57ad7c731385477acc851341
blob: 70b1c879ebb923c888edc2ba542381bfea27b572 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
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">&lt=
;<a href=3D"mailto:jtimon@jtimon.cc" target=3D"_blank">jtimon@jtimon.cc</a>=
&gt;</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&#39;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&quot; that all the header&#39;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&#39;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 &amp; 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--