Bitcoin Forum

Bitcoin => Project Development => Topic started by: cloudhead on January 23, 2021, 07:50:07 PM



Title: Nakamoto: A new Bitcoin light-client in Rust
Post by: cloudhead on January 23, 2021, 07:50:07 PM
Hey all, I'm new here. I thought some of you would be interested in a new Bitcoin light-client I've been developing over the last six months. It's focused on low resource utilization and privacy, and written in Rust.

More details here: https://cloudhead.io/nakamoto/ (https://cloudhead.io/nakamoto/), code here: https://github.com/cloudhead/nakamoto (https://github.com/cloudhead/nakamoto).

Happy to answer any questions.

Thanks!


Title: Re: Nakamoto: A new Bitcoin light-client in Rust
Post by: Vod on January 23, 2021, 07:54:41 PM
Happy to answer any questions.

Since you are new here, what community did you call home when you were building it?


Title: Re: Nakamoto: A new Bitcoin light-client in Rust
Post by: cloudhead on January 23, 2021, 08:02:40 PM
Good question - the main place I've been hanging out is the #rust-bitcoin channel on freenode. There are a few core devs there who are working on rust-lightning, however it's pretty quiet. I'm yet to find a place I'd call home.


Title: Re: Nakamoto: A new Bitcoin light-client in Rust
Post by: cloudhead on January 24, 2021, 12:53:12 PM
1. Since your client focus on privacy, do you have any plan to support proxy/Tor/VPN?
2. For python library, sometimes i see minimum required Python version to use the library, how about your own library?

1. Yeah, Tor support is something I would really like to have, but haven't had the time to look into yet. I'm also looking to integrate BIP 151 (p2p-layer encryption) as soon as it makes its way into Core.
2. The minimum rust version required is 1.47, if that's what you're asking.


Title: Re: Nakamoto: A new Bitcoin light-client in Rust
Post by: Maus0728 on January 24, 2021, 01:49:18 PM
Hey all, I'm new here. I thought some of you would be interested in a new Bitcoin light-client I've been developing over the last six months. It's focused on low resource utilization and privacy, and written in Rust.

More details here: https://cloudhead.io/nakamoto/ (https://cloudhead.io/nakamoto/), code here: https://github.com/cloudhead/nakamoto (https://github.com/cloudhead/nakamoto).

Just had a little confusion with the privacy part, (correct me if I'm wrong as I don't really interact with the Bitcoin Core) wouldn't that affect the overall idea of the client? I mean it is meant to be that private enough where only certain info from the client are public, is there a flaw nor a weak idea with that?

Cool thing that you've managed to integrate it with Rust, and I guess ETFbitcoin is pertaining on what Python version (2 or 3 and its specific releases) as some clients are using Python, in which way different with Rust.


Title: Re: Nakamoto: A new Bitcoin light-client in Rust
Post by: cloudhead on January 24, 2021, 04:14:15 PM
Could you elaborate on what you mean when you say privacy could affect the idea of the client?

The main privacy problem around light clients is: how do you get the client to query the network without revealing exactly what it's interested in? Eg. how do I get transaction information without revealing which are my transactions?

This is the idea behind BIP 157*, which is implemented in Nakamoto. See https://en.bitcoin.it/wiki/BIP37_privacy_problems for issues around BIP37, which is implemented by some other light-clients (eg. bitcoinJ, Bread wallet..)

* BIP 157: https://github.com/bitcoin/bips/blob/master/bip-0157.mediawiki