Hey guys,
Was just reading
https://en.bitcoin.it/wiki/Technical_background_of_version_1_Bitcoin_addresses when I came across this part.
Since Bitcoin addresses are basically random numbers, it is possible, although extremely unlikely, for two people to independently generate the same address. This is called a collision. If this happens, then both the original owner of the address and the colliding owner could spend money sent to that address. It would not be possible for the colliding person to spend the original owner's entire wallet (or vice versa).
Now it is my understanding that a collision would mean 2 different ECDSA keys turning into the same public bitcoin address, and it would therefore make sense that the ECDSA key must be the same to have actually access the entire wallet. But this stands true only if there is indeed a collision right? If two users have the same ECDSA key, then both would have access to the entire wallet, and the following statement of
If you were to intentionally try to make a collision, it would currently take 2^107 times longer to generate a colliding Bitcoin address than to generate a block
as well as the previous statement regarding collisions (as none have been found in SHA-256 to my knowledge) would really only be put there for marketing, and not for actual securities sake.
Bitcoin addresses are 160 bits and bitcoin ECDSA private keys are 256 bits. There are thus WAY more private keys than bitcoin addresses. This means that there are TONS AND TONS of private keys that would all unlock the same bitcoin address.
That being said, the odds of ever finding two keys that unlock the same address (a collision) is effectively nil. I've seen one post that showed it would require more energy than is contained in our sun to even make a credible attempt at finding a collision.
TL/DR: While collisions must mathematically exist, it is not physically possible to find one.