Inside Bitcoin - virtual currency
Inside Bitcoin - virtual currency
Written by Mike James   
Article Index
Inside Bitcoin - virtual currency
Proof of work algorithm

Bitcoin is a new currency that exists entirely in software and is under the control of no central authority. Some claim it will destabilize governments and bring the world economy down - others just think it's the future of money.


Money is going out of fashion. Well coins, notes and cheques most certainly are and are being replaced by electronic transactions of all kinds. It has been a very long time since the numbers in your bank account had anything to do with real wealth. Yes, once upon a time currency was something that stood in as a token for something valuable - like gold - but modern currencies are more a mass delusion that we all agree to. As long as we all agree that a currency has value, and preferably the same value, then it all works.

At the moment the only agencies capable of pulling this trick off are national governments - or this was the case until Bitcoin came along.

To find out what Bitcoin is and the problem it is intended to solve watch the following video:



A distributed monetary system

Bitcoin is an attempt to set up a distributed monetary system, i.e. one that has no central administration and at the moment it seems to be working. As of May 2011 there are 6.2 million Bitcoins in circulation and the value has rocketed from approximately nothing to over $6 per Bitcoin, making the total Bitcoin economy worth over $36 million. Not bad for software!

So how does it all work?

First we take a look at the general principles of operation and then we will look a little deeper in the strange algorithms used to keep Bitcoin secure while allowing for a distributed architecture.


Bitcoin Basics

Bitcoin works by using a distributed database supported by a peer-to-peer network. It was created in 2009 by Satoshi Nakamoto and even though it is still in beta it has been steadily creating digital money in the form of Bitcoins since then.

Digital signatures are used to track the exchange of the tokens.The signatures are unique but in principle they cannot be tracked back to individual identities. This means that you can know that user 123456 transferred so many Bitcoins to user 78901 but not who the numbers correspond to. This makes Bitcoin transactions inherently anonymous. This also makes the Bitcoin system very attractive to anyone wanting to engage in dishonest activities such as money laundering or avoiding taxes. There is no evidence that the Bitcoin economy is in any way illegal, but this is probably a worry - or a justification for many governments to view it with suspicion.

The use of public key encryption and signatures renders the Bitcoin secure and anonymous but there is another problem. All Bitcoin transactions are stored in a distributed database and making sure that updates to this database remain coherent is very difficult. For example, one part of the database might record that a Bitcoin has been transferred to owner A and another part of the database might show it as transferred to owner B. Worse a failure to record the time of a transaction correctly could allow a Bitcoin to be spent more than once. Such problems are easy enough to overcome in a central database but the Bitcoin database is distributed over many machines. 

Now we come to the complicated but very interesting part. We need to validate each transaction using a majority vote of the distributed servers. If this majority vote could be manipulated then Bitcoins would become worthless because a single coin could be spent multiple times. The key idea is that all transactions are initially marked as unconfirmed and they only actually enacted when the system has had time to check that they are valid.

One solution is to use a one IP address one vote scheme, but you can see that this is open for abuse  by anyone who can muster a block of IP addresses. The scheme used is an implementation of the proof-of-work algorithm. When a node receives a block containing the details of a set of transactions, it has to perform a complex and time consuming computation before it can submit its vote.

This is a strange idea but the next refinement is even stranger. The first transaction in any block is always the payment of a new batch of  Bitcoins to the owner of the machine that submits it. This mean that users participating in the P2P network get paid for the work they they do in newly minted Bitcoins. This is how the new currency is distributed. Slowly but surely Bitcoins are being handed out for work done helping to run the Bitcoin system. This is called Bitcoin mining and it is becoming a growing business. People are setting up server farms and even hiring other people's spare GPU time to mine Bitcoins.

The system is designed so that the total number of Bitcoins in circulation tends toward 21 million exponentially - so 3/4 of this figure will have been generated by 2017. This means that the money supply is subject to a controlled inflation. But printing money doesn't necessarily lead to a fall in its values. When Bitcoin was launched one Bitcoin was worth around $0.05 now they are worth around $6.00 each. In fact as the supply of Bitcoins will eventually dry up it has a built-in deflationary tendency.

What can be done to keep Bitcoins at a reasonable value? The simple answer is that they can be traded in fractions of a Bitcoin so it probably doesn't matter. Even so it is surprising that something made of bits and essentially worthless has acquired a value.

How has this happened?

Simply by trading them.

You can buy and sell Bitcoins with other currencies and you can use them to buy (at the moment a limited range of) services and goods. Just by being controlled and reliable the Bitcoin has acquired value. This is how all currencies work.

Of course the actual situation isn't quite a rosy as the Bitcoin enthusiasts would have you believe. While you can spend Bitcoins in a variety of places they aren't regular currency just yet. You can't for example buy a book from say Amazon or trade on E-bay using Bitcoins. When you can you will indeed know for certain that the time of the Bitcoin currency has arrived. There are some that say that governments around the world couldn't allow this to happen because of the erosion of control that it would entail and loss of tax revenue.


RSS feed of all content
I Programmer - full contents
Copyright © 2016 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.