Take the 2-minute tour ×
Bitcoin Stack Exchange is a question and answer site for Bitcoin crypto-currency enthusiasts. It's 100% free, no registration required.

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?

share|improve this question

marked as duplicate by Highly Irregular, Stephen Gornick, Lohoris, cdecker, ThePiachu Jan 8 '13 at 7:46

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

    
See this answer to understand the likelihood of this actually happening: bitcoin.stackexchange.com/a/3205/516 –  Highly Irregular 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. –  Highly Irregular Dec 22 '12 at 19:54

1 Answer 1

up vote 3 down vote accepted

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.

share|improve this answer
    
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
    
@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.