Bitcoin Forum

Bitcoin => Development & Technical Discussion => Topic started by: NytHawk on December 24, 2019, 02:09:28 PM



Title: Why is amount of private keys that can generate the exact address not a concern?
Post by: NytHawk on December 24, 2019, 02:09:28 PM
Hi.

79228162514264300000000000000 (2^96) private keys can generate the exact same Bitcoin address.

Why is this not a concern?


Title: Re: Why is amount of private keys that can generate the exact address not a concern?
Post by: tromp on December 24, 2019, 03:10:34 PM
Hi.

79228162514264300000000000000 (2^96) private keys can generate the exact same Bitcoin address.

Why is this not a concern?


Because in all likelihood no-one will ever be able to find two different private keys mapping to the same address.
And if they do (against all odds), then in all likelihood the address will not have a balance.


Title: Re: Why is amount of private keys that can generate the exact address not a concern?
Post by: darosior on December 24, 2019, 04:29:39 PM
Hi.

79228162514264300000000000000 (2^96) private keys can generate the exact same Bitcoin address.

Why is this not a concern?

For the same reason me having a probability of finding any of your private keys by generating random 256 bits number is not a concern  :)


Title: Re: Why is amount of private keys that can generate the exact address not a concern?
Post by: o_e_l_e_o on December 24, 2019, 05:11:44 PM
Because there are (slightly less than) 2256 possible private keys. Dividing 2256 by 296 still means you would need to generate (on average) 2160 private keys before getting a match.

Even if you generated a trillion keys every second since the birth of the universe 13.7 billion years ago, you would still only have generated 0.00000000000000003% of 2160 keys.

There is no concern of anyone generating a key which will lead to someone else's coins. The chance of it happening is so astronomically small that it is essentially impossible.


Title: Re: Why is amount of private keys that can generate the exact address not a concern?
Post by: PrimeNumber7 on December 24, 2019, 10:33:23 PM
Even if you were to generate a key that can spend coin in an address with unspent inputs, it would be difficult to know that you did. It is trivial to generate a lot of keys, but it is difficult to know if they can spend coin on an ongoing basis. If you generated a key today that in a week receives coin, you would have no way of knowing if you had been generating keys continuously for the past week at a maximum capacity. It isn’t difficult to check if an address has unspent inputs as of a previous block height but this is not feasible to monitor many addresses if you are generating private keys as quickly as your CPU allows.


Title: Re: Why is amount of private keys that can generate the exact address not a concern?
Post by: pooya87 on December 25, 2019, 05:25:27 AM
because you are looking at it from a wrong angle.
what you are describing is collision and this collision is in 2160 bits so in order to find a collision you have to first create at least 280 keys and hashes and since that number is so big this collision is not a concern.
in other words it doesn't matter how many private keys there are in total, whether it is 2160 or 2256 or 2512,... you still have to generate at least 280 keys to find a collision.


Title: Re: Why is amount of private keys that can generate the exact address not a concern?
Post by: Dabs on December 27, 2019, 01:53:02 PM
The key space is so large it is not really a concern. It's not the same as infinite, but the chances of collisions are negligibly small that no one except math nerds really care about it.

I'm not sure if Satoshi said anything about it, but he created the whole protocol and system, so there must be some sort of reasoning why it shouldn't matter.