How long for an ASIC cluster to generate most private keys So if I understand correctly Bitcoin is based on private keys. These private keys can be generated programmaticaly at a rate of billions per hour (or per ms perhaps with a clever ASIC cluster).  Once a private key has been generated, the Public Key and Address can likewise be generated.

privK = f(x)
pubK  = g(privK)
addr  = h(pubK)


where:

f: Private Key Generator
g: Generates the unique public key from the given private key
h: Generates the unique address from the given public key


So if some clever ASIC designer ran an address generator for the next 140 years, how much of the total address pool would he generate.  I ask, because if an ASIC cracker ever "randomly" generated any address that is already in the block chain, he could claim any of those unspent funds.

At what difficultly level with ASIC key-mining be more profitable then ASIC block-mining?  I think this would be the point at which the bitcoin economy falls apart.

Am I missing something?  Has this been discussed before.  It isn't in any of the "double-spend" studies I've found.
The private key space is really, really big.  Assume your ASIC cluster can do a billion keys per millisecond, and we'll give you your 140 years.  That will result in around 4.5*10^21 keys, or 4*2^70.

Private keys are 256-bit, so at the end of your 140 years you will have covered about 1/1,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000,000 of the keyspace.