After having a discussion about bitcoin PoS and debit card here (
https://bitcointalksearch.org/topic/bitcoin-smartcard-point-of-sale-terminal-7539), the conclusion was that the smart card route it's probably not the best idea. Payment with smart device (smartphone, pda) is preferable and less hassle for everyone. There was a mention of sites like mybitcoin to arbitrate payments. Having one site means centralization, which is kinda against bitcoin philosophy. So here's a list of ideas in that regard.
- There should be a public RFC spec for the online wallet site
- Anyone should be able to deploy such site online, in case that person has reservations about other such sites out there, aka open source reference design
- There should be a common API for sending transactions to such site, authorizing the site to perform a money transfer
The way I see it is something like this (from Point of Sale perspective):
SetupYou'd find a site that agrees to keep a certain bitcoin balance on your behalf. You supply the site with your GPG public key. You have the private key on your mobile device.
SaleWhen merchant presents you with the total for your transaction and receiving address in some machine readable form, like a QR code or Aztec code, your device would scan it, display the total on your screen and present you with a prompt to agree with the transaction. Once you do that, it would prepare a data packet to the aforementioned spec, authorizing the site to transfer amount X into the address Y. (Ref:
https://bitcointalksearch.org/topic/--5171). The packet will include the API endpoint for the wallet site of your choice. It will then encrypt and sign it with your private key and generate another machine readable data packet for the merchant to scan. Once he scans it, the packet would be submitted to the site, and upon successful decryption the funds could be transferred to the merchant's account. And the sale would be concluded.
Best part about it - they don't even need the hardware terminal for processing. A simple app would do, all it needs is a total and an address.
And your mobile device
does not need internet access for this to work. Which can make it rather simple. Even a palm pilot would be able to do that
Thoughts?