Many digital currencies face the problem of double-spending: the risk that a person could concurrently send a single unit of currency to two different sources. This moral hazard arises due to the trivial reproducibility of digital information, and the information asymmetry that can result from this. Double-spending occurs when an agent can easily conceal or misrepresent information about the recipients of a particular currency unit, and can thus spend currency twice with a low chance of facing the risk posed by the action. The action causes the value of a currency unit to be misplaced among two indistinguishable copies, and can be considered a market failure. A currency system in which value comes apart from the currency itself is useless.
With traditional physical currency, the double-spending problem is dramatically less likely to occur. This is because everyone involved in an exchange has immediate visual access to the original physical currency involved. There can be no information asymmetry unless the spending party goes through unusual measures to photocopy their currency or make a deal with multiple parties based on the promise of a single unit of currency, so it is usually not wise to risk double-spending physical currency. Information about a physical currency’s true location is much harder to misrepresent, as physical objects are not trivially reproducible. When physical currency is exchanged, the entire unit is moved to the other party by default, and not copied.
When digital currency is exchanged, there is a very real possibility that the currency could be copied over to the recipient, with the ‘original’ still intact in the owner’s possession. In this case, a currency-holder would be much more likely to take the risk of spending a unit of currency twice, because it is less likely that they will be caught and made to face the consequences of the deceitful exchange. In the absence of a mechanism to ensure double-spending does not occur, one of the recipients of the double-spent currency will more likely bear the burden of the currency duplication.
Bitcoins are a decentralized, open-source digital currency, which have become the most widely used alternative currency since being introduced in 2009. With no central agency to verify that the currency is spent only once per possession, some were initially skeptical of its safety against market failure. Satoshi Nakamoto, the designer of the bitcoin protocol, had anticipated this problem, and built in a mechanism to verify each transaction that a bitcoin goes through.
The bitcoin uses a mechanism based on transaction logs to prevent double-spending. Each bitcoin has a log of digital signatures attached to it, denoting the true path of its exchanges. This log is open for anyone to view, so anyone can verify the correct exchange path. Exchanges are recorded by ‘bitcoin miners’, who carry out the computationally intensive task of cracking a SHA256 hash function given to them dependent on the rate at which mining is currently being done. The only known method to accomplish this is to randomly test different prime number pairs in brute force fashion. In this way, a chain (called the block chain) of verified transactions is built up, which is very hard to falsify due to the great computational power that goes into the computation of the whole chain. This verification is a type of proof-of-work protocol, which makes the generation of new blocks difficult, and verification (done by the bitcoin peer-to-peer network) relatively easy. The block chain is viewable by anyone in the bitcoin network, making it harder to distort transaction information.
In return for carrying out these difficult proof-of-work computations, bitcoin miners are compensated with new bitcoins generated after each transaction. The first block in every new chain is given to the agent who mined it. This provides incentive for the users to put in the computation required to verify the transactions chain, and gives a mechanism for releasing new currency into the network. New bitcoins are distributed at a relatively stable rate by mining, as the difficulty increases proportionally to current hashing rates.
Although this method has worked well from a general perspective, it is by no means perfect. People have attempted a number of different workarounds of the verification system, which have been successful in some instances. Most are related to out-computing the block chain security mechanism, or timing the exchange so that once a mistake has been detected, the transaction has already been completed. Most thefts that have occurred so far were not due to double-spending, but to insecure sites for storing and selling bitcoins.