-
Notifications
You must be signed in to change notification settings - Fork 14
Open
Labels
Milestone
Description
Currently, ProTip relies on a centralized API provider for broadcasting transactions and fetching address balances from the blockchain. This presents several problems for users:
- Single point(s) of failure. If the API provider(s) fail, the app stops working.
- API provider(s) can track requests to correlate addresses that users are interested in with their IP addresses.
- API provider(s) could censor the user and lie to them, telling the user their transaction has been accepted when it really hasn't. The API provider(s) could also lie to the user about their balance.
I would like to see a way for the app to pair with a trusted Bitcoin node for broadcasting transactions and fetching address balances from the blockchain.
The @schildbach Bitcoin Wallet offers functionality like this by allowing you to specify a trusted node to connect to via SPV.
!(http://bitseed.org/wp-content/uploads/2015/10/Screenshot_2015-10-25-21-51-31-1.png)
Can a similar mechanism be implemented in ProTip?
Some other related ideas:
- Make sure the connection to the node is authenticated via SSL (bonus points if the connection is also encrypted)
- Use RPC instead of SPV (assuming the user has permission to access the node they are connecting to)
- Give the option to connect to multiple trusted nodes (prevents reliance on a single point of failure)