Bitcoin has gone mainstream, boomed and crashed, in just a few short weeks. If you want to understand how it works, the self-evident blog has a brilliant introductory series which goes in just enough depth to be interesting and yet capture the subtleties of the technology.
What interests me however is to try and think of ways in which it could fail. It’s based on a clever technology, but like computer security it’s very hard to design software systems or algorithms that correctly anticipate every possible misuse. It’s been surprisingly resilient so far and a remarkable success story. It’s nowhere near becoming a real alternative currency for what existing mainstream currencies are used for, but just getting considered for that role is a remarkable achievement for something created by one lonesome and anonymous hacker.
There’s probably a myriad of ways in which it could fail, so I’ll just throw a few random ideas. It is also worth noting that currently most people involved in Bitcoin seem to genuinely want it to succeed, for various ideological or aesthetic reasons. It feels like the naive Usenet of the 80s and early 90s before wilful spam was introduced into it by unrepentant green card lawyers.
The blockchain as a data store
The core of Bitcoin is a distributed ledger of all transactions ever conducted, which may “metastasise”. The obvious risk is what happens if it becomes too big, although it’s also hard to overwhelm modern computers with mere transaction information (a modern smartphone has more computing power and storage than a major bank had when bank accounting moved to electronic processing), but it may face tangential attacks or misuses.
Through steganography any data store can be used to store anything else. People may start to use the Bitcoin blockchain as a store for information they want to publicise anonymously or hold for a a long time, by generating sequences of special dummy transactions. This might cost transaction fees (to get included in the blockchain) but for that you get perpetual public distributed storage, which is a good deal! It doesn’t need cost actual Bitcoins beyond transaction costs, because the encoding transactions can be conducted between Bitcoin addresses all belonging to the entity writing the data.
Here are some applications I can think of:
- Way to publish illegal content like child porn
- Way to publish secret information, like wikileaks
- Back up device for small data as a substitute for a paid for data store
- Underground social network using the blockchain as the transport and storage mechanism for status updates
- Anything you can do with a public more or less anonymous data store…
This is a bit limited in size, if people start backing up their HD porn collection encoded as Bitcoin transactions the network would probably be overwhelmed fast enough to require remedial action.
For small controversial content though it might attract the ire of authorities which are used to be able to take such content down… the obvious answer would be for a way to “delete” the offending “transaction” but this is totally at odds with the core design principles of Bitcoin…
Jamming the network with a penny auction
Another idea is that an hostile force which has managed to acquire some Bitcoins could try and jam the network. For instance they could offer a prize to the Bitcoin address which posts the most transactions in a given block, which would push third parties to devise inventive ways to maximise pointless transactions. The logic is that of a penny auction, which leverages greatly the impact of the prize — a lot of people may compete for a single prize, collectively loosing more in effort and transaction cost than the nominal prize is worth. If it worked well the price of transaction may go up with increased competition to be included in the blockchain, perhaps making some genuine transactions uneconomic.
Becoming an ordinary currency
Bitcoin is effectively a software monoculture — nearly every actual node in the network uses the reference implementation — so there’s some scope for the people managing this code to act, de facto, like central bankers for regular fiat currencies. As long as they can get the community to upgrade and not fork the code — arguably a protection — they control all the rules that are encoded in the algorithm as code. This can also be seen in the highly concentrated mining syndicates, who intermediate the mining process, although again the members could switch if they disagree and manage to overcome institutional inertia. One could make a parallel between them and how the network of regional Federal Reserve banks compose the Fed…
Reinventing the existing would not be a particularly unusual phenomenon. Some institutional forces are so strong that alternatives tend to gravitate back to something close to what was originally rejected, if you let them marinate long enough.
Scarcity is not scarce
This would not be a technical failure, but it could also fall into disuse because of being drowned by competitors doing the same thing — Bitcoin is a form of synthetic scarcity which is itself not scarce: anyone can start a new Bitcoin clone, either as a new root with the same code, or by creating something similar based on a different protocol. Seen as synthetic gold, the problem is shared with actual precious metals. Gold supplies may be limited, but people who see it as a store of value could move on en masse to platinum or any other rare material, or alternative sources of scarcity, and thus whatever value it has depends on ebb and flow of fashion.