summaryrefslogtreecommitdiff
path: root/d1/979357ee3e10de61a72a2cc898b51ca952ca16
blob: fadd6d7cb5bfadc9c15dcab0ef36530496317456 (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
Return-Path: <angus@toaster.cc>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id 44F5CC0032
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon,  5 Dec 2022 12:27:32 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 78C33404F5
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon,  5 Dec 2022 12:27:31 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 78C33404F5
Authentication-Results: smtp2.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=3Oo/ZeoH
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 smtp2.osuosl.org ([127.0.0.1])
 by localhost (smtp2.osuosl.org [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id I6FYl8Hg2V4T
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon,  5 Dec 2022 12:27:29 +0000 (UTC)
X-Greylist: delayed 00:05:25 by SQLgrey-1.8.0
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 85962400A4
Received: from mail-41103.protonmail.ch (mail-41103.protonmail.ch
 [185.70.41.103])
 by smtp2.osuosl.org (Postfix) with ESMTPS id 85962400A4
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Mon,  5 Dec 2022 12:27:28 +0000 (UTC)
Date: Mon, 05 Dec 2022 12:21:44 +0000
Authentication-Results: mail-41103.protonmail.ch;
 dkim=pass (2048-bit key) header.d=toaster.cc header.i=@toaster.cc
 header.b="3Oo/ZeoH"
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=toaster.cc;
 s=protonmail3; t=1670242906; x=1670502106;
 bh=p4m8Ua4RYOKxZh5G9le+38Sw7JkAolc13Xe782aMVXk=;
 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=3Oo/ZeoH7GDxD2Vk80O2gH5zdIlxGG8uvpQqnmwf18VQHM3ErQ1dRGsXGtd588DTj
 9duLqfcBHj2ZW08i2wpYkY6T6pqDopILYUQkmK8PvjpPewv5QY8ekJeHf77BcAMJda
 h25AXAlqeULqfw7hKaX44iJlbQPX2TOwWCZLwYg2oh3Kudkn7DIldCEb243nMEs3/B
 66sdlxFCENlHFQd5ryJsPugmciuwLS8cSYkjfVyZ70ltx1CVyq7DZhTxMStJk5YhC2
 cjw5sTLst7MdNUg/wVNeKfc5q6bvmPeJch2QKHN6R8xlcKI4hNO4Vxie+RBY+m+hQK
 OpPMi81Ld9qpg==
To: Daniel Lipshitz <daniel@gap600.com>,
 Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
From: angus <angus@toaster.cc>
Message-ID: <-C_sX7ApYy_2MgXfl7e1ONddIi9gtET5jV4MTl_F_CstCvTuV0vTFfazF7tKBd53o6QbZ1xygayPIaCVjDyV-9yklnfk_t0IH23rw2LtqKQ=@toaster.cc>
In-Reply-To: <CACkWPs-2e8QVTwnBcos7WA0c2+iLcY2XGCZzY0xt9L_voyx9UA@mail.gmail.com>
References: <CACkWPs8-rZpGSJSEyLsg9gVAuPpHztXWSZvfGscGJCn05th0DQ@mail.gmail.com>
 <Y4l/ZHl9EvhaCpix@petertodd.org>
 <CACkWPs_v=MYFrn=LzPSK4+=Enw2R5+REap+MFLRhwtxcwGvEHA@mail.gmail.com>
 <Y4sNxWkBp7+ogcJb@petertodd.org>
 <CACkWPs9p0K-1RbVMipiAwjhexaNgmMgjENYvd9S1DpA+JVcE=w@mail.gmail.com>
 <Y4s9EqMfk+yXCzIO@petertodd.org>
 <CACkWPs-maywWfAt_qhnsUOTm6u_Ph=LgbuLSaF1NRJSTBWkTdg@mail.gmail.com>
 <CACkWPs-2e8QVTwnBcos7WA0c2+iLcY2XGCZzY0xt9L_voyx9UA@mail.gmail.com>
Feedback-ID: 10272201:user:proton
MIME-Version: 1.0
Content-Type: multipart/signed; protocol="application/pgp-signature";
 micalg=pgp-sha512;
 boundary="------08d3d6c0cd6d0e443bc3ff44f907b6f8de77e96feb5e80858d967f3784a56dd1";
 charset=utf-8
X-Mailman-Approved-At: Mon, 05 Dec 2022 13:26:26 +0000
Subject: [bitcoin-dev] [Opt-in full-RBF] Zero-conf apps in immediate danger
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: Mon, 05 Dec 2022 12:27:32 -0000

This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
--------08d3d6c0cd6d0e443bc3ff44f907b6f8de77e96feb5e80858d967f3784a56dd1
Content-Type: multipart/mixed;boundary=---------------------0a761db651e2c3cb5c50bead64df3088

-----------------------0a761db651e2c3cb5c50bead64df3088
Content-Type: multipart/alternative;boundary=---------------------72fe99493a063dc3ad01536841344e31

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

Core adding full RBF is a change of node policy that may be highly inconve=
nient for zero-conf users, but there has always been and will always be a =
risk of a double-spend for anyone that treats zero-confirmation transactio=
ns as settled. It's literally in the name - this transaction has zero conf=
irmations and no guarantee it'll make it into a block, and so has not yet =
settled.


The perception seems to be that Core adding the full RBF option is increas=
ing the risk to zero-conf users, but I'm not convinced that that is the ca=
se - someone wanting to double-spend attack you isn't going to be bothered=
 to do so over a few thousand sats (unless they can do it thousands of tim=
es), and losing a few thousand sats to a double-spend isn't the biggest de=
al.


It's always been the risk of getting double-spent out of hundreds or thous=
ands of bitcoins that's worth seriously worrying about, which is much more=
 the kind of attack a determined attacker is able to carry out. Such a det=
ermined attacker is much more likely to attempt and succeed at a sybil att=
ack, or directly colluding with a miner. So your zero-conf risk increases =
non-linearly as the amount of bitcoin being transacted grows. (caveat: thi=
s paragraph is opinion).


There does, however, seem to be a legitimate business for providing insura=
nce/risk management for people that are willing to accept the zero-conf ri=
sk - it is pretty similar to accepting credit cards with a chargeback risk=
 or any payment card with a capture risk, though there's no-one to mediate=
 a dispute. On-chain is final.

But what doesn't make any sense is trying to avoid Bitcoin Core and nodes =
from adopting a full RBF policy to try to protect this use case. As has be=
en pointed out by may others before, full RBF is aligned with miner (and u=
ser) economic incentives and is a node policy, not consensus, so you can't=
 even tell which nodes are doing it nor can you prevent them from doing so=
. Second, Bitcoin core 24 with the full RBF option is already out in the w=
ild at around 5%+ of running nodes and growing, so it's too late to kill i=
t.


So my point is that relying on node policy as part of your protection for =
zero-conf transaction acceptance is fragile, and should not be relied upon=
. The protocol rules have always tacitly allowed double-spending before a =
confirmation, and it has always been clear that there's no consensus on wh=
ich transactions have occurred until they have in a block and have at-leas=
t one confirmation.

The long-term 'what to do about it' is to use Lightning if you want fast p=
ayments with risk-free instant settlement, or as above, accept the zero-co=
nf risk and cover yourself with an insurance premium (e.g. a margin on tra=
nsactions that goes into an insurance fund, and limiting max transaction a=
mount so you're not exposed to uncoverable losses if you do get double-spe=
nd attacked)




Angus
-----------------------72fe99493a063dc3ad01536841344e31
Content-Type: multipart/related;boundary=---------------------b76700fc017bd3eec593de33a2ab9d81

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

PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiIGFsaWduPSJsZWZ0Ij48c3BhbiBzdHlsZT0i
Zm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB0OyBsaW5lLWhlaWdodDogbm9y
bWFsOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+Q29yZSBhZGRpbmcgZnVsbCBSQkYgaXMgYSBjaGFu
Z2Ugb2Ygbm9kZSBwb2xpY3kgdGhhdCBtYXkgYmUgaGlnaGx5IGluY29udmVuaWVudCBmb3IgemVy
by1jb25mIHVzZXJzLCBidXQgdGhlcmUgaGFzIGFsd2F5cyBiZWVuIGFuZCB3aWxsIGFsd2F5cyBi
ZSBhIHJpc2sgb2YgYSBkb3VibGUtc3BlbmQgZm9yIGFueW9uZSB0aGF0IHRyZWF0cyB6ZXJvLWNv
bmZpcm1hdGlvbiB0cmFuc2FjdGlvbnMgYXMgc2V0dGxlZC4gSXQncyBsaXRlcmFsbHkgaW4gdGhl
IG5hbWUgLSB0aGlzIHRyYW5zYWN0aW9uIGhhcyB6ZXJvIGNvbmZpcm1hdGlvbnMgYW5kIG5vIGd1
YXJhbnRlZSBpdCdsbCBtYWtlIGl0IGludG8gYSBibG9jaywgYW5kIHNvIGhhcyBub3QgeWV0IHNl
dHRsZWQuPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IiBhbGlnbj0i
bGVmdCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJw
dDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPjxicj48L3NwYW4+
PC9kaXY+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiIGFsaWduPSJsZWZ0Ij48c3BhbiBz
dHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB0OyBsaW5lLWhlaWdo
dDogbm9ybWFsOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+VGhlIHBlcmNlcHRpb24gc2VlbXMgdG8g
YmUgdGhhdCBDb3JlIGFkZGluZyB0aGUgZnVsbCBSQkYgb3B0aW9uIGlzIGluY3JlYXNpbmcgdGhl
IHJpc2sgdG8gemVyby1jb25mIHVzZXJzLCBidXQgSSdtIG5vdCBjb252aW5jZWQgdGhhdCB0aGF0
IGlzIHRoZSBjYXNlIC0gc29tZW9uZSB3YW50aW5nIHRvIGRvdWJsZS1zcGVuZCBhdHRhY2sgeW91
IGlzbid0IGdvaW5nIHRvIGJlIGJvdGhlcmVkIHRvIGRvIHNvIG92ZXIgYSBmZXcgdGhvdXNhbmQg
c2F0cyAodW5sZXNzIHRoZXkgY2FuIGRvIGl0IHRob3VzYW5kcyBvZiB0aW1lcyksIGFuZCBsb3Np
bmcgYSBmZXcgdGhvdXNhbmQgc2F0cyB0byBhIGRvdWJsZS1zcGVuZCBpc24ndCB0aGUgYmlnZ2Vz
dCBkZWFsLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyIgYWxpZ249
ImxlZnQiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEy
cHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij48YnI+PC9zcGFu
PjwvZGl2PjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IiBhbGlnbj0ibGVmdCI+PHNwYW4g
c3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJwdDsgbGluZS1oZWln
aHQ6IG5vcm1hbDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPkl0J3MgYWx3YXlzIGJlZW4gdGhlIHJp
c2sgb2YgZ2V0dGluZyBkb3VibGUtc3BlbnQgb3V0IG9mIGh1bmRyZWRzIG9yIHRob3VzYW5kcyBv
ZiBiaXRjb2lucyB0aGF0J3Mgd29ydGggc2VyaW91c2x5IHdvcnJ5aW5nIGFib3V0LCB3aGljaCBp
cyBtdWNoIG1vcmUgdGhlIGtpbmQgb2YgYXR0YWNrIGEgZGV0ZXJtaW5lZCBhdHRhY2tlciBpcyBh
YmxlIHRvIGNhcnJ5IG91dC4gU3VjaCBhIGRldGVybWluZWQgYXR0YWNrZXIgaXMgbXVjaCBtb3Jl
IGxpa2VseSB0byBhdHRlbXB0IGFuZCBzdWNjZWVkIGF0IGEgc3liaWwgYXR0YWNrLCBvciBkaXJl
Y3RseSBjb2xsdWRpbmcgd2l0aCBhIG1pbmVyLiBTbyB5b3VyIHplcm8tY29uZiByaXNrIGluY3Jl
YXNlcyBub24tbGluZWFybHkgYXMgdGhlIGFtb3VudCBvZiBiaXRjb2luIGJlaW5nIHRyYW5zYWN0
ZWQgZ3Jvd3MuPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZToxMnB0Ij4gKGNhdmVhdDogdGhpcyBwYXJh
Z3JhcGggaXMgb3BpbmlvbikuPC9zcGFuPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0idGV4
dC1hbGlnbjogbGVmdDsiIGFsaWduPSJsZWZ0Ij48YnI+PC9kaXY+PGRpdiBzdHlsZT0idGV4dC1h
bGlnbjogbGVmdDsiIGFsaWduPSJsZWZ0Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZl
dGljYTsgZm9udC1zaXplOiAxMnB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDAs
IDAsIDApOyI+VGhlcmUgZG9lcywgaG93ZXZlciwgc2VlbSAgdG8gYmUgYSBsZWdpdGltYXRlIGJ1
c2luZXNzIGZvciBwcm92aWRpbmcgPC9zcGFuPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogSGVs
dmV0aWNhOyBmb250LXNpemU6IDEycHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2Io
MCwgMCwgMCk7Ij5pbnN1cmFuY2UvcmlzayBtYW5hZ2VtZW50IGZvciBwZW9wbGUgdGhhdCA8aT5h
cmU8L2k+IHdpbGxpbmcgdG8gYWNjZXB0IHRoZSB6ZXJvLWNvbmYgcmlzayAtIGl0IGlzIHByZXR0
eSBzaW1pbGFyIHRvIGFjY2VwdGluZyBjcmVkaXQgY2FyZHMgd2l0aCBhIGNoYXJnZWJhY2sgcmlz
ayBvciBhbnkgcGF5bWVudCBjYXJkIHdpdGggYSBjYXB0dXJlIHJpc2ssIHRob3VnaCB0aGVyZSdz
IG5vLW9uZSB0byBtZWRpYXRlIGEgZGlzcHV0ZS4gT24tY2hhaW4gaXMgZmluYWwuPC9zcGFuPjwv
ZGl2PjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IiBhbGlnbj0ibGVmdCI+PGJyPjwvZGl2
PjxkaXYgc3R5bGU9InRleHQtYWxpZ246IGxlZnQ7IiBhbGlnbj0ibGVmdCI+PHNwYW4gc3R5bGU9
ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJwdDsgbGluZS1oZWlnaHQ6IG5v
cm1hbDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPkJ1dCB3aGF0IGRvZXNuJ3QgbWFrZSBhbnkgc2Vu
c2UgaXMgdHJ5aW5nIHRvIGF2b2lkIEJpdGNvaW4gQ29yZSBhbmQgbm9kZXMgZnJvbSBhZG9wdGlu
ZyBhIGZ1bGwgUkJGIHBvbGljeSB0byB0cnkgdG8gcHJvdGVjdCB0aGlzIHVzZSBjYXNlLiBBcyBo
YXMgYmVlbiBwb2ludGVkIG91dCBieSBtYXkgb3RoZXJzIGJlZm9yZSwgZnVsbCBSQkYgaXMgYWxp
Z25lZCB3aXRoIG1pbmVyIChhbmQgdXNlcikgZWNvbm9taWMgaW5jZW50aXZlcyA8L3NwYW4+PHNw
YW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJwdDsgbGluZS1o
ZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPmFuZDwvc3Bhbj48c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB0OyBsaW5lLWhlaWdodDog
bm9ybWFsOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+IGlzIGEgbm9kZSBwb2xpY3ksIG5vdCBjb25z
ZW5zdXMsIHNvIHlvdSBjYW4ndCBldmVuIHRlbGwgd2hpY2ggbm9kZXMgYXJlIGRvaW5nIGl0IG5v
ciBjYW4geW91IHByZXZlbnQgdGhlbSBmcm9tIGRvaW5nIHNvLiBTZWNvbmQsIDxhIGhyZWY9Imh0
dHBzOi8vYml0Y29pbmNvcmUub3JnL2Jpbi9iaXRjb2luLWNvcmUtMjQuMC8iIHRpdGxlPSJCaXRj
b2luIGNvcmUgMjQiPkJpdGNvaW4gY29yZSAyNDwvYT4gPHNwYW4gc3R5bGU9ImZvbnQtc2l6ZTox
MnB0Ij53aXRoIHRoZSBmdWxsIFJCRjwvc3Bhbj4gb3B0aW9uIGlzIGFscmVhZHkgPGEgaHJlZj0i
aHR0cHM6Ly9iaXRub2Rlcy5pby9ub2Rlcy8/cT1TYXRvc2hpOjI0LjAuMCIgdGl0bGU9Im91dCBp
biB0aGUgd2lsZCI+b3V0IGluIHRoZSB3aWxkPC9hPiBhdCBhcm91bmQgNSUrIG9mIHJ1bm5pbmcg
bm9kZXMgYW5kIGdyb3dpbmcsIHNvIGl0J3MgdG9vIGxhdGUgdG8ga2lsbCBpdC48L3NwYW4+PC9k
aXY+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsiIGFsaWduPSJsZWZ0Ij48c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB0OyBsaW5lLWhlaWdodDog
bm9ybWFsOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+PGJyPjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxl
PSJ0ZXh0LWFsaWduOiBsZWZ0OyIgYWxpZ249ImxlZnQiPjxzcGFuIHN0eWxlPSJmb250LWZhbWls
eTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHQ7IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9y
OiByZ2IoMCwgMCwgMCk7Ij5TbyBteSBwb2ludCBpcyB0aGF0IHJlbHlpbmcgb24gbm9kZSBwb2xp
Y3kgYXMgcGFydCBvZiB5b3VyIHByb3RlY3Rpb24gZm9yIHplcm8tY29uZiB0cmFuc2FjdGlvbiBh
Y2NlcHRhbmNlIGlzIGZyYWdpbGUsIGFuZCBzaG91bGQgbm90IGJlIHJlbGllZCB1cG9uLiBUaGUg
cHJvdG9jb2wgcnVsZXMgaGF2ZSBhbHdheXMgdGFjaXRseSBhbGxvd2VkIGRvdWJsZS1zcGVuZGlu
ZyBiZWZvcmUgYSBjb25maXJtYXRpb24sIGFuZCBpdCBoYXMgYWx3YXlzIGJlZW4gY2xlYXIgdGhh
dCB0aGVyZSdzIG5vIGNvbnNlbnN1cyBvbiB3aGljaCB0cmFuc2FjdGlvbnMgaGF2ZSBvY2N1cnJl
ZCB1bnRpbCB0aGV5IGhhdmUgaW4gYSBibG9jayBhbmQgaGF2ZSBhdC1sZWFzdCBvbmUgY29uZmly
bWF0aW9uLjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyIgYWxpZ249
ImxlZnQiPjxicj48L2Rpdj48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyIgYWxpZ249Imxl
ZnQiPjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHQ7
IGxpbmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij5UaGUgbG9uZy10ZXJt
ICd3aGF0IHRvIGRvIGFib3V0IGl0JyBpcyB0byB1c2UgTGlnaHRuaW5nIGlmIHlvdSB3YW50IGZh
c3QgcGF5bWVudHMgd2l0aCByaXNrLWZyZWUgaW5zdGFudCBzZXR0bGVtZW50LCBvciBhcyBhYm92
ZSwgYWNjZXB0IHRoZSB6ZXJvLWNvbmYgcmlzayBhbmQgY292ZXIgeW91cnNlbGYgd2l0aCBhbiBp
bnN1cmFuY2UgcHJlbWl1bSAoZS5nLiBhIG1hcmdpbiBvbiB0cmFuc2FjdGlvbnMgdGhhdCBnb2Vz
IGludG8gYW4gaW5zdXJhbmNlIGZ1bmQsIGFuZCBsaW1pdGluZyBtYXggdHJhbnNhY3Rpb24gYW1v
dW50IHNvIHlvdSdyZSBub3QgZXhwb3NlZCB0byB1bmNvdmVyYWJsZSBsb3NzZXMgaWYgeW91IGRv
IGdldCBkb3VibGUtc3BlbmQgYXR0YWNrZWQpPC9zcGFuPjwvZGl2PjxkaXYgc3R5bGU9InRleHQt
YWxpZ246IGxlZnQ7IiBhbGlnbj0ibGVmdCI+PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2
ZXRpY2E7IGZvbnQtc2l6ZTogMTJwdDsgbGluZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigw
LCAwLCAwKTsiPjxicj48L3NwYW4+PC9kaXY+PGRpdiBzdHlsZT0idGV4dC1hbGlnbjogbGVmdDsi
IGFsaWduPSJsZWZ0Ij48c3BhbiBzdHlsZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1z
aXplOiAxMnB0OyBsaW5lLWhlaWdodDogbm9ybWFsOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+PGJy
Pjwvc3Bhbj48L2Rpdj48ZGl2IHN0eWxlPSJ0ZXh0LWFsaWduOiBsZWZ0OyIgYWxpZ249ImxlZnQi
PjxzcGFuIHN0eWxlPSJmb250LWZhbWlseTogSGVsdmV0aWNhOyBmb250LXNpemU6IDEycHQ7IGxp
bmUtaGVpZ2h0OiBub3JtYWw7IGNvbG9yOiByZ2IoMCwgMCwgMCk7Ij5Bbmd1czxicj48L3NwYW4+
PHNwYW4gc3R5bGU9ImZvbnQtZmFtaWx5OiBIZWx2ZXRpY2E7IGZvbnQtc2l6ZTogMTJwdDsgbGlu
ZS1oZWlnaHQ6IG5vcm1hbDsgY29sb3I6IHJnYigwLCAwLCAwKTsiPjwvc3Bhbj48c3BhbiBzdHls
ZT0iZm9udC1mYW1pbHk6IEhlbHZldGljYTsgZm9udC1zaXplOiAxMnB0OyBsaW5lLWhlaWdodDog
bm9ybWFsOyBjb2xvcjogcmdiKDAsIDAsIDApOyI+PC9zcGFuPjwvZGl2Pg==
-----------------------b76700fc017bd3eec593de33a2ab9d81--
-----------------------72fe99493a063dc3ad01536841344e31--
-----------------------0a761db651e2c3cb5c50bead64df3088--

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

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

wnUEARYKACcFAmON4kgJEMIlymXPPJ1UFiEEmpQAKIPU4CpfaPPKwiXKZc88
nVQAAGoTAQCYrNx9rmGhFz3ELgDa1ysEeIN5WniMNaP4CkK8MK1uDAD/QSCC
JGrISvNpkmDfPZrILY0xCrp+ZTk7De36X6/9xQo=
=xnmF
-----END PGP SIGNATURE-----


--------08d3d6c0cd6d0e443bc3ff44f907b6f8de77e96feb5e80858d967f3784a56dd1--