Proposal for a decentralized and open online payment protocol
by Ploum on 2011-06-29
During the year 2005-2006, I became a decentralization whore. I realized that, with XMPP, nearly anything could be decentralized. With one exception: online payment. Paypal was highly successful but also highly centralized. Was it possible to build a decentralized version of Paypal? I came with a solution which involved web of trust and shared debts around a virtual currency, which is more or less a kind of solution that the Ripple project is exploring. I thought that it was too impractical and not really appealing. I forgot that solution and the problem stayed in some obscure part of my brain.
Then I discovered Bitcoin. And I realized that my mistake was to consider the value of my virtual money as granted and as linked with a fiat currency. Bitcoin was the decentralized Paypal, someone did it!
Now, after a few months using Bitcoin, I’m not so sure anymore. Bitcoin suffers from to many problems, which are all usability related. In short, it was conceived by a geek.
Can I pay you this dollar with some carots?
First of all, it is impossible to grasp the concept of bitcoin easily. When I see comments on my posts about bitcoins, I realize that most people simply don’t understand what it is. It is way too abstract. It is also a pain to use: you cannot send a message with your payment, you have to copy/paste long strings of random characters. I don’t even talk about accepting bitcoins in a real-life situation: both parties should have a laptop with them and do all the operations on the fly while waiting for the network to send confirmations.
Because usability is poor, security is bad. People don’t understand what they are doing and have their bitcoins stolen by malwares and viruses. Not to mention people losing bitcoins by sending them at a bad address or crashing their hard drive. Not to mention the fact that buying bitcoins is complex. You have to find your way through the jungle of bitcoin exchanges like TradeHill, Bitcoin7 or bitmarket while listenning to horror stories about MtGox.
Bitcoins users are happy, indeed, but they live on an island. Bitcoin is not the decentralized Paypal I was hoping for. But could we use Bitcoin to build a decentralized transaction solution?
Yes. Definitely. I called that « Bitcoin banks », although the term might be inappropriate. In the following paper, I describe how a « Bitcoin bank » should work, allowing to send money directly to your mail address thanks to Webfinger (something I already discussed before).
In the shorter term, implementing such a bitcoin bank would mean solving most usability concerns. It will allow people to accept bitcoins without the risk of losing value and put all the security efforts on a professional service, not on the end user. As a nice bonus, it could effortlessly decentralize the exchange market. It also has many other scary implications and I’m probably missing most of them. Yes, it might completely change our society, making the banks a simple useful services without the power they currently have.
So, please read and give me your opinion. If you are willing to implement such a service, don’t hesitate to contact me. This could really be the next big thing. I also hope that it would appeal to people behind OpenTransactions or Flexicoin. It might even be compatible with Bitcoin’s alternatives like Open UDC.
Description of a Bitcoin Banking system (PDF – 75ko)
I plan to release the document under a simple CC By license after some more work. In the mean time, donations are appreciated at 15SCCTDK9xcZyKFWXsPRXYS9s1m3Mikcxs.
Picture credit: las – initially and Jonas Hansel