summaryrefslogtreecommitdiff
path: root/89/482200216e4675a4a6e457ea09eb956a9ceeb3
blob: 3102f6d38470fe9338763eb88e605728f9e72aa2 (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
Return-Path: <leohaf@orangepill.ovh>
Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133])
 by lists.linuxfoundation.org (Postfix) with ESMTP id C1333C0032
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Aug 2023 14:03:39 +0000 (UTC)
Received: from localhost (localhost [127.0.0.1])
 by smtp2.osuosl.org (Postfix) with ESMTP id 87EF94173F
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Aug 2023 14:03:39 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 87EF94173F
Authentication-Results: smtp2.osuosl.org; dkim=pass (2048-bit key,
 unprotected) header.d=orangepill.ovh header.i=@orangepill.ovh
 header.a=rsa-sha256 header.s=sig1 header.b=PnT0LWFt
X-Virus-Scanned: amavisd-new at osuosl.org
X-Spam-Flag: NO
X-Spam-Score: -2.797
X-Spam-Level: 
X-Spam-Status: No, score=-2.797 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,
 RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H4=0.001,
 RCVD_IN_MSPIKE_WL=0.001, SPF_HELO_NONE=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 EJfXQqYlyUFH
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Aug 2023 14:03:38 +0000 (UTC)
Received: from st43p00im-zteg10063401.me.com (st43p00im-zteg10063401.me.com
 [17.58.63.175])
 by smtp2.osuosl.org (Postfix) with ESMTPS id 3BC2C404B5
 for <bitcoin-dev@lists.linuxfoundation.org>;
 Thu,  3 Aug 2023 14:03:38 +0000 (UTC)
DKIM-Filter: OpenDKIM Filter v2.11.0 smtp2.osuosl.org 3BC2C404B5
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=orangepill.ovh;
 s=sig1; t=1691071416;
 bh=uQiNb1SPBtR1zXPDBrW4Hi6CAHegwAc+AaAEZi0XeFs=;
 h=From:Content-Type:Mime-Version:Subject:Date:To:Message-Id;
 b=PnT0LWFtFm59Qqw42/VC0HQyGT7e5VAUV7lF/WZiJ5h7BOoLRbk5QqLMWm1hBQTgj
 arFnsFPJDRKArkLOd4c/2g2Icqvztzr2186exiPhyzzrCwp4yAcN7ZPbp5b8BeU2Ja
 LjRAeArTqCucqd38CzlsV1iy3o/RQNkPBu2DYm2m/NkT6bmbbX05AGSMvRDJ+VSnuv
 gLOEuSpXCBl2CTLF56SMmMRBp8zyq+PccF29vdTkYj+47KSBMtoWOFEIYu4F+RZXaC
 aUW2XLjpbsFsI1qTVeNw9BKjjkesTg+AnmZXS2mAinnLV+l1eunK91ht1i28xtMiZ7
 Q+J/Bk4Wfrr/A==
Received: from smtpclient.apple (st43p00im-dlb-asmtp-mailmevip.me.com
 [17.42.251.41])
 by st43p00im-zteg10063401.me.com (Postfix) with ESMTPSA id B2E64C602FB;
 Thu,  3 Aug 2023 14:03:35 +0000 (UTC)
From: leohaf@orangepill.ovh
Content-Type: multipart/alternative;
 boundary="Apple-Mail=_B33AA37B-F0B7-4AB3-9C62-DAA0005E8149"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.700.6\))
Date: Thu, 3 Aug 2023 16:03:19 +0200
References: <IA1P223MB04501EFD534B3A53708740E1CA05A@IA1P223MB0450.NAMP223.PROD.OUTLOOK.COM>
To: Davidson Souza <davidson.lucas.souza@outlook.com>,
 Bitcoin Protocol Discussion <bitcoin-dev@lists.linuxfoundation.org>
In-Reply-To: <IA1P223MB04501EFD534B3A53708740E1CA05A@IA1P223MB0450.NAMP223.PROD.OUTLOOK.COM>
Message-Id: <56014D86-B715-4216-8B11-93A65FDC6971@orangepill.ovh>
X-Mailer: Apple Mail (2.3731.700.6)
X-Proofpoint-ORIG-GUID: iHkc4vfUaQfXsB-EUeVd9JAlU7kbPubr
X-Proofpoint-GUID: iHkc4vfUaQfXsB-EUeVd9JAlU7kbPubr
X-Proofpoint-Virus-Version: =?UTF-8?Q?vendor=3Dfsecure_engine=3D1.1.170-22c6f66c430a71ce266a39bfe25bc?=
 =?UTF-8?Q?2903e8d5c8f:6.0.573,18.0.572,17.11.170.22.0000000_definitions?=
 =?UTF-8?Q?=3D2023-05-17=5F02:2023-05-17=5F02,2020-02-14=5F11,2023-02-09?=
 =?UTF-8?Q?=5F01_signatures=3D0?=
X-Proofpoint-Spam-Details: rule=notspam policy=default score=0 phishscore=0
 malwarescore=0
 suspectscore=0 spamscore=0 clxscore=1030 adultscore=0 mlxscore=0
 bulkscore=0 mlxlogscore=999 classifier=spam adjust=0 reason=mlx
 scancount=1 engine=8.12.0-2212070000 definitions=main-2308030126
X-Mailman-Approved-At: Thu, 03 Aug 2023 14:11:54 +0000
Subject: Re: [bitcoin-dev] Announcing Libforesta
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: Thu, 03 Aug 2023 14:03:39 -0000


--Apple-Mail=_B33AA37B-F0B7-4AB3-9C62-DAA0005E8149
Content-Transfer-Encoding: quoted-printable
Content-Type: text/plain;
	charset=utf-8

Hi, delighted to see an implementation of Utreexo.

I will just have a few questions about your implementation.

1) Is this implementation able to start other nodes whether they are on =
the reference implementation or on Floresta?

2) Is it possible to switch from Bitcoin Core to Floresta without =
causing a new IDB?

3) Is Floresta backward compatible with Bitcoin Core's RPC commands?

> Le 31 juil. 2023 =C3=A0 19:47, Davidson Souza via bitcoin-dev =
<bitcoin-dev@lists.linuxfoundation.org> a =C3=A9crit :
>=20
> Hi, list. My name is Davidson, and I=E2=80=99m thrilled to share =
`libfloresta` with the Bitcoin devs mailing list!
>=20
> This is a derivate of a project I=E2=80=99ve been developing for a few =
months, called `Floresta` (Portuguese for forest). An Utreexo powered, =
Fully-Validating Bitcoin Full node with integrated watch-only wallet and =
Electrum Server, meant to be a compact, simple, and ready to use full =
node for end users.=20
>=20
> After some feedbacks and thoughts, I=E2=80=99ve decided to turn it =
into a series of reusable libs that can be used in other applications in =
a straightforward way. The main goal here is low-power devices, like SBC =
and smartphones, but can be used in any environment. To achieve that, =
I=E2=80=99m writing the main logic in Rust and will generate bindings to =
the original code and compiling to WASM, allowing it to run virtually =
anywhere.
>=20
> The project is in an early stage, but I=E2=80=99m using it on signet =
for a while now with no problems. Mainnet support is almost ready, but =
we need to solve some performance issues with bridge nodes and set some =
up, so you can have utreexo peers.
>=20
> The project is available on [my =
GitHub](https://github.com/Davidson-Souza/Floresta) and I wrote an =
initial [blogpost](https://blog.dlsouza.lol/2023/07/07/libfloresta.html) =
explaining how to use it (in Rust). I=E2=80=99ll write more as the =
project matures, and I get it running on other platforms. Any feedback =
is welcome!
>=20
> ## Consensus
>=20
> I know that alternative implementations is a spicy subject in Bitcoin =
land, but this project **does not** reimplement the Bitcoin Consensus =
machine from scratch. I=E2=80=99m using `libbitcoinconsenus` and plan to =
use the full `libbitcoinkernel` in the future. While this doesn=E2=80=99t =
guarantee consistency, it minimizes misimplementations leading to =
splits.
>=20
> I=E2=80=99m also making an extra effort into cross-test against =
Bitcoin Core to find any inconsistencies before it causes any trouble.
>=20
> ## Acknowledges
>=20
> A special thanks to [Vinteum](https://vinteum.org/) for supporting my =
work with utreexo and Floresta.
>=20
> Best regards,
> Davidson Souza.
> _______________________________________________
> bitcoin-dev mailing list
> bitcoin-dev@lists.linuxfoundation.org =
<mailto:bitcoin-dev@lists.linuxfoundation.org>
> https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev


--Apple-Mail=_B33AA37B-F0B7-4AB3-9C62-DAA0005E8149
Content-Transfer-Encoding: quoted-printable
Content-Type: text/html;
	charset=utf-8

<html><head><meta http-equiv=3D"content-type" content=3D"text/html; =
charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; =
-webkit-nbsp-mode: space; line-break: after-white-space;"><meta =
http-equiv=3D"content-type" content=3D"text/html; charset=3Dutf-8"><div =
style=3D"overflow-wrap: break-word; -webkit-nbsp-mode: space; =
line-break: after-white-space;">Hi, delighted to see an implementation =
of Utreexo.<div><br></div><div>I will just have a few questions about =
your implementation.</div><div><br></div><div>1) Is this implementation =
able to start other nodes whether they are on the reference =
implementation or on Floresta?</div><div><br></div><div>2) Is it =
possible to switch from Bitcoin Core to Floresta without causing a new =
IDB?</div><div><br></div><div>3) Is Floresta backward compatible with =
Bitcoin Core's RPC commands?</div><div><br><div><blockquote =
type=3D"cite"><div>Le 31 juil. 2023 =C3=A0 19:47, Davidson Souza via =
bitcoin-dev &lt;bitcoin-dev@lists.linuxfoundation.org&gt; a =C3=A9crit =
:</div><br class=3D"Apple-interchange-newline"><div><meta =
charset=3D"UTF-8"><div style=3D"margin-top: 0pt; margin-bottom: 0pt; =
caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; line-height: =
1.38;"><span style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;">Hi, list. My name is Davidson, and I=E2=80=99m =
thrilled to share `libfloresta` with the Bitcoin devs mailing =
list!</span></div><div style=3D"caret-color: rgb(0, 0, 0); font-family: =
Helvetica; font-size: 12px; font-style: normal; font-variant-caps: =
normal; font-weight: 400; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none;"><span style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;"><br></span></div><div class=3D"elementToProof" =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><span =
style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;">This is a derivate of a project I=E2=80=99ve =
been developing for a few months, called `Floresta` (Portuguese for =
forest). An Utreexo powered, Fully-Validating Bitcoin Full node with =
integrated watch-only wallet and Electrum Server, meant to be a compact, =
simple, and ready to use full node for end users.<span =
class=3D"Apple-converted-space">&nbsp;</span><br></span></div><div =
class=3D"elementToProof" style=3D"caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><span style=3D"font-size: 11pt; font-family: =
Arial, sans-serif; text-decoration: none;"><br></span></div><div =
class=3D"elementToProof" style=3D"caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><span style=3D"font-size: 11pt; font-family: =
Arial, sans-serif; text-decoration: none;">After some feedbacks and =
thoughts, I=E2=80=99ve decided to turn it into a series of reusable libs =
that can be used in other applications in a straightforward way. The =
main goal here is low-power devices, like SBC and smartphones, but can =
be used in any environment. To achieve that, I=E2=80=99m writing the =
main logic in Rust and will generate bindings to the original code and =
compiling to WASM, allowing it to run virtually =
anywhere.</span></div><div class=3D"elementToProof" style=3D"caret-color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><span style=3D"font-size: 11pt; font-family: =
Arial, sans-serif; text-decoration: none;"><br></span></div><div =
style=3D"margin-top: 0pt; margin-bottom: 0pt; caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; line-height: 1.38;"><span style=3D"font-size: =
11pt; font-family: Arial, sans-serif; text-decoration: none;"><span =
class=3D"Apple-tab-span"></span></span><span style=3D"font-size: 11pt; =
font-family: Arial, sans-serif; text-decoration: none;">The project is =
in an early stage, but I=E2=80=99m using it on signet for a while now =
with no problems. Mainnet support is almost ready, but we need to solve =
some performance issues with bridge nodes and set some up, so you can =
have utreexo peers.</span></div><div style=3D"margin-top: 0pt; =
margin-bottom: 0pt; caret-color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: 400; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; line-height: 1.38;"><span style=3D"font-size: 11pt; font-family: =
Arial, sans-serif; text-decoration: none;"><br></span></div><div =
style=3D"margin-top: 0pt; margin-bottom: 0pt; caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; line-height: 1.38;"><span style=3D"font-size: =
11pt; font-family: Arial, sans-serif; text-decoration: none;"><span =
class=3D"Apple-tab-span"></span></span><span style=3D"font-size: 11pt; =
font-family: Arial, sans-serif; text-decoration: none;">The project is =
available on [my GitHub](</span><a =
href=3D"https://github.com/Davidson-Souza/Floresta" =
style=3D"text-decoration: none;"><span style=3D"font-size: 11pt; =
font-family: Arial, sans-serif; text-decoration: underline; =
text-decoration-skip-ink: none; color: rgb(17, 85, =
204);">https://github.com/Davidson-Souza/Floresta</span></a><span =
style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;">) and I wrote an initial [blogpost](<a =
href=3D"https://blog.dlsouza.lol/2023/07/07/libfloresta.html">https://blog=
.dlsouza.lol/2023/07/07/libfloresta.html</a>) explaining how to use it =
(in Rust). I=E2=80=99ll write more as the project matures, and I get it =
running on other platforms. Any feedback is welcome!</span></div><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><div =
style=3D"margin-top: 0pt; margin-bottom: 0pt; caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; line-height: 1.38;"><span style=3D"font-size: =
11pt; font-family: Arial, sans-serif; text-decoration: none;">## =
Consensus</span></div><div style=3D"margin-top: 0pt; margin-bottom: 0pt; =
caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; line-height: =
1.38;"><span style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;"><br></span></div><div style=3D"margin-top: 0pt; =
margin-bottom: 0pt; caret-color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: 400; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; line-height: 1.38;"><span style=3D"font-size: 11pt; font-family: =
Arial, sans-serif; text-decoration: none;"><span =
class=3D"Apple-tab-span"></span></span><span style=3D"font-size: 11pt; =
font-family: Arial, sans-serif; text-decoration: none;">I know that =
alternative implementations is a spicy subject in Bitcoin land, but this =
project **does not** reimplement the Bitcoin Consensus machine from =
scratch. I=E2=80=99m using `libbitcoinconsenus` and plan to use the full =
`libbitcoinkernel` in the future. While this doesn=E2=80=99t guarantee =
consistency, it minimizes misimplementations leading to =
splits.</span></div><div style=3D"margin-top: 0pt; margin-bottom: 0pt; =
caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; line-height: =
1.38;"><span style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;"><br></span></div><div style=3D"margin-top: 0pt; =
margin-bottom: 0pt; caret-color: rgb(0, 0, 0); font-family: Helvetica; =
font-size: 12px; font-style: normal; font-variant-caps: normal; =
font-weight: 400; letter-spacing: normal; text-align: start; =
text-indent: 0px; text-transform: none; white-space: normal; =
word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: =
none; line-height: 1.38;"><span style=3D"font-size: 11pt; font-family: =
Arial, sans-serif; text-decoration: none;"><span =
class=3D"Apple-tab-span"></span></span><span style=3D"font-size: 11pt; =
font-family: Arial, sans-serif; text-decoration: none;">I=E2=80=99m also =
making an extra effort into cross-test against Bitcoin Core to find any =
inconsistencies before it causes any trouble.</span></div><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><div =
style=3D"margin-top: 0pt; margin-bottom: 0pt; caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; line-height: 1.38;"><span style=3D"font-size: =
11pt; font-family: Arial, sans-serif; text-decoration: none;">## =
Acknowledges</span></div><br style=3D"caret-color: rgb(0, 0, 0); =
font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><div style=3D"margin-top: 0pt; margin-bottom: =
0pt; caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; =
font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; line-height: =
1.38;"><span style=3D"font-size: 11pt; font-family: Arial, sans-serif; =
text-decoration: none;">A special thanks to [Vinteum](<a =
href=3D"https://vinteum.org/">https://vinteum.org/</a>) for supporting =
my work with utreexo and Floresta.</span></div><div style=3D"font-style: =
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;"><br></div><div class=3D"elementToProof" =
style=3D"font-style: normal; font-variant-caps: normal; font-weight: =
400; letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; font-family: =
Calibri, Arial, Helvetica, sans-serif; font-size: 12pt;">Best =
regards,</div><div class=3D"elementToProof" style=3D"font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: normal; =
text-align: start; text-indent: 0px; text-transform: none; white-space: =
normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none; font-family: Calibri, Arial, Helvetica, =
sans-serif; font-size: 12pt;">Davidson Souza.<br></div><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline =
!important;">_______________________________________________</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><span =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none; float: none; =
display: inline !important;">bitcoin-dev mailing list</span><br =
style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: =
12px; font-style: normal; font-variant-caps: normal; font-weight: 400; =
letter-spacing: normal; text-align: start; text-indent: 0px; =
text-transform: none; white-space: normal; word-spacing: 0px; =
-webkit-text-stroke-width: 0px; text-decoration: none;"><a =
href=3D"mailto:bitcoin-dev@lists.linuxfoundation.org" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: 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;">bitcoin-dev@lists.linuxfoundation.org</a><br style=3D"caret-color: =
rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: =
normal; font-variant-caps: normal; font-weight: 400; letter-spacing: =
normal; text-align: start; text-indent: 0px; text-transform: none; =
white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; =
text-decoration: none;"><a =
href=3D"https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev" =
style=3D"font-family: Helvetica; font-size: 12px; font-style: normal; =
font-variant-caps: normal; font-weight: 400; letter-spacing: 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;">https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev</a></=
div></blockquote></div><br></div></div></body></html>=

--Apple-Mail=_B33AA37B-F0B7-4AB3-9C62-DAA0005E8149--