Return-Path: Received: from smtp2.osuosl.org (smtp2.osuosl.org [140.211.166.133]) by lists.linuxfoundation.org (Postfix) with ESMTP id C1333C0032 for ; 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 ; 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 ; 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 ; 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: To: Davidson Souza , Bitcoin Protocol Discussion In-Reply-To: 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 List-Unsubscribe: , List-Archive: List-Post: List-Help: List-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 = 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 = > 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
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 = :

Hi, list. My name is Davidson, and I=E2=80=99m = thrilled to share `libfloresta` with the Bitcoin devs mailing = list!

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. 

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.

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.

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!

## = Consensus

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.

I=E2=80=99m also = making an extra effort into cross-test against Bitcoin Core to find any = inconsistencies before it causes any trouble.

## = Acknowledges

A special thanks to [Vinteum](https://vinteum.org/) for supporting = my work with utreexo and Floresta.

Best = regards,
Davidson Souza.
_______________________________________________
bitcoin-dev mailing list
bitcoin-dev@lists.linuxfoundation.org
https://lists.linuxfoundation.org/mailman/listinfo/bitcoin-dev

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