Saturday, June 11, 2011

Bitcoin: Resilient Internet Payment

I blogged six months ago about why Bitcoin matters. Since that time, I've developed some services with Bitcoin and had two of them shutdown by PayPal freezing my account. I've also sold thousands of dollars worth of Bitcoins in cash sales on the street. I've come to the conclusion that my earlier statement about Bitcoin being "resilient in the face of disaster" may be Bitcoin's most important attribute.

Features

Bitcoin has seven main features. Critics usually choose one feature, argue that it doesn't hold and conclude that Bitcoin will fail. I think any three of these features could fail simultaneously and the currency would still succeed. Consider it an architectural margin of safety. The seven features are:
  1. Predictable supply
  2. Anonymous payments
  3. Permanent payments
  4. Fast payments
  5. Low transaction fees
  6. Easy cross-border transfers
  7. All purchases allowed
Most of these features are well documented elsewhere so I won't explain them further. Fast payments (#4) may need some clarification. When I accept a credit card payment, it clears in a couple seconds. That corresponds exactly to a Bitcoin transaction arriving. After 180 days the credit card payment is essentially permanent. For Bitcoin, permanence takes about 1 hour. In that sense, Bitcoin is faster than credit card networks.

Investors

The Bitcoin investors I've worked with care almost entirely about the limited, predictable supply. Some of them are gold bugs or real estate mavens. They've gotten rich on the limited supply of those commodities and see similar opportunities with Bitcoin. Nearly ever feature except the inflation caps could fail and they'd still be happy. A deflationary spiral is their dream come true.

As this demographic holds greater Bitcoin wealth, anonymous payments and easy cross-border transfers will become more important. Bitcoin has potential to become the Swiss numbered account of the future.

Online Retailers

For businesses selling goods and services online, predictable supply is arguably irrelevant. As long as there's no hyperinflation, they'll do fine. However, they care deeply about features 3-6. Fraud and payment processing fees are substantial costs to their business. I know of at least one Bitcoin vendor who offers a 5% discount for Bitcoin purchases because Bitcoin eliminates those two transaction costs.

I've bought and sold services with Bitcoin dozens of times with people outside the United States. In each case, the experience was more pleasant and less expensive than using PayPal or a credit card. Features 1, 2 and 7 were completely irrelevant to these transactions.

Unpopular Commerce

The Internet has been a boon for unpopular commerce such as pornography, gambling, electronic cigarettes and now illegal drugs. Because the commerce is unpopular, many buyers want their orders placed anonymously (feature #2). Pornography and gambling have substantially higher chargeback rates than other industries (#3). Many mainstream payment processors prohibit transactions for these services (#7). In all three cases, Bitcoin provides a solution.

Other Bitcoin features are icing on the cake. They could be removed without reducing Bitcoin's utility for unpopular commerce.

Dissidents

It now seems common for governments to control dissident groups through the financial system. Banks and payment providers are threatened with punishment if they handle funds on behalf of dissidents. Features 2, 3, 6-7 appeal to these groups. Other features could fail and Bitcoin would still be useful for WikiLeaks or LulzSec (both of which accept BTC donations) or funding underground churches in China.

Conclusion

I don't presume to know all groups which might benefit from Bitcoin. I suspect that each of them will want a subset of Bitcoin's possible features. As long as that's the case, Bitcoin has a good chance of succeeding.

4 comments:

zostay said...

I would really like to have someone explain, in technical terms, how all these things are possible. I've read some of the marketing slicks online for BitCoin, but none of it delves enough into the implementation details to make any sense to me. Especially, I'm interested in what makes BitCoin secure and anonymous even though the transactions are somehow stored and processed globally.

Is there anything you can suggest I read to learn more that actually makes sense to a hacker?

mndrix said...

The best technical description of the system I've seen is the original paper written by Satoshi Nakamoto: http://bitcoin.org/bitcoin.pdf It details the cryptography pretty thoroughly

Travis Hendricks said...

Its always a good thing when new ideas have fail safes built in, and when it comes to money that's especially the case. I look forward to the future of BitCoin, its the only exciting thing in finance that I've seen in a while.

Plato said...

@zostay I recommend reading the stickied newbie threads on the forum as well as https://en.bitcoin.it/wiki/Man_page
and https://en.bitcoin.it/wiki/Securing_your_wallet

Here's an executive summary. Note that Bitcoin is not anonymous by default and that it's entirely possible to lose your bitcoins forever if you don't understand what you're doing.

Each client maintains their own copy of the (atm, sole) blockchain. This is an authoritative accounting ledger detailing the history of which addresses 'own' which bitcoins. The blockchain consists of about 136000 'blocks,' detailing the movement of about 6.5M bitcoins. You can think of each block like a new page of the accounting ledger.

The blocks are created in an extremely competitive 'mining' market. When a miner finds a block he is rewarded with 50 new bitcoins, sent to an address of his choice. This is how bitcoins are created. This reward will decrease over time, so that the money supply asymptotically approaches 21 million bitcoins.

Note that bitcoins are subdivisible to eight decimal places. There are 100 million 'credits' or 'satoshis' in one Bitcoin.

The current size of the network is 11.5 terahash/second which means there are 11.5 trillion attempts per second to calculate a valid solution to a hash function, create a block, and win a chunk of 50 bitcoins.

Ttechnically, a 'valid solution' means that the output of a miner's 256 bit hash function (SHA-256), in absolute terms, is less than the current 'difficulty setting.' All network clients agree to adjust this difficulty setting every 2016 blocks, in such a fashion as to maintain a target of 10 minutes between blocks.

Once the bitcoins have been generated, they may be spent freely. Let's say Alice generates a block and receives 50 bitcoins. (NB - this is a single large bitcoin worth 50 bitcoins, not 50 bitcoins worth 1 each, as you can have arbitrary bitcoin values. Look at any block on www.blockexplorer.com for details.)

This 'bitcoin' is a public/private keypair. The public key correlates to the Bitcoin address, and the private key is stored in Alice's wallet.dat file. When Alice wants to pay Bob .25 bitcoins for a donut, Alice uses her private key to sign a public key that Bob provides.

This transaction propagates through the network. When a miner hears about it, he uses it as one of the inputs of his hash function. Eventually a miner will 'include' the transaction in a valid block. At this point the transaction is complete and non-reversible. Everybody downloads a copy of the block, adding it to their local copy of the blockchain. Now everybody knows about this transaction, and if Alice tries to spend the coins again, everyone will cry foul.