This is an idea for a practical way to create a physical cash-like form of BTC, I will call a token.
The requirements for making a BTC token are 1) a way for a holder to prove it's real and 2) a way for a holder to get the BTC by themselves... beyond that, it needs to be a physical medium of exchange that can be entirely conveyed just by passing it to another person.
I propose this idea.
1 - BTC can be loaded on a pre-denominated smart card. Have a peek at
http://www.basiccard.com. You can buy fully programmable smart cards for as little as $1. Suppose I bought their kit and "made" a 50 BTC card (simply by printing 50 [Bitcoin logo] artwork on it)
2 - People would treat the smart card just like a 50 BTC bill, like cash. It could be traded around for years, just like a 50 dollar bill. The smart card contains the private key for a Bitcoin address holding 50 BTC, and an on-board application for keeping that private key secure.
3 - Anyone wanting to check the validity of the BTC on the smart card could stick the smart card into a reader. The smart card would cough up the bitcoin address, public key, and sign a nonce (provided by the reader) to prove that the private key was on the card, to avoid divulging it. The open source program on the reader would verify against the block chain to ensure 50 BTC was really at the address claimed on the card. This function would be similar to using a "counterfeit detection pen" on FRN's.
4 - Anyone wanting to "cash out" the BTC on the card could do it, though this function would be a last resort as the card would no longer be usable. The smart card application would have a mode that forces it to cough up the private key. Once the private key were coughed up, the card would permanently report that the private key was divulged during future validity checks, so they would fail for that reason.
5 - Can the smart card generate its own keypair? I happen to own a USB crypto stick (for Adobe CDS) that, by design, produces its own RSA keypair in hardware. It's damn slow, but it works, and they've made it this way just to be very sure I can't physically get my own private key, so that usage of private key essentially proves physical possession of the device. The device itself does all the signing, I must plug it in to sign a document. I guess a smart card is really just a small processor. A card that was able to generate its own keypair could theoretically be reloaded, because it could internally generate itself a brand new Bitcoin address that was known to no one else, to which somebody could send the 50 BTC back to.
For curiosity's sake, this is a link to the physical device I own:
http://www.cyprotect.com/e/main0105.php (mine is identical other than mine doesn't say SafeNet on it)... it looks like a thumb drive, but it definitely is not. Windows sees this as a smart card reader that happens to have a smart card in it (as though it were removable) - so physically, it's probably just a reader with the smart card soldered in place. Whatever this can do, probably so can a smart card.
Ideas? Any obvious flaws?