What if the attacker tries to guess all private keys?
Then they will waste a LOT of time, a lot of money, and will accomplish nothing. They'd make MUCH more money MUCH faster by using all that money and computing power to just mine bitcoins.
For example run through all private keys, which would mean 128 bit security
You really need to decide which one you are trying to discuss. If you are going to "run through all private keys", then I'm pretty sure you're going to need to try 2^256 possibilities. If you are going to use one of the fastest known algorithms that allow one to solve the ECDLP, then you'll have only "128 bit security".
In my opinion guessing the private key is the hardest of them all, because it involves the most work.
Finding a private key is the ONLY method. If you don't have the private key, then you don't have the information that you'll need in order to spend the bitcoins.
That being said I think an spent address is the most vulnerable.
Because the other 2 approaches have all some sort of key stretching or extra work added to it. But a spent address only has 128 bit ECDSA wall between you and the thief.
While your security is *slightly* less when the public key is available, 128 bit security is still a huge amount of security. The risk isn't that someone will be able to use the algorithms that reduce the security to 128 bit, the risk is that perhaps in the future someone finds a new algorithm that reduces the security far lower than 128 bit.
So yea its very important if people reuse addresses!
"very important" is a huge exaggeration.
128 bit security is still very secure and more than enough for current technology.
Yes but it would take considerably less to get to your address.
So i meant it in the context that they go from 1st to the last, and in there somewhere they might hit an address that is used by someone.
Still very very hard.
Assuming that you properly generated a random private key, it would take longer than the earth has existed so far. So when you say "very hard", what you really mean is "impossible".
The earth is approximately 4.5 X 10
9 years old.
If you could calculate and check the values of the public keys for 1.5 X 10
15 addresses per second, you would only be able to check 4.7 X 10
22 addresses per year. That means in the 4.5 X 10
9 years that the earth has existed you could check 2.13 X 10
32 addresses. That's less than 2
108 addresses in the entire history of the existence of the earth as a solid body. That's nowhere near your 2
128, or your 2
160, or your 2
256, and it certainly isn't within someone's lifetime.
Now, if you used that same computing power to mine bitcoins instead, you would most likely be able to mine 656250 BTC per year for the next 4 years, and another 328125 BTC per year for the 4 years after that.
Why would you spend all that effort for a few billion years attempting to find a single private key that might only have 0.00000001 BTC in it, when instead you could spend 8 years mining and get 3937500.00000000 BTC.