Ok let me put you in the context: I'm two-days old with Bitcoin and that's mainly because it is raining the past two days . Sorry for any incoherence I could write.
That said, I found it amaizing and so like most people do with new things, I try to use it applied to my world ; the RFID / NFC world.
I didn't found projects matching my needs to use RFID cards as I would use $ bills. Current physical coins have serious drawbacks like being expensive, proprietary, one-use only ... I listed them bellow.
It's why I wrote this Duckcoin page for a reflexion on the subjet. It's not a new amazing technical concept but more a process, even if I started a little application to go deeper on the subject.
Coin coin ?!
Basically it's a way to use Bitcoin cold storage ; here with RFID / NFC tags and USB keys.
Why?
The concept is quite simple and based on use patterns with real currency. In today world your money is likely to take own of these workflow to go away:
Transfer from virtual (your bank account) to virtual (marchant bank accout / paypal account …)
Transfer from virtual (your bank account) to physical (real coin)
Transfer from physical (real coin) to physical (real coin)
We use one way to another depending the kind of transaction excepted based on parameters like trust and privacy.
Bitcoin solve greatly the first case but there is no widely adopted solutions for the others. Currently, cold storage is reduced to a bank deposit analogy whereas it is also a perfect tool for physical Bitcoin exchange. With cold storage, you can put fixed value to an electronic object and start using it like real coin. Few projects aim to use Bitcoin cold storage as real coin:
- Paper wallets: cannot be trusted as the buyer could theorically still spent it because he knews the private key. Would require reprinting after each use (not convenient).
- Tamper-resistant paper wallets: designed to be one-use only (gift cards …). I like the idea where the private key is protected using tampering protection. But it also means once cashed to your wallet you cannot reuse the coin and require proprietary hardware.
- Bitbills: like Tamper-resistant paper wallets but on cards.
- Casascius: fun tamper-resistant silver coin for BTC . Seems to be hacked in August 2013.
- Firmcoin: good Casascius alternative. More open and easy to use, you can refund the coin yourself but still requires specific licensed hardware. Not available yet (September 2013).
- Bitcoincard, BTChip …: are not cold storage but hardware wallet. Not available yet (September 2013).
Duckcoin focus on this using low-cost RFID cards and USB keys as R/W cold storage. It's a PoC on cold storage exchange pointing out that you don't need specific hardware and the stored data format requires specification.
With Duckcoin trade you get:
- Trust: it's cold storage. Once generated your storage has its BTC value and no more. If you lost it or get it stolen, you only lost the associated stored value. Duckcoin doesn't have “coin producer” trust issue.
- Privacy: coins are exchanged between individuals without being related to their wallets. The only relations with individuals wallets are at coin birth (issuance) and death (collect / destroy).
- Low-cost: Duckcoin is nothing more than a way to use Bitcoin with R/W device. You can theorically use any cheap R/W device for that purpose.
- Decentralized: using p2p cryptocurrency at backend and having to buy physical coins on a central place because of hardware specificities and pattents is kind… well… limited. YOU create the coin, there is no mandatory third party.
How it (should) works?
Simple. Cold storage is recreated at each use without changing it's BTC value, and even if the coin is just checked.
How are coins created?
With your computer / smartphone to the excepted devices like rfid cards and usb keys.
How is the coin value and integrity verified?
Like always, using Bitcoin address. But because Duckcoins can be altered by previous owner, public/private keys integrity are also checked.
Does that means private key are retrieved from cold storage even for balance check action? That insane, how do you solve double-spend issues?!
Yes, but it's not insane. Each time private key is retrieved, cold storage is regenerated with new public/private keys and the total BTC balance transfered to the new cold storage. The keypair is temporary.
What if I change Duckcoin checker software to retrieve private key without regenerating a new cold storage?
If you do that you know the coin private key and can remotely spend its associated Bitcoin money. But as soon you will try to use the coin with a merchant, it will be autoregulated: coin with lower value than exepted will not be accepted by the merchant or the marchant will disable your access by recreating the cold storage during coin check.
In fact by removing Duckcoin cold storage regeneration you are the only one at risk. Security is on the process, not on storage devices.
What if a dishonest merchant doesn't publish the transaction corresponding to ballance transfer between old and new cold storage?
When he will try to use the coin himself with another merchant, the honest merchant will refuse the coin because its value would be 0 BTC.
Work in progress
- How to handle transaction fees efficiently?
What do you think? Did I miss something like the newbie I am ?
With fun,