These have all been answered a million times before but I am in a good mood. Next time try the search function please.
First of all, does every public key have a corresponding private key or can more than one public key correspond to just one private key?
Every public key is calculated directly from its corresponding private key. There are slightly less than 2
256 possible public/private key
pairs.
Could you not generate the same key as someone else by fluke?
There are so many possible key pairs that it is, for all practical purposes,
impossible to randomly generate any one of the key pairs that has been generated before. Your next thought is "well is it possible, right?" the next answer is "it is impossible for the human brain to begin to comprehend how large the number 2
256 is, yes it may be
mathematically possible but it is
practically impossible given the lifetime of the universe, etc."
BTW there is a difference between a public key and a
Bitcoin addresss.
There are only 2
160 possible Bitcoin addresses so for every Bitcoin address there are, on average, 2
96 matching key pairs. But have no fear. It is still, for all practical purposes, given good random number generation,
impossible to generate the same Bitcoin address twice even though there are "only" 2
160 possible Bitcoin addresses.
What happens if someone sends bitcoins to this key?
I am not going to answer that because it is not going to happen.