Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pair ProTip with a trusted Bitcoin node #7

Open
john-light opened this issue Nov 30, 2015 · 1 comment
Open

Pair ProTip with a trusted Bitcoin node #7

john-light opened this issue Nov 30, 2015 · 1 comment
Labels
Milestone

Comments

@john-light
Copy link

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)
@Leo-ajc
Copy link
Collaborator

Leo-ajc commented Dec 21, 2015

Hi John,

Sorry for the massive delay in responding to your questions. I have been looking for work this last month and I haven't got around to giving your issue the proper response it deserves.

You are completely correct. ProTip relies on a centralized API provider with all the issues associated with this design choice. We do plan on making ProTip randomly selected a different API for each payment. This in no way addresses your points, but may alleviate some issues while being relatively easy to implement.

ProTip was designed for the non-Bitcoin user. We were in part funded because our goal was to encourage the wider adoption of the awesome Bitcoin technology, beyond the tradition Bitcoin community. Appealing to the non-technical user will always results in trade offs. We will consider adding a feature to allow you to specify a trusted node for the more technical users.

Thank you for your input John, you make perfectly all valid points. I am looking forward to making ProTip better for the more technically adept users.

@bnvk bnvk added this to the New Horizon milestone Mar 5, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants