summaryrefslogtreecommitdiff
path: root/18/73985d5b06cd05b5a80bae3b4a17dfc14b9502
blob: 02c066a5e7bfa3db2924a4cede94b3c4e212b911 (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
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
Return-Path: <hampus.sjoberg@gmail.com>
Received: from smtp1.linuxfoundation.org (smtp1.linux-foundation.org
	[172.17.192.35])
	by mail.linuxfoundation.org (Postfix) with ESMTPS id 651448F5
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 23 May 2017 09:47:51 +0000 (UTC)
X-Greylist: whitelisted by SQLgrey-1.7.6
Received: from mail-it0-f47.google.com (mail-it0-f47.google.com
	[209.85.214.47])
	by smtp1.linuxfoundation.org (Postfix) with ESMTPS id C51C21B3
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 23 May 2017 09:47:49 +0000 (UTC)
Received: by mail-it0-f47.google.com with SMTP id o5so15976033ith.1
	for <bitcoin-dev@lists.linuxfoundation.org>;
	Tue, 23 May 2017 02:47:49 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025;
	h=mime-version:in-reply-to:references:from:date:message-id:subject:to
	:cc; bh=yBhY0vjCWEjOSrOF4P0Pjzq/d93xWKAh447xDHHRV98=;
	b=V9vJYEZ+MyfeLDUgSzm5s/D4ePoYjhb5tARmmSCKQj3gqXQQrak/kypOrCtG1X9dPH
	zmQFgpZ9rbD475BmcEXGi8288RPUT7Ym9hWBb9eT4QPo6FrB9PJSxC54ATzH1YNLMc5/
	vX7hkMeRBf0Z7yx2IaMVhABaqdncLxuAgJRkFxRG/6AT+UuXbS9uzGN90ieQL19wW3Oq
	p6olPukPBDD4gla8UmI1hiaf3PeXu8IUmNHMXMDRKAGYl3fNOe4AhPItumdWzJis/GLe
	W2GSfTUZtUSWC0nmlIDpgZy2i8FhBSN03t3XxfU+HU3rwzx59T1/mq4n4p7Bb3kRvPXI
	OOQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
	d=1e100.net; s=20161025;
	h=x-gm-message-state:mime-version:in-reply-to:references:from:date
	:message-id:subject:to:cc;
	bh=yBhY0vjCWEjOSrOF4P0Pjzq/d93xWKAh447xDHHRV98=;
	b=PdSJSJHb3PBCJCnxBU+8PE1Vfo7fxWqs5OYHkJLER918yOWdEmkBKaoWLCTQDwElX6
	pmkfEXsoAUipK7KOfecsi6ToHKEdpmiQoq18lkpAOj1MZSeb0Oi3ls9vewWkA8g/ilww
	nt2eaMOxVECCig6JpvT5Pd23iK2zehtCI+5L67+6PLQOIKKeW/TPEE2ysIwrHpDZH85M
	I4MAc2P5UoPhs6kYziThpA0MNj/D38PwvPeDgJbjCWy/5+s5CYtbVxQyQJ+0hNBNXTaq
	CDe6FTTNv54+1O6iQH+/q3w6CnrXqe1Nzrdp1Efmrkexd7ay5n02csdMCEE3e4oFFxd3
	5p9g==
X-Gm-Message-State: AODbwcABV8oMxcBNZx3sIbUKLPTPvSre9oH61h1cp8LIx6fsTAS9Nd7q
	VH1T+A1TOge/HjNuwtNmT/S1ULJF3g==
X-Received: by 10.36.66.67 with SMTP id i64mr1821621itb.22.1495532869136; Tue,
	23 May 2017 02:47:49 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.107.3.205 with HTTP; Tue, 23 May 2017 02:47:48 -0700 (PDT)
In-Reply-To: <CAAjy6kC43DX3wpaZ+3skBUO8hVrYt7uNZfw1Ep3GDJs8YA9Gxg@mail.gmail.com>
References: <CAAS2fgRdSOu8N6L3+fBpnye+rM+W6+F=cePy=9oL4tJuCj=Jsw@mail.gmail.com>
	<CAFp6fsGcKip_R7OH217mXBQ8OK9N_3Ea-1HtRin3EtwzvJaBhQ@mail.gmail.com>
	<CAAjy6kC43DX3wpaZ+3skBUO8hVrYt7uNZfw1Ep3GDJs8YA9Gxg@mail.gmail.com>
From: =?UTF-8?Q?Hampus_Sj=C3=B6berg?= <hampus.sjoberg@gmail.com>
Date: Tue, 23 May 2017 11:47:48 +0200
Message-ID: <CAFMkqK-Ed+8d41_MaCVQHtbapBYC8UnJQr7i_rh9sBHj+yyMXQ@mail.gmail.com>
To: Steven Pine <steven.pine@gmail.com>
Content-Type: multipart/alternative; boundary="001a11449d226a3ab605502de12e"
X-Spam-Status: No, score=-1.5 required=5.0 tests=BAYES_00,DKIM_SIGNED,
	DKIM_VALID, DKIM_VALID_AU, FREEMAIL_FROM, HTML_MESSAGE,
	RCVD_IN_DNSWL_NONE, 
	RCVD_IN_SORBS_SPAM autolearn=no version=3.3.1
X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on
	smtp1.linux-foundation.org
Cc: Bitcoin Dev <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] I do not support the BIP 148 UASF
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Bitcoin Protocol 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: Tue, 23 May 2017 09:47:51 -0000

--001a11449d226a3ab605502de12e
Content-Type: text/plain; charset="UTF-8"

> Who are we protecting users from, themselves? Are you protecting core?
from what? I am somewhat genuinely befuddled by those who can't even allow
a user config switch to be set.

Indeed. It seems silly. If you're activating the switch, you're most likely
fully aware of what you're doing.
I also saw some very harsh rhetoric being used against BIP148, which seems
unjustified as we have no idea yet how it all will play out. We can only
guess.

Hampus

2017-05-23 6:03 GMT+02:00 Steven Pine via bitcoin-dev <
bitcoin-dev@lists.linuxfoundation.org>:

> I'm glad some discussion has been moved back here.
>
> Correct me if I am wrong, but currently core developers are arguing over
> whether or not to allow an optional configuration switch which defaults off
> but signals and enforces BIP148 when used. Who are we protecting users
> from, themselves? Are you protecting core? from what? I am somewhat
> genuinely befuddled by those who can't even allow a user config switch to
> be set.
>
> I guess I find it all incredibly silly, but perhaps I suffer from some
> basic confusion.
>
>
>
> On Mon, May 22, 2017 at 3:23 PM, Suhas Daftuar via bitcoin-dev <
> bitcoin-dev@lists.linuxfoundation.org> wrote:
>
>> I also do not support the BIP 148 UASF, and I'd like to add to the points
>> that Greg has already raised in this thread.
>>
>> BIP 148 would introduce a new consensus rule that softforks out
>> non-segwit signalling blocks in some time period.  I reject this consensus
>> rule as both arbitrary and needlessly disruptive.  Bitcoin's primary
>> purpose is to reach consensus on the state of a shared ledger, and even
>> though I think the Bitcoin network ought to adopt segwit, I don't think
>> that concern trumps the goal of not splitting the network.
>>
>> Many BIP 148 advocates seem to start with the assumption that segwit
>> already has a lot of support, and suggest that BIP 148 does as well.
>> However I don't think it's fair or correct to separate the activation
>> proposal for segwit from the rest of the segwit proposal.  The deployment
>> parameters for segwit are consensus-critical; assuming that some other
>> deployment has consensus because it would result in the rest of the segwit
>> proposal activating is an unjustified leap.
>>
>> Even if there were no feasible alternate segwit deployment method
>> available to us, I would hesitate to recommend that the network adopt a
>> potentially consensus-splitting approach, even though I firmly believe that
>> the ideas behind segwit are fundamentally good ones.  But fortunately that
>> is not the situation we are in; we have substantially less disruptive
>> methods available to us to activate it, even if the current BIP 9
>> deployment were to fail -- such as another BIP 9 deployment in the future,
>> or perhaps a BIP 149 deployment.
>>
>> If we do pursue a "user-activated" deployment of segwit, I'd recommend
>> that we do so in a more careful way than BIP 148 or 149 currently suggest,
>> which as I understand would otherwise make very few changes to the current
>> implementation.  However, due to the BIP 9 activation assumption, the
>> Bitcoin Core 0.13.1 - 0.14.0 segwit implementation largely lumps together
>> the idea that miners would both enforce the rules and mine segwit blocks.
>> However, we can separate these concerns, as we started to do in the Bitcoin
>> Core 0.14.1 release, where mining segwit blocks is not required in order to
>> generally mine or signal for segwit in the software.  And we can go further
>> still: without too much work, we could make further improvements to
>> accommodate miners who, for whatever reason, don't want to upgrade their
>> systems, such as by improving block relay from pre-segwit peers [1], or
>> optimizing transaction selection for miners who are willing to enforce the
>> segwit rules but haven't upgraded their systems to mine segwit blocks [2].
>>
>> If we would seek to activate a soft-fork with less clear miner signaling
>> (such as BIP 149), then I think such improvements are warranted to minimize
>> network disruption.  In general, we should not seek to censor hashpower on
>> the network unless we have a very important reason for doing so.  While the
>> issues here are nuanced, if I were to evaluate the BIP 148 soft-fork
>> proposal on the spectrum of "censorship attack on Bitcoin" to "benign
>> protocol upgrade", BIP 148 strikes me as closer to the former than the
>> latter.  There is simply no need here to orphan these non-signalling blocks
>> that could otherwise be used to secure the network.
>>
>> To go further: I think BIP 148 is ill-conceived even for achieving its
>> own presumed goals -- the motivation for adding a consensus rule that
>> applies to the version bits on blocks is surely for the effect such bits
>> have on older software, such as Bitcoin Core releases 0.13.1 and later.
>> Yet in trying to bring those implementations along as segwit-enforcing
>> software, BIP 148 would risk forking from such clients in the short term!
>> If one really cared about maintaining consensus with older, segwit-enabled
>> software, it would make far more sense to seek segwit activation in a way
>> that didn't fork from them (such as BIP 149, or a new BIP 9 deployment
>> after this one times out).  And if one doesn't care about such consensus,
>> then it'd be far simpler to just set (e.g.) August 1 as the flag day
>> activation of segwit, and not play these contortionist games with block
>> version bits, which carry no useful or intrinsic meaning.  Either of these
>> two approaches should have the advantage of reduced fork risk, compared
>> with BIP 148.
>>
>> Of course, everyone is free to run the software of their choosing.  I
>> write this to both generally convey my opposition to a careless proposal,
>> which I believe represents a way of thinking that is detrimental to
>> Bitcoin's long run success, and specifically explain why I oppose inclusion
>> of this proposal in the Bitcoin Core implementation [3].  The Bitcoin Core
>> project hasn't been, and shouldn't be, careless in deploying consensus
>> changes.  Instead, I think the Bitcoin Core project ought to stand up for
>> the best practices that our community has learned about how to deploy such
>> changes (specifically for minimizing chain-split risk when deploying a soft
>> fork!), and I think we should all avoid adoption or encouragement of
>> practices that would depart from the high standards we are capable of
>> achieving.
>>
>>
>>  [1] https://lists.linuxfoundation.org/pipermail/bitcoin-
>> dev/2017-March/013811.html
>>  [2] https://github.com/bitcoin/bitcoin/pull/9955
>>  [3] https://github.com/bitcoin/bitcoin/pull/10428#issuecomment-303098925
>>
>>
>> --Suhas Daftuar
>>
>>
>> On Fri, Apr 14, 2017 at 3:56 AM, Gregory Maxwell via bitcoin-dev <
>> bitcoin-dev@lists.linuxfoundation.org> wrote:
>>
>>> I do not support the BIP148 UASF for some of the same reasons that I
>>> do support segwit:  Bitcoin is valuable in part because it has high
>>> security and stability, segwit was carefully designed to support and
>>> amplify that engineering integrity that people can count on now and
>>> into the future.
>>>
>>> I do not feel the the approach proposed in BIP148 really measures up
>>> to the standard set by segwit itself, or the existing best practices
>>> in protocol development in this community.
>>>
>>> The primary flaw in BIP148 is that by forcing the activation of the
>>> existing (non-UASF segwit) nodes it almost guarantees at a minor level
>>> of disruption.
>>>
>>> Segwit was carefully engineered so that older unmodified miners could
>>> continue operating _completely_ without interruption after segwit
>>> activates.
>>>
>>> Older nodes will not include segwit spends, and so their blocks will
>>> not be invalid even if they do not have segwit support. They can
>>> upgrade to it on their own schedule. The only risk non-participating
>>> miners take after segwit activation is that if someone else mines an
>>> invalid block they would extend it, a risk many miners already
>>> frequently take with spy-mining.
>>>
>>> I do not think it is a horrible proposal: it is better engineered than
>>> many things that many altcoins do, but just not up to our normal
>>> standards. I respect the motivations of the authors of BIP 148.  If
>>> your goal is the fastest possible segwit activation then it is very
>>> useful to exploit the >80% of existing nodes that already support the
>>> original version of segwit.
>>>
>>> But the fastest support should not be our goal, as a community-- there
>>> is always some reckless altcoin or centralized system that can support
>>> something faster than we can-- trying to match that would only erode
>>> our distinguishing value in being well engineered and stable.
>>>
>>> "First do no harm." We should use the least disruptive mechanisms
>>> available, and the BIP148 proposal does not meet that test.  To hear
>>> some people-- non-developers on reddit and such-- a few even see the
>>> forced orphaning of 148 as a virtue, that it's punitive for
>>> misbehaving miners. I could not not disagree with that perspective any
>>> more strongly.
>>>
>>> Of course, I do not oppose the general concept of a UASF but
>>> _generally_ a soft-fork (of any kind) does not need to risk disruption
>>> of mining, just as segwit's activation does not.  UASF are the
>>> original kind of soft-fork and were the only kind of fork practiced by
>>> Satoshi. P2SH was activated based on a date, and all prior ones were
>>> based on times or heights.  We introduced miner based activation as
>>> part of a process of making Bitcoin more stable in the common case
>>> where the ecosystem is all in harmony.  It's kind of weird to see UASF
>>> portrayed as something new.
>>>
>>> It's important the users not be at the mercy of any one part of the
>>> ecosystem to the extent that we can avoid it-- be it developers,
>>> exchanges, chat forums, or mining hardware makers.  Ultimately the
>>> rules of Bitcoin work because they're enforced by the users
>>> collectively-- that is what makes Bitcoin Bitcoin, it's what makes it
>>> something people can count on: the rules aren't easy to just change.
>>>
>>> There have been some other UASF proposals that avoid the forced
>>> disruption-- by just defining a new witness bit and allowing
>>> non-upgraded-to-uasf miners and nodes to continue as non-upgraded, I
>>> think they are vastly superior. They would be slower to deploy, but I
>>> do not think that is a flaw.
>>>
>>> We should have patience. Bitcoin is a system that should last for all
>>> ages and power mankind for a long time-- ten years from now a couple
>>> years of dispute will seem like nothing. But the reputation we earn
>>> for stability and integrity, for being a system of money people can
>>> count on will mean everything.
>>>
>>> If these discussions come up, they'll come up in the form of reminding
>>> people that Bitcoin isn't easily changed at a whim, even when the
>>> whims are obviously good, and how that protects it from being managed
>>> like all the competing systems of money that the world used to use
>>> were managed. :)
>>>
>>> So have patience, don't take short cuts.  Segwit is a good improvement
>>> and we should respect it by knowing that it's good enough to wait for,
>>> and for however its activated to be done the best way we know how.
>>> _______________________________________________
>>> bitcoin-dev mailing list
>>> bitcoin-dev@lists.linuxfoundation.org
>>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>>
>>
>>
>> _______________________________________________
>> bitcoin-dev mailing list
>> bitcoin-dev@lists.linuxfoundation.org
>> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>
>>
>
>
> --
> Steven Pine
> (510) 517-7075
>
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>
>

--001a11449d226a3ab605502de12e
Content-Type: text/html; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr"><div><div><span class=3D"gmail-im"><div>&gt; Who are we pr=
otecting users from, themselves? Are you protecting core?=20
from what? I am somewhat genuinely befuddled by those who can&#39;t even=20
allow a user config switch to be set. <br><br></div></span>Indeed. It seems=
 silly. If you&#39;re activating the switch, you&#39;re most likely fully a=
ware of what you&#39;re doing.<br></div>I
 also saw some very harsh rhetoric being used against BIP148, which=20
seems unjustified as we have no idea yet how it all will play out. We=20
can only guess.<br><br></div>Hampus<br><div class=3D"gmail_extra"><br><div =
class=3D"gmail_quote">2017-05-23 6:03 GMT+02:00 Steven Pine via bitcoin-dev=
 <span dir=3D"ltr">&lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.=
org" target=3D"_blank">bitcoin-dev@lists.linuxfoundation.org</a>&gt;</span>=
:<br><blockquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-le=
ft:1px #ccc solid;padding-left:1ex"><div dir=3D"ltr">I&#39;m glad some disc=
ussion has been moved back here.<div><br></div><div>Correct me if I am wron=
g, but currently core developers are arguing over whether or not to allow a=
n optional configuration switch which defaults off but signals and enforces=
 BIP148 when used. Who are we protecting users from, themselves? Are you pr=
otecting core? from what? I am somewhat genuinely befuddled by those who ca=
n&#39;t even allow a user config switch to be set.=C2=A0</div><div><br></di=
v><div>I guess I find it all incredibly silly, but perhaps I suffer from so=
me basic confusion.</div><div><br></div><div><br></div></div><div class=3D"=
gmail_extra"><div><div class=3D"h5"><br><div class=3D"gmail_quote">On Mon, =
May 22, 2017 at 3:23 PM, Suhas Daftuar via bitcoin-dev <span dir=3D"ltr">&l=
t;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank=
">bitcoin-dev@lists.<wbr>linuxfoundation.org</a>&gt;</span> wrote:<br><bloc=
kquote class=3D"gmail_quote" style=3D"margin:0 0 0 .8ex;border-left:1px #cc=
c solid;padding-left:1ex"><div dir=3D"ltr">I also do not support the BIP 14=
8 UASF, and I&#39;d like to add to the points that Greg has already raised =
in this thread.<div><br></div><div>BIP 148 would introduce a new consensus =
rule that softforks out non-segwit signalling blocks in some time period.=
=C2=A0 I reject this consensus rule as both arbitrary and needlessly disrup=
tive.=C2=A0 Bitcoin&#39;s primary purpose is to reach consensus on the stat=
e of a shared ledger, and even though I think the Bitcoin network ought to =
adopt segwit, I don&#39;t think that concern trumps the goal of not splitti=
ng the network.</div><div><br></div><div>Many BIP 148 advocates seem to sta=
rt with the assumption that segwit already has a lot of support, and sugges=
t that BIP 148 does as well.=C2=A0 However I don&#39;t think it&#39;s fair =
or correct to separate the activation proposal for segwit from the rest of =
the segwit proposal.=C2=A0 The deployment parameters for segwit are consens=
us-critical; assuming that some other deployment has consensus because it w=
ould result in the rest of the segwit proposal activating is an unjustified=
 leap.</div><div><br></div><div>Even if there were no feasible alternate se=
gwit deployment method available to us, I would hesitate to recommend that =
the network adopt a potentially consensus-splitting approach, even though I=
 firmly believe that the ideas behind segwit are fundamentally good ones.=
=C2=A0 But fortunately that is not the situation we are in; we have substan=
tially less disruptive methods available to us to activate it, even if the =
current BIP 9 deployment were to fail -- such as another BIP 9 deployment i=
n the future, or perhaps a BIP 149 deployment.</div><div><br></div><div>If =
we do pursue a &quot;user-activated&quot; deployment of segwit, I&#39;d rec=
ommend that we do so in a more careful way than BIP 148 or 149 currently su=
ggest, which as I understand would otherwise make very few changes to the c=
urrent implementation.=C2=A0 However, due to the BIP 9 activation assumptio=
n, the Bitcoin Core 0.13.1 - 0.14.0 segwit implementation largely lumps tog=
ether the idea that miners would both enforce the rules and mine segwit blo=
cks.=C2=A0 However, we can separate these concerns, as we started to do in =
the Bitcoin Core 0.14.1 release, where mining segwit blocks is not required=
 in order to generally mine or signal for segwit in the software.=C2=A0 And=
 we can go further still: without too much work, we could make further impr=
ovements to accommodate miners who, for whatever reason, don&#39;t want to =
upgrade their systems, such as by improving block relay from pre-segwit pee=
rs [1], or optimizing transaction selection for miners who are willing to e=
nforce the segwit rules but haven&#39;t upgraded their systems to mine segw=
it blocks [2].</div><div><br></div><div>If we would seek to activate a soft=
-fork with less clear miner signaling (such as BIP 149), then I think such =
improvements are warranted to minimize network disruption.=C2=A0 In general=
, we should not seek to censor hashpower on the network unless we have a ve=
ry important reason for doing so.=C2=A0 While the issues here are nuanced, =
if I were to evaluate the BIP 148 soft-fork proposal on the spectrum of &qu=
ot;censorship attack on Bitcoin&quot; to &quot;benign protocol upgrade&quot=
;, BIP 148 strikes me as closer to the former than the latter.=C2=A0 There =
is simply no need here to orphan these non-signalling blocks that could oth=
erwise be used to secure the network.</div><div><br></div><div>To go furthe=
r: I think BIP 148 is ill-conceived even for achieving its own presumed goa=
ls -- the motivation for adding a consensus rule that applies to the versio=
n bits on blocks is surely for the effect such bits have on older software,=
 such as Bitcoin Core releases 0.13.1 and later.=C2=A0 Yet in trying to bri=
ng those implementations along as segwit-enforcing software, BIP 148 would =
risk forking from such clients in the short term!=C2=A0 If one really cared=
 about maintaining consensus with older, segwit-enabled software, it would =
make far more sense to seek segwit activation in a way that didn&#39;t fork=
 from them (such as BIP 149, or a new BIP 9 deployment after this one times=
 out).=C2=A0 And if one doesn&#39;t care about such consensus, then it&#39;=
d be far simpler to just set (e.g.) August 1 as the flag day activation of =
segwit, and not play these contortionist games with block version bits, whi=
ch carry no useful or intrinsic meaning.=C2=A0 Either of these two approach=
es should have the advantage of reduced fork risk, compared with BIP 148.</=
div><div><br></div><div>Of course, everyone is free to run the software of =
their choosing.=C2=A0 I write this to both generally convey my opposition t=
o a careless proposal, which I believe represents a way of thinking that is=
 detrimental to Bitcoin&#39;s long run success, and specifically explain wh=
y I oppose inclusion of this proposal in the Bitcoin Core implementation [3=
].=C2=A0 The Bitcoin Core project hasn&#39;t been, and shouldn&#39;t be, ca=
reless in deploying consensus changes.=C2=A0 Instead, I think the Bitcoin C=
ore project ought to stand up for the best practices that our community has=
 learned about how to deploy such changes (specifically for minimizing chai=
n-split risk when deploying a soft fork!), and I think we should all avoid =
adoption or encouragement of practices that would depart from the high stan=
dards we are capable of achieving.</div><div><br></div><div><br></div><div>=
=C2=A0[1]=C2=A0<a href=3D"https://lists.linuxfoundation.org/pipermail/bitco=
in-dev/2017-March/013811.html" target=3D"_blank">https://lists.linuxfounda<=
wbr>tion.org/pipermail/bitcoin-<wbr>dev/2017-March/013811.html</a><br></div=
><div>=C2=A0[2]=C2=A0<a href=3D"https://github.com/bitcoin/bitcoin/pull/995=
5" target=3D"_blank">https://github.com/bitcoi<wbr>n/bitcoin/pull/9955</a><=
/div><div>=C2=A0[3]=C2=A0<a href=3D"https://github.com/bitcoin/bitcoin/pull=
/10428#issuecomment-303098925" target=3D"_blank">https://github.com/bitcoi<=
wbr>n/bitcoin/pull/10428#issuecomm<wbr>ent-303098925</a></div><div><br></di=
v><div><br></div><div>--Suhas Daftuar<br></div><div><div class=3D"m_-544538=
9338017295698h5"><div><br></div><div><br></div><div>On Fri, Apr 14, 2017 at=
 3:56 AM, Gregory Maxwell via bitcoin-dev <span dir=3D"ltr">&lt;<a href=3D"=
mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">bitcoin-dev=
@lists.linuxfounda<wbr>tion.org</a>&gt;</span> wrote:</div><div class=3D"gm=
ail_extra"><div class=3D"gmail_quote"><blockquote class=3D"gmail_quote" sty=
le=3D"margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);paddi=
ng-left:1ex">I do not support the BIP148 UASF for some of the same reasons =
that I<br>
do support segwit:=C2=A0 Bitcoin is valuable in part because it has high<br=
>
security and stability, segwit was carefully designed to support and<br>
amplify that engineering integrity that people can count on now and<br>
into the future.<br>
<br>
I do not feel the the approach proposed in BIP148 really measures up<br>
to the standard set by segwit itself, or the existing best practices<br>
in protocol development in this community.<br>
<br>
The primary flaw in BIP148 is that by forcing the activation of the<br>
existing (non-UASF segwit) nodes it almost guarantees at a minor level<br>
of disruption.<br>
<br>
Segwit was carefully engineered so that older unmodified miners could<br>
continue operating _completely_ without interruption after segwit<br>
activates.<br>
<br>
Older nodes will not include segwit spends, and so their blocks will<br>
not be invalid even if they do not have segwit support. They can<br>
upgrade to it on their own schedule. The only risk non-participating<br>
miners take after segwit activation is that if someone else mines an<br>
invalid block they would extend it, a risk many miners already<br>
frequently take with spy-mining.<br>
<br>
I do not think it is a horrible proposal: it is better engineered than<br>
many things that many altcoins do, but just not up to our normal<br>
standards. I respect the motivations of the authors of BIP 148.=C2=A0 If<br=
>
your goal is the fastest possible segwit activation then it is very<br>
useful to exploit the &gt;80% of existing nodes that already support the<br=
>
original version of segwit.<br>
<br>
But the fastest support should not be our goal, as a community-- there<br>
is always some reckless altcoin or centralized system that can support<br>
something faster than we can-- trying to match that would only erode<br>
our distinguishing value in being well engineered and stable.<br>
<br>
&quot;First do no harm.&quot; We should use the least disruptive mechanisms=
<br>
available, and the BIP148 proposal does not meet that test.=C2=A0 To hear<b=
r>
some people-- non-developers on reddit and such-- a few even see the<br>
forced orphaning of 148 as a virtue, that it&#39;s punitive for<br>
misbehaving miners. I could not not disagree with that perspective any<br>
more strongly.<br>
<br>
Of course, I do not oppose the general concept of a UASF but<br>
_generally_ a soft-fork (of any kind) does not need to risk disruption<br>
of mining, just as segwit&#39;s activation does not.=C2=A0 UASF are the<br>
original kind of soft-fork and were the only kind of fork practiced by<br>
Satoshi. P2SH was activated based on a date, and all prior ones were<br>
based on times or heights.=C2=A0 We introduced miner based activation as<br=
>
part of a process of making Bitcoin more stable in the common case<br>
where the ecosystem is all in harmony.=C2=A0 It&#39;s kind of weird to see =
UASF<br>
portrayed as something new.<br>
<br>
It&#39;s important the users not be at the mercy of any one part of the<br>
ecosystem to the extent that we can avoid it-- be it developers,<br>
exchanges, chat forums, or mining hardware makers.=C2=A0 Ultimately the<br>
rules of Bitcoin work because they&#39;re enforced by the users<br>
collectively-- that is what makes Bitcoin Bitcoin, it&#39;s what makes it<b=
r>
something people can count on: the rules aren&#39;t easy to just change.<br=
>
<br>
There have been some other UASF proposals that avoid the forced<br>
disruption-- by just defining a new witness bit and allowing<br>
non-upgraded-to-uasf miners and nodes to continue as non-upgraded, I<br>
think they are vastly superior. They would be slower to deploy, but I<br>
do not think that is a flaw.<br>
<br>
We should have patience. Bitcoin is a system that should last for all<br>
ages and power mankind for a long time-- ten years from now a couple<br>
years of dispute will seem like nothing. But the reputation we earn<br>
for stability and integrity, for being a system of money people can<br>
count on will mean everything.<br>
<br>
If these discussions come up, they&#39;ll come up in the form of reminding<=
br>
people that Bitcoin isn&#39;t easily changed at a whim, even when the<br>
whims are obviously good, and how that protects it from being managed<br>
like all the competing systems of money that the world used to use<br>
were managed. :)<br>
<br>
So have patience, don&#39;t take short cuts.=C2=A0 Segwit is a good improve=
ment<br>
and we should respect it by knowing that it&#39;s good enough to wait for,<=
br>
and for however its activated to be done the best way we know how.<br>
______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">=
bitcoin-dev@lists.linuxfoundat<wbr>ion.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-d<wbr>ev</a><br>
</blockquote></div><br></div></div></div></div>
<br>______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"_blank">=
bitcoin-dev@lists.linuxfoundat<wbr>ion.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-d<wbr>ev</a><br>
<br></blockquote></div><br><br clear=3D"all"><div><br></div></div></div><sp=
an class=3D"">-- <br><div class=3D"m_-5445389338017295698gmail_signature" d=
ata-smartmail=3D"gmail_signature"><div dir=3D"ltr"><div>Steven Pine<div>(51=
0) 517-7075</div></div></div></div>
</span></div>
<br>______________________________<wbr>_________________<br>
bitcoin-dev mailing list<br>
<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org">bitcoin-dev@lists.=
<wbr>linuxfoundation.org</a><br>
<a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
rel=3D"noreferrer" target=3D"_blank">https://lists.linuxfoundation.<wbr>org=
/mailman/listinfo/bitcoin-<wbr>dev</a><br>
<br></blockquote></div><br></div></div>

--001a11449d226a3ab605502de12e--