summaryrefslogtreecommitdiff
path: root/4a/04a5ff09c4cb336912734d7a674ebfcc2c61c8
blob: cb6bc48f455ae58779d5c908b98286d9fd3ea327 (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
Return-Path: <angus@toaster.cc>
Received: from smtp1.osuosl.org (smtp1.osuosl.org [IPv6:2605:bc80:3010::138])
 by lists.linuxfoundation.org (Postfix) with ESMTP id C4C59C002D
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  9 Dec 2022 15:59:03 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp1.osuosl.org (Postfix) with ESMTP id 9988A820CF
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  9 Dec 2022 15:59:03 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 9988A820CF
Authentication-Results: smtp1.osuosl.org; dkim=pass (2048-bit key,
 unprotected) header.d=toaster.cc header.i=@toaster.cc header.a=rsa-sha256
 header.s=protonmail3 header.b=jzEL6NSz
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.101
X-Spam-Level: 
X-Spam-Status: No, score=-2.101 tagged_above=-999 required=5
 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1,
 DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001,
 SPF_HELO_PASS=-0.001, SPF_PASS=-0.001]
 autolearn=ham autolearn_force=no
Received: from smtp1.osuosl.org ([127.0.0.1])
 by localhost (smtp1.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id NaqQ8K6fKZpr
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  9 Dec 2022 15:59:02 +0000 (UTC)
X-Greylist: from auto-whitelisted by SQLgrey-1.8.0
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp1.osuosl.org 5DA3F82044
Received: from mail-41103.protonmail.ch (mail-41103.protonmail.ch
 [185.70.41.103])
 by smtp1.osuosl.org (Postfix) with ESMTPS id 5DA3F82044
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Fri,  9 Dec 2022 15:59:01 +0000 (UTC)
Date: Fri, 09 Dec 2022 15:58:37 +0000
Authentication-Results: mail-41103.protonmail.ch;
 dkim=pass (2048-bit key) header.d=toaster.cc header.i=@toaster.cc
 header.b="jzEL6NSz"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toaster.cc;
 s=protonmail3; t=1670601527; x=1670860727;
 bh=UTgdTW5/VNjYfXer29xhn/8lFhD9EMpvPr9ahrQC3qY=;
 h=Date:To:From:Cc:Subject:Message-ID:In-Reply-To:References:
 Feedback-ID:From:To:Cc:Date:Subject:Reply-To:Feedback-ID:
 Message-ID:BIMI-Selector;
 b=jzEL6NSz/OK/ioKpArhor2ePL51sLlZlVhPdSe7NxLWTtkUOAvItPfE5o7Rj7pcEf
 9UP1tYtEXPZm3iE9Ab6ee0Ndolfvw9MprSmHZRuwe8deAqzll5QPRjjQVjgx6K5XKO
 rMA0K8nmwY/SnDlOJEba2kXM3FZHlG/gX1X5FBP9dcAVA6kuSRNvf+OOav2fUJJSdS
 cdxo7DneH+bIYwvG98pZCPcArADy13dkJer+4lpNKIs/MeVsK8wyxCxtHXw8kAs0Em
 pO/t9oMEzYosmjFe8jk4MQ5pJgb8U07ganFWEvfKDFbKWFKG5wQ2/j/Z4oMO3Wexpp
 VTQzBw0syPU5w==
To: Erik Aronesty <erik@q32.com>
From: angus <angus@toaster.cc>
Message-ID: <j5xgF7aMEAtOtWJ1CfZv-gRIw-gUUe8jMvuZzY9z3K9cRNo91ApiXbtaoXdHdSx61sMmyEHPZu8BWvSSszEAmV0v-g-k2-YTNRFim3hEljw=@toaster.cc>
In-Reply-To: <CAJowKgJQJvsZQgTjEqXaz6DVw_iG4JfXCL8s0G7v2o3O453Ajg@mail.gmail.com>
References: <mailman.48662.1670246787.956.bitcoin-dev@lists.linuxfoundation.org>
 <CAHTn92wri-edhivrtqZCoEzAPEmwZFap12mM4yzxgp77O-+JYA@mail.gmail.com>
 <CAJowKgJQJvsZQgTjEqXaz6DVw_iG4JfXCL8s0G7v2o3O453Ajg@mail.gmail.com>
Feedback-ID: 10272201:user:proton
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pgp-signature";
 micalg=pgp-sha512;
 boundary="------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8";
 charset=utf-8
X-Mailman-Approved-At: Fri, 09 Dec 2022 20:33:20 +0000
Cc: Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>,
 John Carvalho <john@synonym.to>
Subject: [bitcoin-dev] [Opt-in full-RBF] Zero-conf apps in immediate danger
	(angus)
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: Fri, 09 Dec 2022 15:59:03 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8
Content-Type: multipart/mixed;boundary=---------------------dea0d7381856a011ed9c6a9fad7cc89a

-----------------------dea0d7381856a011ed9c6a9fad7cc89a
Content-Type: multipart/alternative;boundary=---------------------e2095ca9f8ac547181260bfd3c65a4e3

-----------------------e2095ca9f8ac547181260bfd3c65a4e3
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;charset=utf-8

I think the fundamental disagreement here that's causing the controversy a=
nd impasse is this:



Those in favour of Full RBF see trusting and relying on predictable mempoo=
l policy as a fundamentally flawed=C2=A0bad idea. Node policy is not a con=
sensus rule - a miner has always been allowed to produce a block in the wa=
y a Full RBF node now would. An otherwise valid block that contains a tx t=
hat your not-full-RBF node ignored because it double-spent an earlier lowe=
r fee tx that didn't opt in to RBF is still a valid block. Knowing this, w=
e conclude that it doesn't matter how useful or widely used Zero Conf is, =
it is fundamentally unsafe and should be=C2=A0actively discouraged, and ch=
anging mempool policy is a way to do this. The existence of Lightning as a=
n alternative for immediate settlement makes this case stronger.



(As I see it) those that oppose Full RBF and want Zero Conf use to continu=
e argue that node mempool policy=C2=A0can=C2=A0and=C2=A0has=C2=A0been reli=
ed upon for a long time already, and argue (rightly) that Zero Conf accept=
ance is already widely used and useful for both customers and merchants. F=
urther arguing that Full RBF can be sucessfully unshipped, which requires =
that majority of node operators don't particularly care about it. Lastly, =
that neither miners nor users have an economic incentive to switch to Full=
 RBF from the current core First-Seen policy. (Am I missing something else=
?)



---



I have sympathy for the utility argument, but to me it's completely overpo=
wered by the "node policy is not consensus and not trustworthy" argument. =
Zero Conf acceptance rests on trusting that nodes are running with a first=
-seen policy. Just because this has worked out OK so far, doesn't mean tha=
t you won't get got bigtime in the future. You can accept this risk if you=
 want to, but it shouldn't be a soft-rule that everyone else running a nod=
e should please help reduce that risk for you.

Sure, if I'm selling something on eBay or whatever for 100k sats and someo=
ne wants to pay in BTC in person, I'll accept with zero confirmations beca=
use there's a degree of trust and the risk isn't unbearable. If I'm accept=
ing BTC as a company though, no, I'm not considering zero-confirmation tra=
nsactions as settled.



I don't think the economic incentive argument currently matters all that m=
uch - miners want to maximise fees, users want to minimise, it's hard to t=
ell which policy would have the higher overall fees for miners, and who wi=
ns miners-vs-users. This would also seem to depend on how wallets do or do=
n't make use of the new RBF option (particularly hard for multisig). There=
 is still an obvious incentive for someone to double-spend attack a Zero-C=
onf merchant, though.



I could be convinced to reverse my stance and oppose Full RBF if there was=
 a strong economic argument that miners (better still, miners and users) s=
hould oppose it, because that would imply first-seen is incentive aligned.=
 Aligning policy with incentives feels like the correct principle.



But for now, I want to run a Full RBF node because I see it as ultimately =
making Bitcoin stronger. It eliminates a use-case that takes risk. Accepti=
ng Zero Conf changes from "hrm, you shouldn't really do that but it works =
most of the time" to "no, really don't do that, you will probably lose mon=
ey". Perhaps this is actually somewhat "vindictive, and perverse" as John =
said, but Bitcoin is money for enemies.



Thanks,

Angus
-----------------------e2095ca9f8ac547181260bfd3c65a4e3
Content-Type: multipart/related;boundary=---------------------b08eb0f9a318e723c6d1d64bfd15bf88

-----------------------b08eb0f9a318e723c6d1d64bfd15bf88
Content-Type: text/html;charset=utf-8
Content-Transfer-Encoding: base64

PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21h
cmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0
cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5JIHRoaW5rIHRoZSBmdW5k
YW1lbnRhbCBkaXNhZ3JlZW1lbnQgaGVyZSB0aGF0J3MgY2F1c2luZyB0aGUgY29udHJvdmVyc3kg
YW5kIGltcGFzc2UgaXMgdGhpczo8L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2
LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9t
OjBwdCI+PGJyPjwvcD48cCBzdHlsZT0iY29sb3I6cmdiKDE0LCAxNiwgMjYpO2JhY2tncm91bmQ6
dHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPjxzcGFuIHN0eWxl
PSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IiBkYXRhLXByZXNlcnZlci1zcGFjZXM9InRydWUiPlRo
b3NlIGluIGZhdm91ciBvZiBGdWxsIFJCRiBzZWUgdHJ1c3RpbmcgYW5kIHJlbHlpbmcgb24gcHJl
ZGljdGFibGUgbWVtcG9vbCBwb2xpY3kgYXMgYSBmdW5kYW1lbnRhbGx5IGZsYXdlZCZuYnNwOzwv
c3Bhbj48ZW0gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiPjxzcGFuIHN0eWxlPSJiYWNr
Z3JvdW5kOnRyYW5zcGFyZW50IiBkYXRhLXByZXNlcnZlci1zcGFjZXM9InRydWUiPmJhZCBpZGVh
PC9zcGFuPjwvZW0+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJl
c2VydmVyLXNwYWNlcz0idHJ1ZSI+LiBOb2RlIHBvbGljeSBpcyBub3QgYSBjb25zZW5zdXMgcnVs
ZSAtIGEgbWluZXIgaGFzIGFsd2F5cyBiZWVuIGFsbG93ZWQgdG8gcHJvZHVjZSBhIGJsb2NrIGlu
IHRoZSB3YXkgYSBGdWxsIFJCRiBub2RlIG5vdyB3b3VsZC4gQW4gb3RoZXJ3aXNlIHZhbGlkIGJs
b2NrIHRoYXQgY29udGFpbnMgYSB0eCB0aGF0IHlvdXIgbm90LWZ1bGwtUkJGIG5vZGUgaWdub3Jl
ZCBiZWNhdXNlIGl0IGRvdWJsZS1zcGVudCBhbiBlYXJsaWVyIGxvd2VyIGZlZSB0eCB0aGF0IGRp
ZG4ndCBvcHQgaW4gdG8gUkJGIGlzIDxpPnN0aWxsPC9pPiBhIHZhbGlkIGJsb2NrLiBLbm93aW5n
IHRoaXMsIHdlIGNvbmNsdWRlIHRoYXQgaXQgZG9lc24ndCBtYXR0ZXIgaG93IHVzZWZ1bCBvciB3
aWRlbHkgdXNlZCBaZXJvIENvbmYgaXMsIGl0IGlzIGZ1bmRhbWVudGFsbHkgdW5zYWZlIGFuZCBz
aG91bGQgYmUmbmJzcDs8aT48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0
YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5hY3RpdmVseTwvc3Bhbj4gZGlzY291cmFnZWQ8L2k+
LCBhbmQgY2hhbmdpbmcgbWVtcG9vbCBwb2xpY3kgaXMgYSB3YXkgdG8gZG8gdGhpcy4gVGhlIGV4
aXN0ZW5jZSBvZiBMaWdodG5pbmcgYXMgYW4gYWx0ZXJuYXRpdmUgZm9yIGltbWVkaWF0ZSBzZXR0
bGVtZW50IG1ha2VzIHRoaXMgY2FzZSBzdHJvbmdlci48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xv
cjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDtt
YXJnaW4tYm90dG9tOjBwdCI+PGJyPjwvcD48cCBzdHlsZT0iY29sb3I6cmdiKDE0LCAxNiwgMjYp
O2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQi
PjxzcGFuIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50IiBkYXRhLXByZXNlcnZlci1zcGFj
ZXM9InRydWUiPihBcyBJIHNlZSBpdCkgdGhvc2UgdGhhdCBvcHBvc2UgRnVsbCBSQkYgYW5kIHdh
bnQgWmVybyBDb25mIHVzZSB0byBjb250aW51ZSBhcmd1ZSB0aGF0IG5vZGUgbWVtcG9vbCBwb2xp
Y3kmbmJzcDs8L3NwYW4+PGVtIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Ij48c3BhbiBz
dHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVl
Ij5jYW48L3NwYW4+PC9lbT48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0
YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj4mbmJzcDthbmQmbmJzcDs8L3NwYW4+PGVtIHN0eWxl
PSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3Bh
cmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5oYXM8L3NwYW4+PC9lbT48c3BhbiBz
dHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVl
Ij4mbmJzcDtiZWVuIHJlbGllZCB1cG9uIGZvciBhIGxvbmcgdGltZSBhbHJlYWR5LCBhbmQgYXJn
dWUgKHJpZ2h0bHkpIHRoYXQgWmVybyBDb25mIGFjY2VwdGFuY2UgaXMgYWxyZWFkeSB3aWRlbHkg
dXNlZCBhbmQgdXNlZnVsIGZvciBib3RoIGN1c3RvbWVycyBhbmQgbWVyY2hhbnRzLiBGdXJ0aGVy
IGFyZ3VpbmcgdGhhdCBGdWxsIFJCRiBjYW4gYmUgc3VjZXNzZnVsbHkgdW5zaGlwcGVkLCB3aGlj
aCByZXF1aXJlcyB0aGF0IG1ham9yaXR5IG9mIG5vZGUgb3BlcmF0b3JzIGRvbid0IHBhcnRpY3Vs
YXJseSBjYXJlIGFib3V0IGl0LiBMYXN0bHksIHRoYXQgbmVpdGhlciBtaW5lcnMgbm9yIHVzZXJz
IGhhdmUgYW4gZWNvbm9taWMgaW5jZW50aXZlIHRvIHN3aXRjaCB0byBGdWxsIFJCRiBmcm9tIHRo
ZSBjdXJyZW50IGNvcmUgRmlyc3QtU2VlbiBwb2xpY3kuIChBbSBJIG1pc3Npbmcgc29tZXRoaW5n
IGVsc2U/KTwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3Jv
dW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBz
dHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVl
Ij48L3NwYW4+PC9wPjxwIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6
MHB0O21hcmdpbi1ib3R0b206MHB0Ij48YnI+PC9wPjxwIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5z
cGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij4tLS08YnI+PC9wPjxwIHN0
eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206
MHB0Ij48YnI+PC9wPjxwIHN0eWxlPSJiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6
MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVu
dCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5JCiBoYXZlIHN5bXBhdGh5IGZvciB0aGUg
dXRpbGl0eSBhcmd1bWVudCwgYnV0IHRvIG1lIGl0J3MgY29tcGxldGVseSBvdmVycG93ZXJlZCBi
eSB0aGUgIm5vZGUgcG9saWN5IGlzIG5vdCBjb25zZW5zdXMgYW5kIG5vdCB0cnVzdHdvcnRoeSIg
YXJndW1lbnQuIFplcm8gQ29uZiBhY2NlcHRhbmNlIHJlc3RzIG9uIDxiPnRydXN0aW5nPC9iPiB0
aGF0IG5vZGVzIGFyZSBydW5uaW5nIAp3aXRoIGEgZmlyc3Qtc2VlbiBwb2xpY3kuIEp1c3QgYmVj
YXVzZSB0aGlzIGhhcyB3b3JrZWQgb3V0IE9LIHNvIGZhciwgCmRvZXNuJ3QgbWVhbiB0aGF0IHlv
dSB3b24ndCBnZXQgZ290IGJpZ3RpbWUgaW4gdGhlIGZ1dHVyZS4gWW91IGNhbiBhY2NlcHQgdGhp
cyByaXNrIGlmIHlvdSB3YW50IHRvLCBidXQgaXQgc2hvdWxkbid0IGJlIGEgc29mdC1ydWxlIHRo
YXQgZXZlcnlvbmUgZWxzZSBydW5uaW5nIGEgbm9kZSBzaG91bGQgcGxlYXNlIGhlbHAgcmVkdWNl
IHRoYXQgcmlzayBmb3IgeW91Ljwvc3Bhbj48L3A+PHA+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2Io
MTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4t
Ym90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJl
c2VydmVyLXNwYWNlcz0idHJ1ZSI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQi
IGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+U3VyZSwgaWYgSSdtIHNlbGxpbmcgc29tZXRo
aW5nIG9uIGVCYXkgb3Igd2hhdGV2ZXIgZm9yIDEwMGsgc2F0czxzcGFuIHN0eWxlPSJmb250LWZh
bWlseTp1MjAwMCI+PC9zcGFuPgogYW5kIHNvbWVvbmUgd2FudHMgdG8gcGF5IGluIEJUQyBpbiBw
ZXJzb24sIEknbGwgYWNjZXB0IHdpdGggCnplcm8gY29uZmlybWF0aW9ucyBiZWNhdXNlIHRoZXJl
J3MgYSBkZWdyZWUgb2YgdHJ1c3QgYW5kIHRoZSByaXNrIGlzbid0IAp1bmJlYXJhYmxlLiBJZiBJ
J20gYWNjZXB0aW5nIEJUQyBhcyBhIGNvbXBhbnkgdGhvdWdoLCBubywgSSdtIG5vdCAKY29uc2lk
ZXJpbmcgemVyby1jb25maXJtYXRpb24gdHJhbnNhY3Rpb25zIGFzIHNldHRsZWQuPC9zcGFuPjxi
cj48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0
cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9
ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+PGJy
Pjwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3JvdW5kOnRy
YW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHlsZT0i
YmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5JIGRv
bid0IHRoaW5rIHRoZSBlY29ub21pYyBpbmNlbnRpdmUgYXJndW1lbnQgY3VycmVudGx5IG1hdHRl
cnMgYWxsIHRoYXQgbXVjaCAtIG1pbmVycyB3YW50IHRvIG1heGltaXNlIGZlZXMsIHVzZXJzIHdh
bnQgdG8gbWluaW1pc2UsIGl0J3MgaGFyZCB0byB0ZWxsIHdoaWNoIHBvbGljeSB3b3VsZCBoYXZl
IHRoZSBoaWdoZXIgb3ZlcmFsbCBmZWVzIGZvciBtaW5lcnMsIGFuZCB3aG8gd2lucyBtaW5lcnMt
dnMtdXNlcnMuIFRoaXMgd291bGQgYWxzbyBzZWVtIHRvIGRlcGVuZCBvbiBob3cgd2FsbGV0cyBk
byBvciBkb24ndCBtYWtlIHVzZSBvZiB0aGUgbmV3IFJCRiBvcHRpb24gKHBhcnRpY3VsYXJseSBo
YXJkIGZvciBtdWx0aXNpZykuIFRoZXJlIGlzIHN0aWxsIGFuIG9idmlvdXMgaW5jZW50aXZlIGZv
ciBzb21lb25lIHRvIGRvdWJsZS1zcGVuZCBhdHRhY2sgYSBaZXJvLUNvbmYgbWVyY2hhbnQsIHRo
b3VnaC48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3Vu
ZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5
bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+
PGJyPjwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTtiYWNrZ3JvdW5k
OnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48c3BhbiBzdHls
ZT0iYmFja2dyb3VuZDp0cmFuc3BhcmVudCIgZGF0YS1wcmVzZXJ2ZXItc3BhY2VzPSJ0cnVlIj5J
IGNvdWxkIGJlIGNvbnZpbmNlZCB0byByZXZlcnNlIG15IHN0YW5jZSBhbmQgb3Bwb3NlIEZ1bGwg
UkJGIGlmIHRoZXJlIHdhcyBhIHN0cm9uZyBlY29ub21pYyBhcmd1bWVudCB0aGF0IG1pbmVycyAo
YmV0dGVyIHN0aWxsLCBtaW5lcnMgPGk+YW5kPC9pPiB1c2Vycykgc2hvdWxkIG9wcG9zZSBpdCwg
YmVjYXVzZSB0aGF0IHdvdWxkIGltcGx5IGZpcnN0LXNlZW4gaXMgaW5jZW50aXZlIGFsaWduZWQu
IEFsaWduaW5nIHBvbGljeSB3aXRoIGluY2VudGl2ZXMgZmVlbHMgbGlrZSB0aGUgY29ycmVjdCBw
cmluY2lwbGUuPGJyPjwvc3Bhbj48L3A+PHAgc3R5bGU9ImNvbG9yOnJnYigxNCwgMTYsIDI2KTti
YWNrZ3JvdW5kOnRyYW5zcGFyZW50O21hcmdpbi10b3A6MHB0O21hcmdpbi1ib3R0b206MHB0Ij48
YnI+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3Bh
cmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tn
cm91bmQ6dHJhbnNwYXJlbnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+QnV0IGZvciBu
b3csIEkgPGk+d2FudDwvaT4gdG8gcnVuIGEgRnVsbCBSQkYgbm9kZSBiZWNhdXNlIEkgc2VlIGl0
IGFzIHVsdGltYXRlbHkgbWFraW5nIEJpdGNvaW4gc3Ryb25nZXIuIEl0IGVsaW1pbmF0ZXMgYSB1
c2UtY2FzZSB0aGF0IHRha2VzIHJpc2suIEFjY2VwdGluZyBaZXJvIENvbmYgY2hhbmdlcyBmcm9t
ICJocm0sIHlvdSBzaG91bGRuJ3QgcmVhbGx5IGRvIHRoYXQgYnV0IGl0IHdvcmtzIG1vc3Qgb2Yg
dGhlIHRpbWUiIHRvICJubywgcmVhbGx5IGRvbid0IGRvIHRoYXQsIHlvdSB3aWxsIHByb2JhYmx5
IGxvc2UgbW9uZXkiLiBQZXJoYXBzIHRoaXMgaXMgYWN0dWFsbHkgc29tZXdoYXQgInZpbmRpY3Rp
dmUsIGFuZCBwZXJ2ZXJzZSIgYXMgSm9obiBzYWlkLCBidXQgQml0Y29pbiBpcyBtb25leSBmb3Ig
ZW5lbWllcy48L3NwYW4+PC9wPjxwIHN0eWxlPSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dy
b3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9wOjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PGJyPjwv
cD48cCBzdHlsZT0iY29sb3I6cmdiKDE0LCAxNiwgMjYpO2JhY2tncm91bmQ6dHJhbnNwYXJlbnQ7
bWFyZ2luLXRvcDowcHQ7bWFyZ2luLWJvdHRvbTowcHQiPlRoYW5rcyw8YnI+PC9wPjxwIHN0eWxl
PSJjb2xvcjpyZ2IoMTQsIDE2LCAyNik7YmFja2dyb3VuZDp0cmFuc3BhcmVudDttYXJnaW4tdG9w
OjBwdDttYXJnaW4tYm90dG9tOjBwdCI+PHNwYW4gc3R5bGU9ImJhY2tncm91bmQ6dHJhbnNwYXJl
bnQiIGRhdGEtcHJlc2VydmVyLXNwYWNlcz0idHJ1ZSI+QW5ndXM8L3NwYW4+PC9wPjxicj4=
-----------------------b08eb0f9a318e723c6d1d64bfd15bf88--
-----------------------e2095ca9f8ac547181260bfd3c65a4e3--
-----------------------dea0d7381856a011ed9c6a9fad7cc89a--

--------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: OpenPGP digital signature
Content-Disposition: attachment; filename="signature.asc"

-----BEGIN PGP SIGNATURE-----
Version: ProtonMail

wnUEARYKACcFAmOTWxkJEMIlymXPPJ1UFiEEmpQAKIPU4CpfaPPKwiXKZc88
nVQAAAm3AQDxhxkVS1koSQdTQXobeqkghATfFfaaEZ/mM2PLwypCbgD+Ooiw
DQLCQ+zNO4PFxpXOLtSDsRtivkfQ8vm9aSZamQc=
=DOC7
-----END PGP SIGNATURE-----


--------cc2767804256c9f59dbcc1fc31baf85ddd16f8a268bb804e04283feded86d5a8--