Monday, November 29, 2010

Reply to The Underground Economist, Why Bitcoin can't be a currency

I wasn’t going to make a post bashing Bitcoin because their FAQ clearly states that its value only stems from the fact that merchants are willing to accept it. Unfortunately, this hasn’t stopped people from pushing it as the currency of the future, so regretfully, I feel compelled to post why this is not so.

While Bitcoin has managed to bootstrap itself on a limited scale, it lacks any mechanism for dealing with fluctuations in demand. Increasing demand for Bitcoin will cause prices in terms of Bitcoin to drop (deflation), while decreasing demand will cause them to rise (inflation). What happens in each of these cases?

Let’s start with deflation, because right now demand for Bitcoin is on the rise. What do people do when they think something’s value will be higher tomorrow than it is today? Well, they acquire and hold on to it! Who wants to give up money that’s constantly rising in value? In other words, rising demand causes demand to rise further. Irrational exuberance at its finest. Deflation begets deflation, ad infinitum, or at least until something breaks. You could make lots of money on Bitcoin, provided you get out of the market at the right time.

Eventually, of course, prices won’t be able to fall any further. Either people won’t be spending their Bitcoin anyway because they’re making so much money just by holding it, or the merchants will get tired of changing their prices every few seconds, assuming they don’t hit technical issues first, like the indivisibility of coins or their software not being able to handle all the zeros after decimal points.

At this point or shortly before, people will start taking their profits. They’ll start spending or selling their hoarded coins. If this manages to start any inflationary momentum at all, you’ll see the deflation scenario played out in reverse. And who’s going to stop it? The supply of Bitcoin is fixed and there is no other use for it besides as a currency. I doubt prices will have much of a chance to rise, since this will happen so fast. Merchants will go from taking one coin for a year of porn to not taking Bitcoin at all, and a bunch of people will be left with worthless Bitcoin.

The reason this can’t happen with government currencies is that government currencies *are* backed. They’re backed by bullets. If demand for USD starts to fall faster than the USG would like, the USG can just raise taxes without increasing spending, increasing demand and reducing supply simultaneously. There’s a bunch of stuff the FED can do, of course, and the FED tends to act first, but its operations are harder to explain. This is obviously not a perfect mechanism, since bubbles are still blown and popped, but even this mechanism is not available with Bitcoin.

Negative feedback loops like this are basically homeostasis. In nature, positive feedback loops like exist with Bitcoin are lethal; the only thing that’s even kept Bitcoin alive this long is its novelty. Either it will remain a novelty forever or it will transition from novelty status to dead faster than you can blink.

This is an interesting and honest critique. I especially like the part about how governments can protect their currencies with bullets. That is so true.

It is true that merchants must update their prices to reflect the current market price of Bitcoin. But there are mechanisms to make this less tedious. For instance, if you use the MyBitcoin.com shopping cart integration, you can peg your product against USD so your BTC price stays in sync. This isn't a perfect solution because getting an accurate peg relies upon the fledgling market data that comes from the Bitcoin exchanges.

Another barrier against the falling price against the BTC value is the use of inventory. This is something somewhat unheard of in USD denominated economies. If you prepare your inventory blocks for multiple sets of price, when you run out of inventory at one price, then inventory in another price becomes available. Welcome to the deflationary economy. It's fun!

Another problem cited by the author above is the problem of having to handle all the zeros after the decimal point. But many government currencies have this same problem in reverse. I.e., they have to handle all the zeros *in front* of the decimal point.

So the author is very worried about Bitcoin deflation. But I am looking forward to it very much. If demand for Bitcoin is that high, it should be very interesting indeed. I, for one, think the coin division isn't prepared *enough*. I think we should be expecting 10^-32, just to be on the safe side. If you have even 50 BTC, right now, hold it. When scarcity *really* sets in, that will be a tidy sum (e.g. if you think 20¢ one-month rise against USD is a lot, you ain't seen nothing yet).

If you liked this post, send me a tip: 1DfDcStVbwjWtuuxQs6vNj1zG7KKDDrekA

Posted via email from Anthony Martin's Weblog

2 comments:

Anonymous said...

"But many government currencies have this same problem in reverse. I.e., they have to handle all the zeros *in front* of the decimal point."

"Many" is overstating. Maybe there's a few cases. You're probably thinking of Zimbabwe as one example. With a standard 64-bit floating point number, you have a 53-bit mantissa (the integer portion) which can represent numbers up to about 9 * 10^15 (9 quadrillion?). Evidently Zimbabwe had more than that in circulation at one point (says Wikipedia), so yes, you'd be right there...but that's one of the worst cases in history. How many other examples are there? I'm genuinely interested.

Anyway, even so, the part after the decimal is still far more troublesome because of all the rounding errors it causes if your fractions get too small.

tl;dr: Rounding errors are something a programmer combats every time they write code that handles currency, but massive numbers that overflow your datatypes are far more rare.

Anthony said...

They all have the potential to hyperinflate. Just because few have actually explored this option is not the point. They all *can* just like Bitcoin *can* do the same in reverse. Only, for Bitcoin it's a feature, not a bug.

Rounding errors are only an issue when programmers insist on using inappropriate data types. Storing values as a floating-point, for example, seems appropriate, but is a bad idea. The programmers who do not realize this early will have bugs in their apps. They'll go away if they don't fix it.