This comes to use from i-Programmer.info
Digital currency lets GPU cyles print money
Written by Andrew Johnson
Saturday, 19 February 2011
Recently we ran a news item on how you could make money by selling your GPU’s unwanted cycles – Sell your unused GPU cycles – the only mystery was what was being computed, was it legal or illegal and how did the company concerned actually make money out of GPU cycles. Now we have the answer and the story is stranger than you could have imagined. It involves a cyber currency and a controlled inflation.
It seems that there are more ways of making money than most people imagine. This is strange story of how money can be conjured from the thin air and how if there is money to be had there are always better ways of getting it.
To understand what is going on in the case of Compute4money you first need to know about Bitcoin. This an open source project to create a P2P cryptographic digital currency. You might at first thing that creating a digital currency would be a huge financial undertaking involving the monetary reserves of a few countries. But no, the miracles of economics mean that you can create wealth from nothing as long as you are careful about how you do it. You also need some clever software but it is the economics that is truly mind-boggling.
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. To stop a payee using the same token multiple times the transactions are stored in the distributed database.
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.
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 transaction it has to perform a complex and time consuming computation before it can submit its vote. The computation takes the form of adding an item of data to the block that makes its computed hash start with a specified number of zeros.
It turns out that the amount of work required to do this is exponential in the number of zero bits. The only way to do the job is essentially trial and error.
Once the value has been computed it is added to the block and from this point on any changes to the block would require the work to be redone to make the hash have the correct number of zero bits. At this point the node can submit the block to all the other nodes for inclusion in the official chain – the nodes also check the block for consistency at this point and make sure that a transaction doesn’t spend a Bitcoin twice. The need to do work makes the system dependent on the fact that the majority of CPUs engaged in the network are honest.
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.
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 £1.00 each. 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.
Now we come to the part of the story where the GPU and Compute4Cash enter the picture. Compute4Cash pay for use of your GPU and the program that they run simply does the work required to complete a Bitcoin block. When they are first to complete a block they gain a Bitcoin. At the current rates they are making about 50% profit. As the program they use is an open source GPU “miner” then there is no reason why you couldn’t just download it and make 100% of the profit for yourself and your GPU.
So the mystery is now solved. We now know what Compute4Cash is using the GPU time for and it isn’t illegal. It may not be illegal but it is cheeky in using an open source program on your GPU to cream off 50% of the profit. The sad part is that this is such a specific application of the GPU to make money that there doesn’t seem to anything much to generalise. So this isn’t a trend but a one-off anomaly – until another one off anomaly comes along.
Economics, finance and money in general are just plain strange… I for one will stick to programming.
The original paper describing Bitcoin – Bitcoin: A Peer-to-Peer Electronic Cash System
A huge thanks to Matt Marts for providing the information on how it all works and for pointing out that with only a little more effort the GPU owners could get 100% of the profit.