A while ago I was looking into this, in this thread:
https://bitcointalksearch.org/topic/m.1002242, and saw that the key value in a brute force attack (
http://en.wikipedia.org/wiki/Brute-force_attack) for bitcoin private keys is that there are about 2
160 possible keys. That means that if you are looking for a specific one, you will on average need 2
159 keys generated. To illustrate how infeasible that makes a brute force attack, consider this:
The power output of the sun is about 4x10
26 watts. If we take, say, a 7970, it uses 250 watts. If we're making systems, lets say that the average power used is about 300 W/card (maybe fairly inaccurate, but this is order of magnitude only. So sue me.) The energy from the sun could only be harvested so efficiently, so lets generously say that for every 400W that the sun produces, one card may be run. That means that you have 1x10
24 cards.
Now lets say that the cards can generate keys as fast as they can compute the bitcoin hash, that means that they are each generating keys at a rate of about 700,000,000/s each (for ease of math). This gives a total output of 7x10
29 keys per second.
So lets say you've found the top 4096 most valuable bitcoin addresses. That means that on average you expect to have to compute 2
159/4096 keys to find each key, on average. That's about 1.8x10
44 keys. Dividing this by the 7x10
29 keys per second gives about 2.5x10
14 seconds, or about
8,000,000 years!! This is using ALL THE ENERGY OF THE SUN. Also, note that you would probably need on the order of 5 kg/card of mass in structure, cards, cases, power generation and transmission, etc., which means you would need about 83% of the mass of the earth.
So yes, it is theoretically possible. You could get really, Really, REALLY effing lucky and find the key on your first go, but more probably you would have to consume the earth and harness all the power of the sun to have a shot at finding a key in the next million years, at which point is a few million dollars really worth it?
Note that this only applies to truly randomly generated keys. If you could find a way to figure out how the key was generated, such as in the thread mentioned by elena.m, you could do it with a single computer in a matter of weeks, but hopefully nobody is stupid enough to keep lots of coins in a wallet that's that insecure. It's also possible that new computing technology could change the paying field; I've heard quantum computing could radiaclly change cryptography. That's still many years from market, though, and bitcoin will be the least of the worlds problems if the security functions are broken--all of online banking uses these or similar algorithms.