Tuesday, March 12, 2013

Bitcoin fork and Euro breakup

Well this is interesting. A bitcoin "fork" has emerged. I'm watching right now as the price of bitcoin on the Mt-Gox exchange plunges from $48 down to $37 or so, and now back up to $45. My guess is that the fork will be pretty much resolved before I wake up tomorrow—if not the mechanics, at least the optics.

What's a fork? I like to think of bitcoin as a publicly distributed ledger. Anyone who owns a bitcoin has a spot in that ledger. The ledger is in turn updated every ten or so minutes to account for new transactions. Updating occurs in a decentralized manner. Competing "miners" work to add batches of recent transactions to the ledger by solving a complex problem. The winning miner earns some bitcoins while all the the other miners double check to verify that the block of transactions submitted by the winner are real and sync with the existing ledger.

This all works fine as long as there are enough competing miners working to verify the process. If one miner, or group of miners, gets too large, they might collude to fork the ledger, adding false transactions to the original. Other participants may stay loyal to the original, resulting in two different ledgers.

The bitcoin ledger was forked tonight because of a technical error, not collusion. Incompatibilities arising from a changeover in Bitcoin versions was at fault, according to this source, with some users using the older version and others using the newer. Nevertheless, the price of bitcoin fell 24% in two hours (it took the Dow eight hours to fall 23% in 1987).

One of the deep problems facing the euro over the last three years was fear of euro break up. If Greece decided to leave the euro (or was kicked out), a Greek euro would no longer be equal a German one. In the mind of the markets, euros had ceased to be homogeneous. In anticipation of potential break up, a tremendous bank run began in which massive amounts of Italian, Greek, Irish, Spanish, and Portuguese euro deposits were converted into German and Dutch euro deposits. This all occurred on the books of the ECB's intra-eurosystem clearing mechanism—Target2. While no limits had ever been placed on Target2 balances (or imbalances), fears that Germans might revolt and try to close the Target2 window led to ever faster withdrawals from the GIIPS.

Much like heterogeneous euros, tonight's fork means that bitcoin transactors can't be sure if their bitcoin belong to the older or the newer version of the ledger. Are they guaranteed that the two will be fungible? Given this uncertainty, a bank run quickly developed. Except rather than a euro-style intra-bitcoin migration, everyone headed off to Mt-Gox and tried to buy USD as quick as possible.

Mario Draghi pretty much stopped the intra-euro bank run by pledging to ensure that euros would always be convertible at par. (See Gavyn Davies here & here). Likewise, the bitcoin developers are quickly moving to resolve the bitcoin run by ensuring that the fork is folded back into the original ledger. Both incidents serve as reminders that there is no such homogeneous entity as "money". The sudden realization of this on the part of the public leads to panics. Those maintaining payments networks need to immediately patch any threat of heterogeneity lest those panics become crises.

5 comments:

However it's incomplete. The fork of blockchain does not "redenominate" existing balances. They continue in both forks. A euro "fork" does cause redenominations, it only causes confirmation problems. If you trust the other party, you don't need to worry, the transaction is still valid and will eventually be confirmed in both chains. Only when there's a risk that the payer is trying to scam you and your software does not handle collisions in a user-friendly manner, is there an issue.

Also, you're right, the Euro crisis is still here, while the the problematic blockchain fork was resolved in about 8 hours.

Peter, thanks for the technicals. How many transactions would have been confirmed on the new chain but not the old one, and how many would have been false?

You've misunderstood me about the Euro. Europe in general is still sick, but the particular facet that I am drawing attention to - the euro bank run - is no longer with us. See this chart. Draghi killed it last summer.

I might be wrong, but as far as I understand, problems only occur when conflicting transactions occur in the two forks (i.e. newly mined coins, transaction fees or scams). Other transactions continued to be accepted in both forks. However, if there is something built up on those, that would differ too. So eventually the differences would grow as the conflicting balances spread. I don't have an exact number with respect to last night's issue, I don't have a tool that allows that analysis.

Furthermore, with a bit of effort, you should actually be able to check the differences yourself while it's happening, you can run both older and newer client in parallel, with the same wallet.

I agree with you on your euro-analysis, I guess I missed the point first.

JP - at the risk of triggering your spam filter, let me say thank you for this series of posts on Bitcoin, they're really informative. (On a personal note, Nick Rowe, Stephen Gordon and I were having a beer the other night - this happens once every few years - and they were both saying how much they enjoy your blog).