For a given target T, find X such as SHA256(SHA256(X)) < T
It is correct that in and of itself this computation is useless. But exactly like http://en.wikipedia.org/wiki/Hashcash it is vital for it to be difficult to solve. In fact the whole network adjusts T dynamically to keep up with the fantastic exponential hash rate growth of the network these last 13 months: http://blog.zorinaq.com/?e=49Technically X is a block header https://en.bitcoin.it/wiki/Protocol_specification#Block_Head... Miners change the 'nonce' part of X to attempt to satisfy the above equation.
It gets worse. That is 500 GHash per second. Over the approximately 10 minutes between blocks, only two of those 300,000,000,000,000 hashes that were calculated will actually be used even.
Of course, there is a reason for this. Hashing to obtain a relatively unique result is called a "proof of work" and is the method that Bitcoin uses to ensure that the amount of currency issued occurs only at the levels specified in the source code. http://en.bitcoin.it/wiki/Proof_of_work So far, that method has been the only one found so far that works as the transaction processing system for a decentralized payment network.
1. They secure the network from attackers and check for double spending attempt.
2. They process transactions.