Cryptocurrency is the name given to a system that uses cryptography to allow the secure transfer and exchange of digital tokens in a distributed and decentralised manner. These tokens can be traded at market rates for fiat currencies. The first cryptocurrency was Bitcoin, which began trading in January 2009. Since then, many other cryptocurrencies have been created employing the same innovations that Bitcoin introduced, but changing some of the specific parameters of their governing algorithms. The two major innovations that Bitcoin introduced, and which made cryptocurrencies possible, were solutions to two long-standing problems in computer science: the double-spending problem and the Byzantine Generals Problem.
Until the invention of Bitcoin, it was impossible for two parties to transact electronically without employing a trusted third party intermediary. The reason was a conundrum known to computer scientists as the double spending problem, which has plagued attempts to create electronic cash since the dawn of the Internet.
To understand the problem, first consider how physical cash transactions work. The bearer of a physical currency note can hand it over to another person, who can then verify that he is the sole possessor of that note by simply looking at his hands. For example, if Alice hands Bob a $100 bill, Bob now has it and Alice does not. Bob can easily verify his possession of the $100 bill and, implicitly, that Alice no longer has it. Physical cash transfers are also final, in the sense that to reverse a transaction the new bearer must give back the currency note. In our example, Bob would have to hand the $100 bill back to Alice. Given all of these properties, cash makes it possible for different parties, including strangers, to transact without trusting each other.
Now, consider how electronic cash might work. Obviously, paper notes would be out of the picture. There would have to be some kind of digital representation of currency. Essentially, instead of a $100 bill, we might imagine a $100 computer file. When Alice wants to send $100 to Bob, she attaches a $100 file to a message and sends it to him. The problem, as anyone who has sent an email attachment knows, is that sending a file does not delete it from ones computer. Alice will retain a perfect digital copy of the $100 she sends Bob, and this would allow her to spend the same $100 a second time, or indeed a third and fourth. Alice could promise to Bob that she will delete the file once he has a copy, but Bob has no way to verify this without trusting Alice.
Until recently, the only way to overcome the double spending problem was to employ a trusted third party intermediary. In our example, both Alice and Bob would have an account with a third party that they each trust, such as PayPal. Trusted intermediaries like PayPal keep a ledger of all account balances and transactions. When Alice wants to send $100 to Bob, she tells PayPal, which in turn deducts the amount from her account and adds it to Bobs. The transaction reconciles to zero. Alice cannot spend the same $100, and Bob relies on PayPal, which he trusts, to verify this. At the end of the day, all transfers among all accounts reconcile to zero. Note, however, that unlike cash, transactions that involve a third party intermediary are not final, as we have defined it, because transactions can be reversed by the third party.
Like PayPal, the Bitcoin system employs a ledger, which is called the block chain. All transactions in the Bitcoin economy are recorded and reconciled in the block chain. However, unlike PayPals ledger, the block chain is not maintained by a central authority. Instead, the block chain is a public document that is distributed in a peer-to-peer fashion across thousands of nodes in the Bitcoin network. New transactions are checked against the block chain to ensure that the same bitcoins have not been previously spent, but the work of verifying new transactions is not done by any one trusted third party. Instead, the work is distributed among thousands of users who contribute their computing capacity to reconcile and maintain the block chain ledger. In essence, the whole peer-to-peer network takes the place of the one trusted third party.
Bitcoins solution to the double spending problem distributing the ledger among the thousands of nodes in a peer-to-peer network presents another problem. If every node on the network has a complete copy of the ledger that they share with the peers to which they connect, how does a new node connecting to the network know that she is not being given a falsified copy of the ledger? How does an existing node know that she is not getting falsified updates to the ledger? The difficult task of reaching consensus among distributed parties who do not trust each other is another longstanding problem in the computer science literature known as the Byzantine Generals Problem, which Bitcoin also elegantly solved.
The Byzantine Generals Problem posits that a number of generals each have their armies camped outside a city that they have surrounded. The generals know that their numbers are large enough that if half their combined force attacks at the same time they will take the city, but if they do not attack at the same time they will be spread too thinly and will be defeated. They can only communicate via messenger, and they have no way of verifying the authenticity of the messages being relayed. They also suspect that some of the generals in their ranks are traitors who will send fake messages along to their peers. How can this large group come to a consensus on the time of attack without employing trust and without a central authority, especially when there will likely be attempts to confuse them with fake messages?
In essence, this is the same problem faced by Bitcoins miners, the specialised nodes that verify new transactions and add them to the distributed ledger. Bitcoins solution is to require additions to the ledger to be accompanied by the solution to a mathematical problem that is very difficult to solve but simple to verify. (This is much like calculating prime factors; costly to do, but easy to check.) New transactions are broadcast in a peer-to-peer fashion across the network by parties to those transactions. Miners look at those transactions and confirm by checking their copy of the ledger (the block chain) that they are not double-spends. If they are legitimate transactions, miners add them to a queue of new transactions that they would like to add as a new page in the ledger (a new block in the block chain). While they are doing this, they are simultaneously trying to solve a mathematical problem in which all previous blocks in the block chain are an input. The miner that successfully solves the problem broadcasts his solution to the problem along with the new block to be added to the block chain. The other miners can easily verify whether the solution to the problem is correct, and if it is they add that new block to their copy of the block chain. The process begins anew with the new block chain as an input of the problem to be solved for the next block.
The mathematical problem in question takes an average of 10 minutes to solve. This is key because the important thing is not the solution itself, but that the solution proves that the miner has expended 10 minutes of work. On average, a new block is added to the block chain every 10 minutes because the problem that miners must solve takes on average 10 minutes to solve. However, if more miners join the network, or if computing power improves, the average time between blocks will decrease. To maintain the rate at which blocks are added to six per hour, the difficulty of the problem is adjusted every 2016 blocks (every two weeks). Again, the key here is to ensure that each block takes about 10 minutes to discover.
Go here to read the rest:
cryptocurrency : The New Palgrave Dictionary of Economics