photon-sdk / photon-lib

A high level library for building bitcoin wallets with react native
https://docs.photonsdk.org
MIT License
53 stars 12 forks source link

Network Level Privacy: Onion route traffic between client, keyserver and other services #27

Open johnsBeharry opened 3 years ago

johnsBeharry commented 3 years ago

Rationale

photon-lib communicates with a keyserver, and the applications built from it could likely also have connections to nodes and third party services. Communicating over clearnet with these services would allow them to build quite a robust profile of someone from the leaked meta data.

Methods

To help application developers preserve their users privacy on the network level, having a Tor interface added to the library could provide an easy way of doing so.

There has recently been the creation of a react-native-tor library which BlueWallet is also implementing https://github.com/BlueWallet/BlueWallet/pull/2295

Notes

One by product of implementing Tor that I am also interested in is the availability to setting up hidden services on the device that can be used for wallet to wallet communications. It's something I have been looking into for the exchange of output descriptors, invoices and other arbitrary messages for coordination.

For the sake of this proposal, I will scope the discussion around the privacy leaks on the network level, and if this is this gets implemented we can then discuss such exotic use cases.

Bosch-0 commented 3 years ago

Zeus also utilizes the react-native-tor library currently if you're looking for it used in the wild

BitcoinZavior commented 2 years ago

@johnsBeharry does the "wallet to wallet communication" require any central server to route messages? Is this available to use? It could be a great addition to photon as well to other bitcoin applications. How does it compare to lightning node to node communication using Sphinx?