MILTON FRIEDMAN famously called for the abolition of the Federal Reserve, which he thought ought to be replaced by an automated system which would increase the money supply at a steady, predetermined rate.
This, he argued, would put a lid on inflation, setting spending and investment decisions on a surer footing. Now, Friedman’s dream has finally been realised—albeit not by a real-world central bank.
BitCoin, the world’s “first decentralised digital currency”, was devised in 2009 by programmer Satoshi Nakomoto (thought not to be his—or her—real name). Unlike other virtual monies—like Second Life’s Linden dollars, for instance—it does not have a central clearing house run by a single company or organisation. Nor is it pegged to any real-world currency, which it resembles in that it can be used to purchase real-world goods and services, not just virtual ones. However, rather than rely on a central monetary authority to monitor, verify and approve transactions, and manage the money supply, BitCoin is underwritten by a peer-to-peer network akin to file-sharing services like BitTorrent.
The easiest way to store BitCoins is to sign up to an online wallet service through which all transactions are carried out. This, of course, means trusting the provider of that service not to cheat, or go out of business, taking clients’ savings with it. Warier users can install a personal digital wallet on their own computers. They must then, however, keep it safe from viruses or physical damage. If a laptop went up in smoke, so would the virtual coins stored on its hard drive. (Keeping back-up copies would do the trick.)
All transactions are secured using public-key encryption, a technique which underpins many online dealings. It works by generating two mathematically related keys in such a way that the encrypting key cannot be used to decrypt a message and vice versa. One of these, the private key, is retained by a single individual. The other key is made public. In the case of BitCoin transactions, the intended recipient’s public key is used to encode payments, which can then only be retrieved with the help of the associated private key. The payer, meanwhile, uses his own private key to approve any transfers to a recipient’s account.
This provides a degree of security against theft. But it does not prevent an owner of BitCoins from spending his BitCoins twice—the virtual analogue of counterfeiting. In a centralised system, this is done by clearing all transactions through a single database. A transaction in which the same user tries to spend the same money a second time (without having first got it back through another transaction) can then be rejected as invalid.
The whole premise of BitCoin is to do away with a centralised system. But tracking transactions in a sprawling, dispersed network is tricky. Indeed, many software developers long thought it was impossible. It is the problem that plagued earlier attempts to establish virtual currencies; the only way to prevent double spending was to create a central authority. And if that is needed, people might as well stick with the government devil they know.
To get around this problem, BitCoins do not resemble banknotes with unique serial numbers. There are no virtual banknote files with an immutable digital identity flitting around the system. Instead, there is a list of all transactions approved to date. These transactions come in two varieties. In some, currency is created; in others, nominal amounts of currency are transferred between parties.
In the very first transaction the creator’s computer forged 50 units of the currency. The next transaction would have involved subtracting some amount from the creator’s account and crediting it to a recipient’s. These actions, and any subsequent ones, were automatically broadcast to the entire network. At first, when the network was small and transactions few and far between, verifying them was been straightforward. The first person to confirm the new transactions would offer his updated log as the one against which any future transactions ought to be judged. Once everyone else agreed that this candidate register was indeed accurate, it would be adopted and the new transactions included in it confirmed. If anyone tried to game the system by erasing an old transaction (so he could re-use the same money again) or adding an unwarranted new one (transferring the same money as before, say), he would be promptly found out, his proposed log discarded, and the transactions rejected as invalid.