7

Seeing as the topic of generating address conflicts comes up every now and then, I am wondering if someone looked into the problem a bit further.

Has anyone measured the speed at which Bitcoin addresses can be generated (mainly with some efficient languages, not javascript)? Are there programs akin to GPU miners that instead of generating hashes would generate addresses?

2
  • 3
    Surely it's not just the speed of generating that's interesting. You need to consider the time it takes to look up whether you have a collision, assuming that's the point of generating addresses as fast as possible. Commented Nov 29, 2011 at 16:44
  • 1
    @JulianNoble: Presumably you'll scan the blockchain in advance and compile a list of addresses you'd like to usurp. You put these in a set data structure (maybe a probabilistic one like Bloom filter) and check against it any address you generate. Then the only question is whether this can be done efficiently on a GPU. Commented Nov 29, 2011 at 19:26

1 Answer 1

7

VanityGen uses the GPU to generate addresses until a desired match is found. On my 5870 it does about 27 million addresses per second.

3
  • So about 1.4 billion years to find two keys with the same address. That would allow you to have an address whose coins you could claim with two different keys, which would do no harm whatsoever. Commented Nov 30, 2011 at 0:55
  • 1
    @DavidSchwartz Add Moore's law to it and we end up at around 45 years (1.4billion ~ 2^30, 30 doublings at the rate of 1.5 years each).
    – ThePiachu
    Commented Dec 1, 2011 at 0:49
  • 1
    Yep. It's quite possible that within 40 years or so, someone will have two private keys that can each claim Bitcoins sent to the same address. (The challenge of claiming anyone else's Bitcoins is 120 million, billion times harder though.) Commented Dec 1, 2011 at 2:52

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.