This is not completely true-- since only hashes of the public key are posted until funds are spent from an address
So what? Then the attacker waits till someone spents his funds and double spends them and gives the double spending transaction a high processing fee.
The idea is that the attacker doesn't get to start attacking the public key until the first transaction is spent. Assuming the attack takes a nontrivial amount of time (more than an hour or so) the spend will already have a few confirmations before the attacker can write their double spend, so they'll be uselessly behind.
It's not guaranteed that the first break won't be something really fast, but people seem to expect it not to be.
Assuming the attack takes a nontrivial amount of time (more than an hour or so) the spend will already have a few confirmations before the attacker can write their double spend, so they'll be uselessly behind.
Even if the attacker takes on average a day to crack a key that doesn't mean that he doesn't have 0.01% to crack a key in a minute.
If there a good reason to assume that the attack needs to last a minimum of an hour to produce a key?