At this point, we can write off Bitcoin as a failed experiment. It's worth thinking about how a different distributed digital currency might be made workable. A few problems which have to be solved:
- Mutual mistrust between buyer and seller needs to be supported. This is the toughest problem. Right now, sending Bitcoins is not tied to receiving something in return, and is irrevocable.
- The double-spending check system has to be as least as fast as normal credit card processing. Waiting minutes for the block chain to update is unacceptable.
- Some price stability is needed. Value shouldn't change more than 1% per week, worst case. 1% per month would be better.
- A better way of launching the currency needs to be developed.
There's an approach to mutual mistrust that might work. First, as with credit cards, there's a need for an "authorize" and a "capture" stage. In the "authorize" stage, A indicates that they intend to send value to B. This locks up the value from other use by A, and B receives a reliable confirmation that A has that value. In the "capture" stage, the value is actually transferred to B. A has to authorize the "capture".
That's the normal case. The hard cases might work as follows:
- If A does an "authorize", and then does nothing, a "capture" automatically takes place after some number of days. So sellers don't have to nag buyers.
- If B cancels the capture, that's an agreed cancellation of the transaction, and the value becomes available to A again.
- If A does an "authorize" and later cancels before a "capture", the value becomes available to them again after some number of days. This is the tough case, and it puts B at risk of the buyer backing out after shipment of the product. To discourage backing out, when A does this, they are no longer anonymous to B, and B can publicize the cancellation, which affects A's reputation. Also, because cancellations aren't immediate, A's value is tied up for days, so they can't do this too often.
Discuss.