Possible Duplicate:
What would happen if two public keys had the same Base58 hash?

A follow up from What happens if I mistype the address when making a payment?

Suppose I accidentally (or intentionally)send some money to a valid wallet address that no one owns currently. Now, at a later point in time, when someone creates an account which happen to have the same address to which I sent, will the wallet get those coins?

  • See this answer to understand the likelihood of this actually happening: bitcoin.stackexchange.com/a/3205/516 Dec 20 '12 at 20:18
  • No, that's not the spirit of this question. I was wondering how the "balance" is computed. For instance, suppose I send a few bitcoins to every valid key I generate. Then after a billion years, when the wallet is actually created, will the owner be able to spend those coins?
    – SparrowG
    Dec 20 '12 at 23:33
  • Could someone tell why the negative votes?
    – SparrowG
    Dec 22 '12 at 19:09
  • Though I didn't downvote it myself, it's probably because it's very similar to several other questions considering the implications of a hash collision. Dec 22 '12 at 19:54

Yes, it will.

To "receive" money one should have a private key corresponding to bitcoin address, nothing more. The keys do not bear any information related to their creation date.

Intrinsically, bitcoin protocol does not have such thing as "balance". Blockchain contains only the list of transactions. If you have correct keypair (with public key hashing to destination address) and the transaction output has not already been spent, then you can send this money somewhere. Your "balance" is just a sum of all transaction outputs you can spend. When importing new private key in original bitcoin client, it performs blockchain rescan to find out whether this new address has received any coins previously.

  • Is that scalable? Following from my comment in the question, in a more reasonable timeframe, say I send coins now and the address is created after billions of blocks. Will the entire blockchain be scanned?
    – SparrowG
    Dec 20 '12 at 23:36
  • 1
    @SparrowG By default it will (in importprivkey RPC there is a switch to disable scanning, since currently it takes ~2 minutes). Also, there is "ultraprune" version of client, which stores not entire blockchain but only the list of unspent tranaction outputs, which makes such scanning pretty fast.
    – aland
    Dec 21 '12 at 5:16

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