Bitcoin Forum
December 07, 2016, 11:00:58 AM *
News: To be able to use the next phase of the beta forum software, please ensure that your email address is correct/functional.
 
   Home   Help Search Donate Login Register  
Pages: [1]
  Print  
Author Topic: Bitcoin Express -- an iOS thin client for bitcoin  (Read 4329 times)
fingster
Newbie
*
Offline Offline

Activity: 20



View Profile WWW
July 24, 2011, 04:11:33 PM
 #1

Hi,
I've written a thin client for iPhone, based on the idea of separating a peer node into a 'thin' client and a server. The client runs on an iOS device and doesn't need to download any blocks/headers from bitcoin network. The client just needs to download its transactions from server into its local wallet. NO PRIVATE DATA OF BTC IS SENT TO SERVER.
The client signs on its sending transaction LOCALLY and then sends to server which relays/broadcasts it to bitcoin network. The server pushes transactions to the involved clients (sender and receivers) .

MIT Licensed open source: https://github.com/fingster/BTC-Express
UI partially based on: https://github.com/udibr/bitcoinApp
More Details: http://forum.bitcoin.org/index.php?topic=31362.0
Beta version download: http://www.megaupload.com/?d=9RX93T9V

any suggestion is  welcomed, ;p

Best regards
1481108458
Hero Member
*
Offline Offline

Posts: 1481108458

View Profile Personal Message (Offline)

Ignore
1481108458
Reply with quote  #2

1481108458
Report to moderator
1481108458
Hero Member
*
Offline Offline

Posts: 1481108458

View Profile Personal Message (Offline)

Ignore
1481108458
Reply with quote  #2

1481108458
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
dinox
Full Member
***
Offline Offline

Activity: 126


View Profile
July 24, 2011, 07:45:14 PM
 #2

Great idea, indeed.

Can you put this on Appstore/Cydia?

blockchain.info/fb/1dinox - 1Dinox3mFw8yykpAZXFGEKeH4VX1Mzbcxe
Active trader on #bitcoin-otc - See here - Proof that my nick is dinox here
fingster
Newbie
*
Offline Offline

Activity: 20



View Profile WWW
July 25, 2011, 09:56:58 AM
 #3

submitted to App Store today :-)

samr7
Full Member
***
Offline Offline

Activity: 140

Firstbits: 1samr7


View Profile
July 26, 2011, 01:39:18 PM
 #4

Watching this thread -- this looks really promising!

It must have been quite a job to get the original bitcoin client running on iOS!
EhVedadoOAnonimato
Hero Member
*****
Offline Offline

Activity: 616



View Profile
July 26, 2011, 07:43:45 PM
 #5

Congratulations for your great work!

You say no private data is sent to the server. How can it be? I mean, the client must at least ask the server how much money it has on its addresses, what means the server will know which are your addresses, thus it will know how much money you've got on your wallet and how you spend them. Your "private data" is entirely known by the server.

Or by "private data" you meant only the private keys to the addresses? If that's the case, maybe you should correct your statement to make it clearer?

Thanks.
fingster
Newbie
*
Offline Offline

Activity: 20



View Profile WWW
July 27, 2011, 11:23:55 AM
 #6

Congratulations for your great work!

You say no private data is sent to the server. How can it be? I mean, the client must at least ask the server how much money it has on its addresses, what means the server will know which are your addresses, thus it will know how much money you've got on your wallet and how you spend them. Your "private data" is entirely known by the server.

Or by "private data" you meant only the private keys to the addresses? If that's the case, maybe you should correct your statement to make it clearer?

Thanks.

“the client must at least ask the server how much money it has on its addresses”, correct, but in bitcoin system, the btc addresses are not private data. Every transaction a user made, is seen by all the other peer, including involved addresses and amount of coins and where from/to. Check http://www.blockexplorer.com to see more details.
So, it means that the "private data" you quoted is entirely known by every one in bitcoin network not only the server.
However, that is safe for everyone. Even you known an btc address and track it from the past to the future, you can't tell who is behind the btc address. Bitcoin ensures everyone is anonymous and safe. It's very difficult to know which person owns what amount. See https://en.bitcoin.it/wiki/Introduction , "Anonymity" section.

"private data" here is only referred to the private keys to the addresses.
EhVedadoOAnonimato
Hero Member
*****
Offline Offline

Activity: 616



View Profile
July 28, 2011, 07:47:33 AM
 #7

“the client must at least ask the server how much money it has on its addresses”, correct, but in bitcoin system, the btc addresses are not private data. Every transaction a user made, is seen by all the other peer, including involved addresses and amount of coins and where from/to. Check http://www.blockexplorer.com to see more details.
So, it means that the "private data" you quoted is entirely known by every one in bitcoin network not only the server.

I know how it works, and no, my private data is not entirely known by everyone because you can't know a priori which are all my address. You can't even know whether two particular addresses belong to the same person or not.
In a client server solution like yours, the server can link together all the address of one client wallet. Okay, if it doesn't ask anything more, it will only know the IP of the owner, not his identity. But it adds some risk anyway.
I know it's not a major problem, mainly because people should not put all their wealth in a smartphone, but I'd suggest you not to keep any logs in your server that could link together different addresses, just for precaution. If you keep such logs and they leak, that could be bad, since anyone that has ever done one single transaction with one of your clients could then know every other transaction that this client ever did using your app.
fingster
Newbie
*
Offline Offline

Activity: 20



View Profile WWW
July 28, 2011, 11:01:42 AM
 #8

“the client must at least ask the server how much money it has on its addresses”, correct, but in bitcoin system, the btc addresses are not private data. Every transaction a user made, is seen by all the other peer, including involved addresses and amount of coins and where from/to. Check http://www.blockexplorer.com to see more details.
So, it means that the "private data" you quoted is entirely known by every one in bitcoin network not only the server.

I know how it works, and no, my private data is not entirely known by everyone because you can't know a priori which are all my address. You can't even know whether two particular addresses belong to the same person or not.
In a client server solution like yours, the server can link together all the address of one client wallet. Okay, if it doesn't ask anything more, it will only know the IP of the owner, not his identity. But it adds some risk anyway.
I know it's not a major problem, mainly because people should not put all their wealth in a smartphone, but I'd suggest you not to keep any logs in your server that could link together different addresses, just for precaution. If you keep such logs and they leak, that could be bad, since anyone that has ever done one single transaction with one of your clients could then know every other transaction that this client ever did using your app.

Right. I understand what you worry about.
There are NO such logs keeping relations between addresses and clients or wallets. And even the bitcoin original logs are scheduled to be deleted from disk ( to reduce storage charges of vps ). The btc logs grow quickly at a speed of nearly 120MB/day. In fact, we can't afford that storage charge in a long run.
Kris
Donator
Hero Member
*
Offline Offline

Activity: 645


View Profile
August 14, 2011, 01:29:17 PM
 #9

Are you using json-rpc calls to talk with the server? and if so can it talk with a remote bitcoind?

If this is the case it would be perfect for my iPhone, since I already have an json-rpc interface for WalletBit for it to interface with!

Kind regards
Kris
fingster
Newbie
*
Offline Offline

Activity: 20



View Profile WWW
August 21, 2011, 02:06:23 PM
 #10

Are you using json-rpc calls to talk with the server? and if so can it talk with a remote bitcoind?

If this is the case it would be perfect for my iPhone, since I already have an json-rpc interface for WalletBit for it to interface with!

Kind regards
Kris
First, btc express talks with the server by extending bitcoin Protocol specification, not json-rpc calls.
Second, btc express disables json-rpc calls to a remote bitcoind daemon for security considerations. There will be a configuration for users to re-enable remote json-rpc functions at their own risks in future.
Of course, you can add your json-rpc interface to btc express by modifying the open source code, see https://github.com/fingster/BTC-Express
Pages: [1]
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!