summaryrefslogtreecommitdiff
path: root/8e/4e2608bf101e688ce3245b572f26e31d3087e1
blob: b32a1d0c799996d6fef60ed4229254e37f4a816f (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
Return-Path: <lf-lists@mattcorallo.com>
Received: from smtp3.osuosl.org (smtp3.osuosl.org [140.211.166.136])
 by lists.linuxfoundation.org (Postfix) with ESMTP id BE5A0C0001
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 21 Feb 2021 14:30:53 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp3.osuosl.org (Postfix) with ESMTP id 951926E56C
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 21 Feb 2021 14:30:53 +0000 (UTC)
X-Virus-Scanned: amavisd-new at osuosl.org
Received: from smtp3.osuosl.org ([127.0.0.1])
 by localhost (smtp3.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id 8NDkD-aL1UJo
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 21 Feb 2021 14:30:51 +0000 (UTC)
Received: by smtp3.osuosl.org (Postfix, from userid 1001)
 id DCF9F6E6E7; Sun, 21 Feb 2021 14:30:51 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.8.0
Received: from mail.as397444.net (mail.as397444.net [69.59.18.99])
 by smtp3.osuosl.org (Postfix) with ESMTPS id 178BA6ED68
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Sun, 21 Feb 2021 14:30:48 +0000 (UTC)
Received: by mail.as397444.net (Postfix) with ESMTPSA id 79AEA4AC9AE;
 Sun, 21 Feb 2021 14:30:46 +0000 (UTC)
X-DKIM-Note: Keys used to sign are likely public at https://as397444.net/dkim/
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mattcorallo.com;
 s=1613916063; t=1613917846;
 bh=eGok0g4CMOMM0q95liFARxyOglb4EYeZ8eZJ6GOEEK8=;
 h=From:Subject:Date:References:Cc:In-Reply-To:To:From;
 b=2y79Ost7MYeIoBhfO2gi88yazj8gscfnZTdSzcClnZgEudVnyTzL8SK6h/zv71mlp
 SFYRzRr8IVDhuxfbk0W71hJZe+d9XoGmxhUiJ2i3kEq6hCxs1G1D87D7aSLOe89lP6
 UWUUyjP3A6UIvh3ALI5hggDCD2Ss/jTAZpkokjd4XC2/wyKV8FosFGlIgxDx7vd+24
 Pu26SB4WlWqpR6Sw/b7LjtS+LJItkKMgmX59G0Xo0xVM5asXhnUWnVd5JcDeGJQNWg
 i+bMxVYONKwobqWKu4lIU1hzLhLEGbG3R+TCMoKtCbscah2hk/WEZe8OoGUe7j+sMQ
 AG6iFUmXGRftg==
Content-Type: multipart/alternative;
 boundary=Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14
Content-Transfer-Encoding: 7bit
From: Matt Corallo <lf-lists@mattcorallo.com>
Mime-Version: 1.0 (1.0)
Date: Sun, 21 Feb 2021 09:30:45 -0500
Message-Id: <4A6F5D19-DF75-4C83-A435-53B6EAABD85F@mattcorallo.com>
References: <b5d23fb8-06a8-4dda-bdbb-2247a82fa1a0@gmail.com>
In-Reply-To: <b5d23fb8-06a8-4dda-bdbb-2247a82fa1a0@gmail.com>
To: Ariel Lorenzo-Luaces <arielluaces@gmail.com>,
 Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
Subject: Re: [bitcoin-dev] Yesterday's Taproot activation meeting on
	lockinontimeout (LOT)
X-BeenThere: bitcoin-dev@lists.linuxfoundation.org
X-Mailman-Version: 2.1.15
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: Sun, 21 Feb 2021 14:30:53 -0000


--Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14
Content-Type: text/plain;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

I don=E2=80=99t think =E2=80=9Csome vocal users are going to threaten to for=
k themselves off=E2=80=9D is good justification for technical decisions. It=E2=
=80=99s important to communicate and for everyone to agree/understand that a=
 failed BIP 8/9 activation, in the scenario people are worried about, is not=
 the end of the story for Taproot activation. If it is clear that Taproot ha=
s broad consensus but some miners failed to upgrade in time (as it presumabl=
y would be), a flag day activation seems merited and I=E2=80=99m not sure an=
yone has argued against this. That said, forced-signaling via a UASF/BIP8(tr=
ue)-style fork carries material additional risk that a classic flag-day acti=
vation does not, so let=E2=80=99s not optimize for something like that.

Matt

> On Feb 21, 2021, at 08:26, Ariel Lorenzo-Luaces via bitcoin-dev <bitcoin-d=
ev@lists.linuxfoundation.org> wrote:
>=20
> =EF=BB=BF
> What would be the tradeoffs of a BIP8(false, =E2=88=9E) option? That would=
 remove some of the concerns of having to coordinate a UASF with an approach=
ing deadline.
>=20
> Cheers
> Ariel Lorenzo-Luaces
>> On Feb 19, 2021, at 6:55 PM, ZmnSCPxj via bitcoin-dev <bitcoin-dev@lists.=
linuxfoundation.org> wrote:
>> Good morning list,
>>=20
>>>  It was pointed out to me that this discussion is largely moot as the so=
ftware complexity for Bitcoin Core to ship an
>>>  option like this is likely not practical/what people would wish to see.=

>>>=20
>>>  Bitcoin Core does not have infrastructure to handle switching consensus=
 rules with the same datadir - after running with
>>>  uasf=3Dtrue for some time, valid blocks will be marked as invalid, and a=
dditional development would need to occur to
>>>  enable switching back to uasf=3Dfalse. This is complex, critical code t=
o get right, and the review and testing cycles
>>>  needed seem to be not worth it.
>>=20
>> Without implying anything else, this can be worked around by a user maint=
aining two `datadir`s and running two clients.
>> This would have an "external" client running an LOT=3DX (where X is whate=
ver the user prefers) and an "internal" client that is at most 0.21.0, which=
 will not impose any LOT rules.
>> The internal client then uses `connect=3D` directive to connect locally t=
o the external client and connects only to that client, using it as a firewa=
ll.
>> The external client can be run pruned in order to reduce diskspace resour=
ce usage (the internal client can remain unpruned if that is needed by the u=
ser, e.g. for LN implementation sthat need to look up arbitrary short-channe=
l-ids).
>> Bandwidth usage should be same since the internal client only connects to=
 the external client and the OS should optimize that case.
>> CPU usage is doubled, though.
>>=20
>> (the general idea came from gmax, just to be clear, though the below use i=
s from me)
>>=20
>> Then the user can select LOT=3DC or LOT=3D!C (where C is whatever Bitcoin=
 Core ultimately ships with) on the external client based on the user prefer=
ences.
>>=20
>> If Taproot is not MASF-activated and LOT=3D!U is what dominates later (wh=
ere U is whatever the user decided on), the user can decide to just destroy t=
he external node and connect the internal node directly to the network (opti=
onally upgrading the internal node to LOT=3D!U) as a way to "change their mi=
nd in view of the economy".
>> The internal node will then follow the dominant chain.
>>=20
>>=20
>> Regards,
>> ZmnSCPxj
>>=20
>>>=20
>>>  Instead, the only practical way to ship such an option would be to trea=
t it as a separate chain (the same way regtest,
>>>  testnet, and signet are treated), including its own separate datadir an=
d the like.
>>>=20
>>>  Matt
>>>=20
>>>>  On 2/19/21 09:13, Matt Corallo via bitcoin-dev wrote:
>>>>=20
>>>>  (Also in response to ZMN...)
>>>>  Bitcoin Core has a long-standing policy of not shipping options which s=
hoot yourself in the foot. I=E2=80=99d be very disappointed if that changed n=
ow. People are of course more than welcome to run such software themselves, b=
ut I anticipate the loud minority on Twitter and here aren=E2=80=99t process=
ing enough transactions or throwing enough financial weight behind their dec=
ision for them to do anything but just switch back if they find themselves o=
n a chain with no blocks.
>>>>  There=E2=80=99s nothing we can (or should) do to prevent people from t=
hreatening to (and possibly) forking themselves off of bitcoin, but that doe=
sn=E2=80=99t mean we should encourage it either. The work Bitcoin Core maint=
ainers and developers do is to recommend courses of action which they believ=
e have reasonable levels of consensus and are technically sound. Luckily, th=
ere=E2=80=99s strong historical precedent for people deciding to run other s=
oftware around forks, so misinterpretation is not very common (just like the=
re=E2=80=99s strong historical precedent for miners not unilaterally decidin=
g forks in the case of Segwit).
>>>>  Matt
>>>>=20
>>>>>>  On Feb 19, 2021, at 07:08, Adam Back adam@cypherspace.org wrote:
>>>>>>=20
>>>>>>  would dev consensus around releasing LOT=3Dfalse be considered as "d=
evelopers forcing their views on users"?
>>>>>=20
>>>>>  given there are clearly people of both views, or for now don't care
>>>>>  but might later, it would minimally be friendly and useful if
>>>>>  bitcoin-core has a LOT=3Dtrue option - and that IMO goes some way to
>>>>>  avoid the assumptive control via defaults.
>>>>=20
>>>>>  Otherwise it could be read as saying "developers on average
>>>>>  disapprove, but if you, the market disagree, go figure it out for
>>>>>  yourself" which is not a good message for being defensive and avoidin=
g
>>>>>  mis-interpretation of code repositories or shipped defaults as
>>>>>  "control".
>>>>=20
>>>>  bitcoin-dev mailing list
>>>>  bitcoin-dev@lists.linuxfoundation.org
>>>>  https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev
>>=20
>>=20
>>=20
>> 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

--Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14
Content-Type: text/html;
	charset=utf-8
Content-Transfer-Encoding: quoted-printable

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; charset=3D=
utf-8"></head><body dir=3D"auto"><div dir=3D"ltr">I don=E2=80=99t think =E2=80=
=9Csome vocal users are going to threaten to fork themselves off=E2=80=9D is=
 good justification for technical decisions. It=E2=80=99s important to commu=
nicate and for everyone to agree/understand that a failed BIP 8/9 activation=
, in the scenario people are worried about, is not the end of the story for T=
aproot activation. If it is clear that Taproot has broad consensus but some m=
iners failed to upgrade in time (as it presumably would be), a flag day acti=
vation seems merited and I=E2=80=99m not sure anyone has argued against this=
. That said, forced-signaling via a UASF/BIP8(true)-style fork carries mater=
ial additional risk that a classic flag-day activation does not, so let=E2=80=
=99s not optimize for something like that.</div><div dir=3D"ltr"><br></div><=
div dir=3D"ltr">Matt</div><div dir=3D"ltr"><br><blockquote type=3D"cite">On =
Feb 21, 2021, at 08:26, Ariel Lorenzo-Luaces via bitcoin-dev &lt;bitcoin-dev=
@lists.linuxfoundation.org&gt; wrote:<br><br></blockquote></div><blockquote t=
ype=3D"cite"><div dir=3D"ltr">=EF=BB=BF<div dir=3D"auto">What would be the t=
radeoffs of a BIP8(false, =E2=88=9E) option? That would remove some of the c=
oncerns of having to coordinate a UASF with an approaching deadline.<br><br>=
</div>
<div dir=3D"auto">Cheers<br></div>
<div dir=3D"auto">Ariel Lorenzo-Luaces<br></div>
<div class=3D"gmail_quote">On Feb 19, 2021, at 6:55 PM, ZmnSCPxj via bitcoin=
-dev &lt;<a href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" target=3D"=
_blank">bitcoin-dev@lists.linuxfoundation.org</a>&gt; wrote:<blockquote clas=
s=3D"gmail_quote" style=3D"margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid=
 rgb(204, 204, 204); padding-left: 1ex;">
<pre class=3D"blue">Good morning list,<br><br><blockquote class=3D"gmail_quo=
te" style=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #729fcf; padd=
ing-left: 1ex;"> It was pointed out to me that this discussion is largely mo=
ot as the software complexity for Bitcoin Core to ship an<br> option like th=
is is likely not practical/what people would wish to see.<br><br> Bitcoin Co=
re does not have infrastructure to handle switching consensus rules with the=
 same datadir - after running with<br> uasf=3Dtrue for some time, valid bloc=
ks will be marked as invalid, and additional development would need to occur=
 to<br> enable switching back to uasf=3Dfalse. This is complex, critical cod=
e to get right, and the review and testing cycles<br> needed seem to be not w=
orth it.<br></blockquote><br>Without implying anything else, this can be wor=
ked around by a user maintaining two `datadir`s and running two clients.<br>=
This would have an "external" client running an LOT=3DX (where X is whatever=
 the user prefers) and an "internal" client that is at most 0.21.0, which wi=
ll not impose any LOT rules.<br>The internal client then uses `connect=3D` d=
irective to connect locally to the external client and connects only to that=
 client, using it as a firewall.<br>The external client can be run pruned in=
 order to reduce diskspace resource usage (the internal client can remain un=
pruned if that is needed by the user, e.g. for LN implementation sthat need t=
o look up arbitrary short-channel-ids).<br>Bandwidth usage should be same si=
nce the internal client only connects to the external client and the OS shou=
ld optimize that case.<br>CPU usage is doubled, though.<br><br>(the general i=
dea came from gmax, just to be clear, though the below use is from me)<br><b=
r>Then the user can select LOT=3DC or LOT=3D!C (where C is whatever Bitcoin C=
ore ultimately ships with) on the external client based on the user preferen=
ces.<br><br>If Taproot is not MASF-activated and LOT=3D!U is what dominates l=
ater (where U is whatever the user decided on), the user can decide to just d=
estroy the external node and connect the internal node directly to the netwo=
rk (optionally upgrading the internal node to LOT=3D!U) as a way to "change t=
heir mind in view of the economy".<br>The internal node will then follow the=
 dominant chain.<br><br><br>Regards,<br>ZmnSCPxj<br><br><blockquote class=3D=
"gmail_quote" style=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #72=
9fcf; padding-left: 1ex;"><br> Instead, the only practical way to ship such a=
n option would be to treat it as a separate chain (the same way regtest,<br>=
 testnet, and signet are treated), including its own separate datadir and th=
e like.<br><br> Matt<br><br> On 2/19/21 09:13, Matt Corallo via bitcoin-dev w=
rote:<br><br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 1ex 0=
.8ex; border-left: 1px solid #ad7fa8; padding-left: 1ex;"> (Also in response=
 to ZMN...)<br> Bitcoin Core has a long-standing policy of not shipping opti=
ons which shoot yourself in the foot. I=E2=80=99d be very disappointed if th=
at changed now. People are of course more than welcome to run such software t=
hemselves, but I anticipate the loud minority on Twitter and here aren=E2=80=
=99t processing enough transactions or throwing enough financial weight behi=
nd their decision for them to do anything but just switch back if they find t=
hemselves on a chain with no blocks.<br> There=E2=80=99s nothing we can (or s=
hould) do to prevent people from threatening to (and possibly) forking thems=
elves off of bitcoin, but that doesn=E2=80=99t mean we should encourage it e=
ither. The work Bitcoin Core maintainers and developers do is to recommend c=
ourses of action which they believe have reasonable levels of consensus and a=
re technically sound. Luckily, there=E2=80=99s strong historical precedent f=
or people deciding to run other software around forks, so misinterpretation i=
s not very common (just like there=E2=80=99s strong historical precedent for=
 miners not unilaterally deciding forks in the case of Segwit).<br> Matt<br>=
<br><blockquote class=3D"gmail_quote" style=3D"margin: 0pt 0pt 1ex 0.8ex; bo=
rder-left: 1px solid #8ae234; padding-left: 1ex;"> On Feb 19, 2021, at 07:08=
, Adam Back adam@cypherspace.org wrote:<br><br><blockquote class=3D"gmail_qu=
ote" style=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #fcaf3e; pad=
ding-left: 1ex;"> would dev consensus around releasing LOT=3Dfalse be consid=
ered as "developers forcing their views on users"?<br></blockquote><br> give=
n there are clearly people of both views, or for now don't care<br> but migh=
t later, it would minimally be friendly and useful if<br> bitcoin-core has a=
 LOT=3Dtrue option - and that IMO goes some way to<br> avoid the assumptive c=
ontrol via defaults.<br></blockquote><br><blockquote class=3D"gmail_quote" s=
tyle=3D"margin: 0pt 0pt 1ex 0.8ex; border-left: 1px solid #8ae234; padding-l=
eft: 1ex;"> Otherwise it could be read as saying "developers on average<br> d=
isapprove, but if you, the market disagree, go figure it out for<br> yoursel=
f" which is not a good message for being defensive and avoiding<br> mis-inte=
rpretation of code repositories or shipped defaults as<br> "control".<br></b=
lockquote><br> bitcoin-dev mailing list<br> bitcoin-dev@lists.linuxfoundatio=
n.org<br> <a href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitc=
oin-dev">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a><=
br></blockquote></blockquote><br><br><hr><br>bitcoin-dev mailing list<br>bit=
coin-dev@lists.linuxfoundation.org<br><a href=3D"https://lists.linuxfoundati=
on.org/mailman/listinfo/bitcoin-dev">https://lists.linuxfoundation.org/mailm=
an/listinfo/bitcoin-dev</a><br></pre></blockquote></div><span>______________=
_________________________________</span><br><span>bitcoin-dev mailing list</=
span><br><span>bitcoin-dev@lists.linuxfoundation.org</span><br><span>https:/=
/lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</span><br></div></bl=
ockquote></body></html>=

--Apple-Mail-E59C1076-84B3-4ECF-9014-B0894FB20E14--