An unexpected use of the herculean computational power of GPUs
Have you ever encountered something that is so cleverly designed, so profoundly unique, and such a polarizing concept, that when people first hear about it, they either dismiss it as something that could never work, or instantly grasp its immense potential? Bitcoin will trigger one of these reactions in you.
Put as simply as possible, Bitcoin is an open peer-to-peer digital cryptocurrency. In layman's terms, it is like PayPal dollars except it is not controlled by any central authority such as a company or a bank. All the money-handling tasks are managed by the peer-to-peer network composed of the computers of its very users (you and me): validation of transactions, proof of ownership of Bitcoins, issuance of money itself, etc. Security is enforced by sound cryptographic principles built into the Bitcoin network protocol so that you cannot just modify the software and give yourself a large amount of money. For example, transactions or ownership of Bitcoins are proved by cryptographically signing them. Bitcoin offers very unique features such as anonymity, absence of middlemen, and cryptographically irreversible money transfers that no other system provides. The software is open source and multi-platform (Linux, Mac OS X, Windows).
Without entering into too many details, the issuance of Bitcoins (ie. creating money) and the validation of transactions are performed by a process, mining, during which Bitcoin performs hashing operations based on SHA-256 to create computational proof-of-works which serve to timestamp transactions. As an incentive for users to participate in this essential task, Bitcoins are issued to whoever performs this computational work. And a set of rules is built into the system: for example there can only ever be 21 million Bitcoins in existence (this controls inflation), and the whole network self-adjusts itself to issue one block of Bitcoins every 10 minutes on average (this anticipates users throwing large amounts of computing power at the task).
The creator of Bitcoin, Satoshi Nakamoto, released the software and launched the Bitcoin network in January 2009. He was inspired by concepts presented in 1998 by Wei Dai.
The first year, Bitcoin users consisted of Satoshi himself and a small number of hackers.
Then in early 2010, something incredible happened:
(full size graph from "lfm" from the Bitcoin forum). More and more persons realized its value and started mining Bitcoins. As seen on the above graph (logarithmic vertical scale!), the computing power spent on hashing for mining Bitcoins started to increase exponentially since January 2010 at a fantastic pace. It has doubled every 27 days, continuously, in the last 15 months. This is 10x every 3 months. 100x every 6 months. 1000x every 9 months.
As I am typing these words, the current rate of the global Bitcoin network over the last 24h is about 810 Ghash/s (810 billion hashes per second). There are currently wild fluctuations of +/- 150 Ghash/s caused by a large user or pool dropping in and out. (A Bitcoin hash is defined as two calls to the SHA-256 compression function, so that is 1.62 Thash/s for SHA-256.) For comparison the network hash rate in early 2010 was about 10 Mhash/s or 10 millionth today's rate.
"Making Money" With GPUs
The more SHA-256 computational power you have, the more Bitcoins you can create. In early 2010, users where mining with CPUs. Then came CPU clusters. In mid 2010, the first Bitcoin exchanges were launched by companies to allow trade of Bitcoins using fiat currencies such as the US dollar. Around the same time, Bitcoin was mentioned in a widely read Slashdot article (Bitcoin Releases Version 0.3, July 11, 2010); [Update 2011-03-26: and a user known as Nenolod dedicated a thousand+ CPU cores to Bitcoin mining   ;] and the first private GPU mining clients were rumored to be written. These 3 events occurring in the span of 2-3 weeks were responsible for the sudden 10x increase in hash rate in mid-July 2010. (This connection to GPUs is how I became aware of Bitcoin; someone wrote about it in reply to a post about my GPU-accelerated password hash auditing tool). A few months later the first open source GPU clients appeared. Today the most committed users —I have fallen into this myself— are running GPU farms of varying sizes, often utilizing the highest end graphics card, the AMD Radeon HD 5970.
Like I said earlier, the creator of Bitcoin had anticipated from the beginning that users would throw such large amounts of computing power at the mining task. So despite the 100 thousand-fold increase in mining difficulty in the past 15 months, the network continuously self-adjusts itself to issue one block of Bitcoins about every 10 minutes. The difficulty increase is entirely caused by users competing between themselves to acquire these blocks.
Who Uses Bitcoins?
What is prompting this mind-boggling evolution speed? For one, pure financial reward. Not only is the mining activity increasing exponentially, but the value of a Bitcoin has been increasing as well. One of them, abbreviated 1 BTC, is currently worth about 0.90 USD, up from 0.05 USD back in July 2010, on the various exchanges. From my research, miners seem to sell most of their mined Bitcoins on these markets.
What can be purchased with Bitcoins? Who is using them? One can purchase Internet services such as domains, hosting, email, VPN; software, games; one can play or gamble online; one can buy some tangible goods: electronics, clothes, books; etc. The vast majority of merchants accepting Bitcoin as payment are individuals or very small shops. I have to admit that when I first discovered this community of sellers, the poorly-designed websites made me think the whole Bitcoin thing was a scam. I can assure you most of these merchants are very real. (Of course a fraction of them are scammers, like in the non-Bitcoin world). It is just that most of them are early adopters, and the Bitcoin technology enabled them to become merchants.
In fact, the anonymity and irreversibility of transactions are already creating new opportunities for illegal trade. Weapons and drugs have very recently appeared to become available if one follows the activity in the Marketplace sub-forum.
The most well-established and respectable users of Bitcoin are probably organizations accepting donations in this currency, such as the EFF (Electronic Frontier Foundation). Bitcoin's simplicity is ideal for donations. All you have to do is publish an address and ask people to send money there. For example 1NX83VinoEsVMooErJNtTDGJ5GPVbtx3Li is one of my addresses. [Update 2011-03-08: Hum, thanks to whoever sent me some Bitcoins ]
Like any powerful tool, Bitcoin can be used for good or bad ends.
Future of Bitcoin
What is being seen as of this very moment is just the tip of the iceberg. If the mind-boggling mining exponential growth rate is followed by a similar increase of the user base, then Bitcoin has the potential of revolutionarizing trade in certain markets.
Bitcoin is not perfect. Firstly, transactions are instant but it is recommended to wait for a certain number of block confirmations to ensure the sender will have a mathematically negligible probability of double-spending the money. This can incur a delay of tens of minutes for a transaction. Some exchanges or shops work around this delay by implementing server-side user accounts that can be reloaded infrequently with Bitcoins, and can be spent more frequently and instantly by drawing from this account. Secondly, it appears (cryptographically) impossible to devise a way to conduct a transaction offline. You have to be connected to the peer-to-peer network. This may not be such a big problem with Internet-enabled smartphones being so pervasive in people's hands.
I expect Bitcoin will eventually catch the attention of governments, since it will undoubtedly increasingly be involved in money laundering, black markets, illegal trade, etc. At which point they may want to regulate or block it. But it is technically impossible because of its very design and fully peer-to-peer nature. It will be interesting to see how the world will cope with the insuppressible existence of Bitcoin.
Let me conclude by linking to the Bitcoin site. Check the wiki and the forums, where most of the activity is taking place. Technically enclined readers will find the whitepaper an excellent read. The best introductory material in my opinion is the LWN article Bitcoin: Virtual money created by CPU cycles, November 10, 2010.