Warning: Long post ahead. Please excuse any grammar errors or misused terms, english is not my native language.
I have been thinking of this for some time, and I believe the time is right to bring it to the public discussion table. The intended audience is Bitcoin *and* fiat currency investors. This is probably going to be a high risk, medium size investment (and by medium I don't mean 10 BTC, like some might believe, but 1000 BTC / 3-5000 USD/EUR). This is also not going to be a get rich quick, 3 months ROI business. It's also not going to be anonymous or concentrate power into the hands of 1-2 guys. It doesn't have anything to do with mining or alternatives to Bitcoin. Sorry.
Now, that 90% of the readers just moved to another topic, let's get to it.
I don't believe Bitcoin will replace fiat currencies in the next 10 years. It might not do it in our life time, even. I do believe that Bitcoin solved a few major problem we have with the banking system: speed, reliability, costs. So let's take what Bitcoin won't do and what it already does and make a service out of it: International cash transfers.
Let's imagine a few scenarios:
Scenario 1. Your 16 year old son is on vacation somewhere in Europe. He's going to visit the nice castles and visit with some friends. Except he's not. He got to that country, but he's actually going to drink for 2 days and call you when he lost his wallet with his cards and cash. He doesn't have a place to stay, what to eat, and it's a saturday!
Your son suggests to send him some stuff called "Bitcoins" than only exist on the Internet and on computers. He says he can buy food (and drinks, your intuition says) with them, and also find a place to live, until he can get his passport back so he can return to his next 5 years of being grounded.
You're not good at computers, but he tells you to go to a specific address (just 3 miles away!) and use a ATM-like machine (it has BitTransfer written all over it). You insert some cash, enter his Bitcoin address and go home. 60 minutes later you son calls you to say he's now fed and on his way to a hostel. You sleep well.
Scenario 2. You're a successful GLBSE investor and your Bitcoin wallet has a lot of coins in it. You check out the exchange rate and it's now 25 USD/BTC. You feel good. You also think about your granny, who now lives alone and her pension fund (read: Ponzi scheme) is not doing as well as your Bitcoin investments. You decide to send her a little help.
You start your browser, open the BitTransfer (TM
) website and fill a little form. You send some BTC to the address on the screen and you know that in a few hours the USD equivalent will be transferred to your granny's debit card. You call her and tell her you love her.
Scenario 3. Bill couldn't find decent work in his country so he decided to work for a few years in another country. It's hard work, but he makes 3-4 times the average wage in his country. His wife and kids miss him, but they understand that this is necessary. All he can do for them, except video-chat daily, is to send them most of his paycheck. At least they can live a decent life now.
He gets paid cash, he goes to the nearest WU and sends the money home. His wife then goes out to her local WU and gets local currency. Every time he does that, he thinks that the 40-50 Euros in fees could buy a new pair of winter boots for his son. Oh well, he'll have to use the ones he has, even if they don't fit that well anymore.
Today is different, he just found out about BitTransfer from a colleague. He gets his salary and goes to a BitTransfer office down town. He gives out his money to the clerk and receives a code. They even send the same code by SMS to his wife's cell phone, including the address of the nearest BitTransfer office in her town. Just 20 minutes later she calls him on the phone. She's happy - she received more money than usual. She tells Bill not to call her at home in the next few hours - she'll be out to buy their oldest son a new pair of winter boots.
Ok, that was dramatic on purpose. But these scenarios are all real, and I'm sure you had one or another happen to you or your friends. If you want to send small amounts of cash from one part of the world to another it's going to be slow, painful or expensive. Or, most common, all of the above.
Well, not if we can do something about it.
I'm thinking of a network of nodes that will act more or less like a WU office. The nodes can be real offices with clerks, ATM machines or automatic systems linked to bank accounts and Bitcoin addresses.
A node will accept these from a customer: fiat currency (at least local, but major foreign currencies might also be accepted), Bitcoins and redeem codes. I'll talk about Scenario 3 from above, because it's the most complicated and also I believe it's going to be the most common. I imagine a process like this:
* The node maintains some Bitcoin and fiat currency ballances. How many of each will depend based on real world usage. Some nodes might be used more for sending money, so they don't need to have a lot of fiat cash, others, on the contrary, will be used to get cash so they need to have more fiat cash available.
* The customer walks in with cash and asks to send money to a specific area (city).
* The node clerk reserves a BitTransfer redeem code and sends the appropriate amount of Bitcoins to "the network" (more about this later), after subtracting his comission (and local expenses, if that's the case).
* The clerk takes the money from the customer and gives him the redeem code. Also, if needed, he informs the customer on the nodes in destination town, sends the code by email or sms and so on.
In another part of the world, this happens:
* The customer walks in and provides the clerk with a redeem code.
* The clerk checks that the code is valid and gives the client his money, after substracting his comission (and local expenses, if that's the case) (the network comission was already substracted by the network).
* The redeem code is invalidated by the network and the corresponding Bitcoin transfer is sent to the paying node.
Now on to the more technical part:
I believe that we should do our best to make sure that we are running a legit business, while at the same time making the network resistent to legal threats (it's safe to assume that one time or another someone will want to take us down) and bad nodes.
So the network should run on servers distributed throughout the world. The servers should be operated by a company opened in a safe part of the world. Anonymous company in Seychelles or the likes seems like a good idea.
Server side, I know enough about security to understand that we can't secure everything, but having the servers check on each other and using strong cryptography is common sense. Fortunately, because nodes only exchange Bitcoins with the network, we don't need to store a lot of data on the network itself. We can use pre-generated green addresses and (maybe) keep the wallets offline.
Nodes should not be trusted by default either. One can easily imagine a scenario where a rogue node asks a redeem code from the network, but doesn't give that cash to the customer and lies to him (code not valid, network is down, please come back tomorrow, etc). Or a scenario where he accepts cash from a customer but doesn't register the operation on the network and makes up a redeem code.
Some of these risks can de covered by first getting Bitcoins from the node and only then providing the redeem code; by not sending the Bitcoins to the node until we have some sort of confirmation that he paid the cash to the customer (ideas on how to do this?). A security deposit is another idea - a sum that will be stored by the network and used "just in case". We might even impose a limit on the amount of operations that a node can do in the first few months, based on the security deposit. And of course, there will be a need for signed contracts and real IDs.
The most important business/process problem will probably be making sure that a node has enough cash or Bitcoins so it can correctly process payments. Let's say that if a node doesn't have enough Bitcoins it can refuse to take cash from customers, but if a node doesn't have enough fiat cash and a customer wants to cash in a redeem code, that would be pretty bad. I don't have any fail-proof idea for this yet, except impose limits and pre-shedule payments.
A note on anonimity: I said that nodes will not be anonymous - this is to guarantee that they operate a legit business and don't easily run away with customer money. I also said that the network should be operated semi-anonymously, to protect if from take downs.
There is, however, no reason not to make sure the customers are anonymous (or as anonymous as legally possible). If I don't need to show my ID when I'm buying a cofee, I see no reason to ask for personal data when someone buys a redeem code from BitTransfer.
I am certain that in most jurisdictions individual nodes can figure out a way to sell and buy the redeem codes in such a way that they operate legally while protecting customers' identities.
Next, the business part. I mentioned in my long story 3 comissions: the two nodes and the network. Local fees will also be substrated, if necessary (for example, a customer who wants to cash in a redeem code via local bank transfer will receive a little less, as the node needs to pay the bank for that).
The network's fee should be fixed independent of the amount transferred. For the end nodes, that's probably not a good idea - a node will preffer not to "block" his money with a large transfer - for the same amount of money he could make more if he gets more smaller transfers. So a percentage based on the sum seems like the correct solution for that.
I didn't do any real simulations on these, but 0.4 BTC network fee and 0.3 BTC + 0.25% of the sum for each end node seems fine for me. That makes a total of 1 BTC + 0.5% from sender to recipient. If Bitcoin exchange rate goes up, the fees should go down as well, of course.
For 100 USD (@3.2 BTC/USD), that would be 3.7 USD fee, recipient gets 96.3 USD. For 500 EUR (@2.5 BTC/EUR), that would be 5 EUR fee, recipient gets 495 EUR. Compare it to this: http://www.westernunion.ro/WUCOMWEB/staticMid.do?method=load&pagename=mtOBFees
Did anyone actually make it here? Did you read everything or just scrolled down?
I'd love to know what you think. As you can see, this project is too big for a single company, we need to be at least a few tens local agents to make it succeed. This is why I wrote such a lengthy post - I can't do it alone, I need your help.
If you believe this can work, join me and let's make it happen!