Author

Topic: wallets, phones, and portable transactions (Read 729 times)

full member
Activity: 125
Merit: 100
November 15, 2012, 10:09:52 PM
#2
What you are describing is basically a hardware wallet except running on a phone instead of custom hardware.  See https://bitcointalksearch.org/topic/eshop-launched-trezor-bitcoin-hardware-wallet-122438 for the discussion on the protocol and vendor software needed.
legendary
Activity: 1540
Merit: 1001
November 15, 2012, 09:32:55 PM
#1
First of all, I don't fully understand how bitcoin and transactions work.  I suspect I know enough to be dangerous, and that's it.  That said...

I think the wallet is based on public and private key cryptography.  What I think that means is if you have the private key, theoretically you can access your entire "balance" on that key from any wallet, once you tell the client to scan for that key.  Correct?

Where I'm going with this is an article I read about how to get bitcoin to grow - we need to have a place/way for anyone to easily and conveniently use btc to exchange for other goods.  For this to be successful, it would have to completely decentralized, otherwise it would be subject to attack when certain powers consider bitcoin to be a threat to them.

That led to my next thought.  Most people of cell phones.  Some more than one.  If there was an app on the phone that could be used to secure your private key, say unlockable only with your finger print and a pin or something, then that takes the work off the user and puts it onto the vendor (use something like NFC to communicate between the phone and the vendor's device).  Note that the user would treat this app and phone the same way you'd treat your physical wallet that carries fiat money in it, or your MAC card to access your electronic fiat money: 1) you'd only have in this bitcoin wallet the btc you consider safe to carry 2) like a MAC card, the user could define from their PC (not the phone) limits, say no more than X BTC a transaction, or X BTC or a day, or even only on certain vendors.

To keep the transaction timely, the vendor would have be able to determine quickly if the said transaction is valid or not, ie, your balance is high enough for the transaction, doesn't exceed user defined limits, and so forth.  I don't think that'll work with today's wallet, as it'd take time to scan the blockchain to determine what the true current balance is.

That means there would have to be an additional app the vendor runs, along with the standard client, that basically knows at every given instance what balance every public key has.  Yes, the initial scan would take a while, but once it caught up, I think it'd be little difference from the standard bitcoin client today. 

Therefore the scenario is..

- user unlocks a private key on their cell phone with their fingerprint(s) and/or PIN
- user's cell phone has a brief conversation via NFC with the vendor's device
- the vendor's device says "payment due for x BTC" including transaction fee
- the cell phone prompts the user for agreement
- user agrees
- the cell phone conveys a message to the device that indicates this transaction is authorized without conveying the private key (can't disclose the key), and this message can only be used once
- the vendor's device uses that encrypted message to determine if the said wallet has the correct balance for this payment, and is permitted based on user's rules
- if it is, the transaction is sent onto the bitcoin network

I'm sure this idea is full of holes, but I'm throwing it out here to see if it has merit and can go anywhere.  Feel free to tell me to RTFM or to not reply at all.

Regards,

M
Jump to: