Bitcoin Forum
May 07, 2024, 08:17:31 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
  Home Help Search Login Register More  
  Show Posts
Pages: « 1 [2]
21  Bitcoin / Development & Technical Discussion / Suggestion: in-store-transactions on: March 13, 2011, 02:46:45 PM
I got a suggestion for a bitcoin in-store-transactions. The only changes that are required are support for smart cards in bitcoin client, and the possible to do PKCS#12 smart card cryptography and then send out the result of this on the bitcoin network.

This could work in this way:

You have 2 bitcoin adresses.
One, we can call "primary" and the second one "card" adress.

The "card" adress has its private and public keys stored on a smartcard, along with its wallet.dat (wallet.dat needs some compression/formatting to fit a smart card?).
The private key is stored on the smart card in a way that makes its extraction impossible, eg you can only "use" the key on the card, not see it or extract it.

The "card" adress also has everything, private, public and wallet backuped on the same PC as the "primary".

-----

What you do, is to send coins from your primary to your card adress, and then Bitcoin needs a function to transfer the actual coin files to the smart card.

You go to a store and should purchase a package of milk. Then you insert your bitcoin card into the store's reader that is connected to their cash system with a bitcoin client. If its PIN protected, you have to enter your PIN to unlock your smartcard.

Then the Store's bitcoin client calculates the signature on your coins using the smart card's PKCS#12 RSA functions, and then send out a transaction on the bitcoin network cointaining the purchase amount. The store waits until they get some confirmations, and then lets you leave with the milk.

The important is that the store cannot read or see the private key in any way, since then they would be able to "rob" you after you have left with your smartcard.


Blocking of a lost smartcard, is achieved by having the 2 adresses. Since you have a backup of the "card" wallet in your PC, the only thing that needs to be done, is to move all coins left (unspent) on the "card" adress to the "primary" adress, and then the card has 0 coins on it and is unuseable.


This would make a decentralized "card" system like mastercard/visa but completely decentralized.
To make this work, the bitcoin must support smart card readers, and have a possible to have API so when a smartcard is inserted you can do transactions from/to this smart card. The API could be used by everything, like "self checkout lanes", to vending machines, to stores who want to connect it with their regular cashregister system.
The bitcoin client could also have a interface to interact with a smart card and reader, so when you insert a smart card in a connected reader which contans a bitcoin wallet, there could be options to debit or credit the smart card. This would be good for small entities or indiviuals who want to do some affairs IRL with somone.


The good thing is that the system is robbery safe, not even the clerks cannot steal cash from the store since if the store does it right, they have a server in a unaccessible location which have all bitcoins. Since the bitcoin client in the cash computer only does a transaction from the "card" adress using the private key on the smart card, the only thing the clerk have "access" to is a specific smart card.
To prevent from night robberies, the store only needs to "truecrypt" the main server/wallet and a store manager has to enter the password everytime the store opens on the day.
Pages: « 1 [2]
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!