I don't quite understand why hiding the public key behind a hash really helps.
If ECDSA is broken, that is if a private key can be found from a public key in limited amount of time, can't we assume that the time taken to find the private key consists of independent trials?
And if so, can't any node simply keep attempting at incoming transactions, stealing one every N days? Making every transaction a gamble?