summaryrefslogtreecommitdiff
path: root/45/b157059e817816ac86b257d04445ed9be86538
blob: c575716d1804263ba1426acbbe8075a3a35d5c0d (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
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
Return-Path: <j@toom.im>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id C6536EC3
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun,  7 Feb 2016 17:08:09 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.7.6
Received: from c.mail.sonic.net (c.mail.sonic.net [64.142.111.80])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id 2D4AB2F
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Sun,  7 Feb 2016 17:08:09 +0000 (UTC)
Received: from [192.168.1.190] (63.135.62.197.nwinternet.com [63.135.62.197]
	(may be forged)) (authenticated bits=0)
	by c.mail.sonic.net (8.15.1/8.15.1) with ESMTPSA id u17H81mC028097
	(version=TLSv1 cipher=DHE-RSA-AES128-SHA bits=128 verify=NOT);
	Sun, 7 Feb 2016 09:08:02 -0800
Mime-Version: 1.0 (Mac OS X Mail 7.3 \(1878.6\))
Content-Type: multipart/signed;
	boundary="Apple-Mail=_55B03182-8517-4609-A516-4D99910E6055";
	protocol="application/pgp-signature"; micalg=pgp-sha512
X-Pgp-Agent: GPGMail 2.5.2
From: Jonathan Toomim <j@toom.im>
In-Reply-To: <20160207151927.GA14750@sapphire.erisian.com.au>
Date: Sun, 7 Feb 2016 09:10:39 -0800
Message-Id: <57C403C6-2680-4C3D-8860-E33A525A99D4@toom.im>
References: <CABsx9T1Bd0-aQg-9uRa4u3dGA5fKxaj8-mEkxVzX8mhdj4Gt2g@mail.gmail.com>
	<CABm2gDoungCbB22_SKHcedBKegWEPpjeM2woxLGchC4=om8BrA@mail.gmail.com>
	<1804222.7gVHPiWqto@kiwi> <201602062046.40193.luke@dashjr.org>
	<CABsx9T0N_TBbmy3xr-mqNDdKVF_3_QHYA1W2ttsZBQnt4dWxgw@mail.gmail.com>
	<20160207151927.GA14750@sapphire.erisian.com.au>
To: Anthony Towns <aj@erisian.com.au>
X-Mailer: Apple Mail (2.1878.6)
X-Sonic-CAuth: UmFuZG9tSVZInbt+RlgNB9mHN9y3y2A4OmyurglbmKtW2BeGbIfJVQANSn2o4xoq9XJwMPrPSnarjCYa/Jr2hyOMpTA/WZJf
X-Sonic-ID: C;FiswWL3N5RGtVsEl14k5kQ== M;EojHWL3N5RGtVsEl14k5kQ==
X-Sonic-Spam-Details: 0.0/5.0 by cerberusd
X-Spam-Status: No, score=-2.6 required=5.0 tests=BAYES_00,HTML_MESSAGE,
	RCVD_IN_DNSWL_LOW autolearn=ham version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Cc: bitcoin-dev@lists.linuxfoundation.org
Subject: Re: [bitcoin-dev] BIP proposal: Increase block size limit to 2
	megabytes
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, 07 Feb 2016 17:08:09 -0000


--Apple-Mail=_55B03182-8517-4609-A516-4D99910E6055
Content-Type: multipart/alternative;
	boundary="Apple-Mail=_285C1A46-7DBC-46CA-BE9B-3EB7FC22C651"


--Apple-Mail=_285C1A46-7DBC-46CA-BE9B-3EB7FC22C651
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=us-ascii


On Feb 7, 2016, at 7:19 AM, Anthony Towns via bitcoin-dev =
<bitcoin-dev@lists.linuxfoundation.org> wrote:

> The stated reasoning for 75% versus 95% is "because it gives "veto =
power"
> to a single big solo miner or mining pool". But if a 20% miner wants =
to
> "veto" the upgrade, with a 75% threshold, they could instead simply =
use
> their hashpower to vote for an upgrade, but then not mine anything on
> the new chain. At that point there'd be as little as 55% mining the =
new
> 2MB chain with 45% of hashpower remaining on the old chain. That'd be =
18
> minute blocks versus 22 minute blocks, which doesn't seem like much of
> a difference in practice, and at that point hashpower could plausibly
> end up switching almost entirely back to the original consensus rules
> prior to the grace period ending.


Keep in mind that within a single difficulty adjustment period, the =
difficulty of mining a block on either chain will be identical. Even if =
the value of a 1MB branch coin is $100 and the hashrate on the 1 MB =
branch is 100 PH/s, and the value of a 2 MB branch coin is $101 and the =
hashrate on the 2 MB branch is 1000 PH/s, the rational thing for a miner =
to do (for the first adjustment period) is to mine on the 2 MB branch, =
because the miner would earn 1% more on that branch.

So you're assuming that 25% of the hashrate chooses to remain on the =
minority version during the grace period, and that 20% chooses to switch =
back to the minority side. The fork happens. One branch has 1 MB blocks =
every 22 minutes, and the other branch has 2 MB blocks every 18 minutes. =
The first branch cannot handle the pre-fork transaction volume, as it =
only has 45% of the capacity that it had pre-fork. The second one can, =
as it has 111% of the pre-fork capacity. This makes the 1 MB branch much =
less usable than the 2 MB branch, which in turn causes the market value =
of newly minted coins on that branch to fall, which in turn causes =
miners to switch to the more profitable 2MB branch. This exacerbates the =
usability difference, which exacerbates the price difference, etc. =
Having two competing chains with equal hashrate using the same PoW =
function and nearly equal features is not a stable state. Positive =
feedback loops exist to make the vast majority of the users and the =
hashrate join one side.

Basically, any miners who stick to the minority branch are going to lose =
a lot of money.

--Apple-Mail=_285C1A46-7DBC-46CA-BE9B-3EB7FC22C651
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=us-ascii

<html><head><meta http-equiv=3D"Content-Type" content=3D"text/html =
charset=3Dus-ascii"></head><body style=3D"word-wrap: break-word; =
-webkit-nbsp-mode: space; -webkit-line-break: =
after-white-space;"><br><div><div>On Feb 7, 2016, at 7:19 AM, Anthony =
Towns via bitcoin-dev &lt;<a =
href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.li=
nuxfoundation.org</a>&gt; wrote:</div><br =
class=3D"Apple-interchange-newline"><blockquote type=3D"cite"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">The stated reasoning for 75% versus 95% is "because it =
gives "veto power"</span><br style=3D"font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">to a single big solo miner or mining pool". But if a 20% =
miner wants to</span><br style=3D"font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">"veto" the upgrade, with a 75% threshold, they could =
instead simply use</span><br style=3D"font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">their hashpower to vote for an upgrade, but then not mine =
anything on</span><br style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">the new chain. At that point there'd be as little as 55% =
mining the new</span><br style=3D"font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">2MB chain with 45% of hashpower remaining on the old chain. =
That'd be 18</span><br style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">minute blocks versus 22 minute blocks, which doesn't seem =
like much of</span><br style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">a difference in practice, and at that point hashpower could =
plausibly</span><br style=3D"font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">end up switching almost entirely back to the original =
consensus rules</span><br style=3D"font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant: normal; font-weight: normal; =
letter-spacing: normal; line-height: normal; orphans: auto; text-align: =
start; text-indent: 0px; text-transform: none; white-space: normal; =
widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px;"><span =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant: normal; font-weight: normal; letter-spacing: normal; =
line-height: normal; orphans: auto; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; widows: auto; word-spacing: =
0px; -webkit-text-stroke-width: 0px; float: none; display: inline =
!important;">prior to the grace period =
ending.</span></blockquote></div><div><br></div><div><div>Keep in mind =
that within a single difficulty adjustment period, the difficulty of =
mining a block on either chain will be identical. Even if the value of a =
1MB branch coin is $100 and the hashrate on the 1 MB branch is 100 PH/s, =
and the value of a 2 MB branch coin is $101 and the hashrate on the 2 MB =
branch is 1000 PH/s, the rational thing for a miner to do (for the first =
adjustment period) is to mine on the 2 MB branch, because the miner =
would earn 1% more on that branch.</div></div><br><div>So you're =
assuming that 25% of the hashrate chooses to remain on the minority =
version during the grace period, and that 20% chooses to switch back to =
the minority side. The fork happens. One branch has 1 MB blocks every 22 =
minutes, and the other branch has 2 MB blocks every 18 minutes. The =
first branch cannot handle the pre-fork transaction volume, as it only =
has 45% of the capacity that it had pre-fork. The second one can, as it =
has 111% of the pre-fork capacity. This makes the 1 MB branch much less =
usable than the 2 MB branch, which in turn causes the market value of =
newly minted coins on that branch to fall, which in turn causes miners =
to switch to the more profitable 2MB branch. This exacerbates the =
usability difference, which exacerbates the price difference, etc. =
Having two competing chains with equal hashrate using the same PoW =
function and nearly equal features is not a stable state. Positive =
feedback loops exist to make the vast majority of the users and the =
hashrate join one side.</div><div><br></div><div>Basically, any miners =
who stick to the minority branch are going to lose a lot of =
money.</div></body></html>=

--Apple-Mail=_285C1A46-7DBC-46CA-BE9B-3EB7FC22C651--

--Apple-Mail=_55B03182-8517-4609-A516-4D99910E6055
Content-Transfer-Encoding: 7bit
Content-Disposition: attachment;
	filename=signature.asc
Content-Type: application/pgp-signature;
	name=signature.asc
Content-Description: Message signed with OpenPGP using GPGMail

-----BEGIN PGP SIGNATURE-----
Comment: GPGTools - https://gpgtools.org

iQEcBAEBCgAGBQJWt3qPAAoJEIEuMk4MG0P1RlAH/2Fw9718jV9uFMNoATOmDGkw
MXX5yhvm2NxRvZ1W3Z3IsJlbfFry1CNHeAHqRuWaMZUJ5Jepqbinrl4pbqcSpQF8
Q/N+EnfcjhEgZTfhovhI9cbmkM1oAhS+snXtEJltRXYwBqi8ImNyaEzhuWi4mVvc
pdiVIMATn5/wOM8WHirXV54DUTbWWP6xbf38HQUy8cuDKMEjpRXne8wZlnV9uLts
FxJ+nl2qj+gy1SEK4ivn/q3+hiqOBZBEu2gB/Jy38BqN2FCZSq7cF1M0K97TkyAl
Gk10hKNou08CDlr18R8EgHYWfBcYURAgVYpGwF0FdQQCF5yX3b9CgqfjW0ASnQs=
=wBky
-----END PGP SIGNATURE-----

--Apple-Mail=_55B03182-8517-4609-A516-4D99910E6055--