Author

Topic: 79,228,162,514,264,337,593,543,950,336 Private keys per bitcoin address? (Read 194 times)

legendary
Activity: 2632
Merit: 1212
Livecasino, 20% cashback, no fuss payouts.
I guess I've to stand up and say this is completely new to me... I had no idea that there was more than one private key per address.

I always knew one private key = a lot of addresses. I didn't know someone could be using a different private key and still access the same address. I know this is very very unlikely but it still doesn't really come into my mind:)
legendary
Activity: 1512
Merit: 7340
Farewell, Leo
This means their are: 79,228,162,514,264,337,593,543,950,336 private keys per Bitcoin address

What is missing in that sentence is the phrase “on average”. You can't know how many private keys lead to the same Bitcoin address, unless if you try them all and start counting! Based on those numbers, we can say that there are around 296 keys that once are put through RIPEMD-160, you get the same 160-bit message digest.

But that number shouldn't scare you; Brute forcing an address may be easier if there are around 296 keys that satisfy the conditions, but you have to understand how big 2160 is. To avoid re-writing the same texts, here are two of my previous posts related with this meaningless procedure:

Re: Can Bitcoin be hacked? Has it ever been hacked?
Re: Generating and Storing ALL keys
legendary
Activity: 2870
Merit: 7490
Crypto Swap Exchange
you are wrong.

He's right and you're the wrong one. It's called collusion attack where multiple input produce same output.

It's not even true that there is only 1 address per private key.  Each key can be associated with multiple addresses, since an address is just a representation of a script.

Additionally, 1 private key could have 3 different public key (hybrid, compressed and compressed), where each public key generate different address. However, the standard for SegWit address (P2SH-P2WSH, P2WPKH and P2WSH) using compressed public key.
legendary
Activity: 2268
Merit: 18586
Still impossible to brute force but not as secure as I first thought!
It is not the "weakest" part of bitcoin.

The secp256k1 curve which bitcoin uses provides keys of 256 bits in length, with 128 bits of security. Take a look at page 4 of the relevant Standard for Efficient Cryptography. If someone wanted to try to calculate a private key which corresponds to your address, then it would take them in the order of 2128 operations to solve the elliptic curve discrete logarithm problem for your public key to do so. So, having to generate 2160 private keys and calculate the corresponding address is exponential harder.

That's why a 12 word 128 bit seed phrase is perfectly adequate, and why having "only" 2160 addresses is not a security issue.
newbie
Activity: 4
Merit: 8
Yeah I figured as much. It wasnt until I did the math that i realised it. Still impossible to brute force but not as secure as I first thought!
legendary
Activity: 3388
Merit: 4615
We were always led to believe that their was 1 private key per bitcoin address.

Where did you hear that?  That has NEVER been believed to be true by anyone that understood how Bitcoin works.  There have been hundreds of conversations over the past 12 years discussing exactly what you seem to have just discovered.

It's not even true that there is only 1 address per private key.  Each key can be associated with multiple addresses, since an address is just a representation of a script.

What IS true is that there is 1 bitcoin address of each standard type associated with each private key.

This means that if I have a newly generated Bitcoin address that I created by generating a valid public key converting to public key to address, their will be 79,228,162,514,264,337,593,543,950,336 other private keys that will end up with the same result (address).

On average.

I'm not certain, but I believe that some addresses may have more private keys than that, and others may have less.

Like I said if I am wrong tell me!

There are a lot of different types of addresses.  However, if you are talking about addresses that are based on RIPEMD160, then you are not wrong.  However, there are SO MANY private keys, that there isn't really any concern that two randomly generated private keys will result in the same address, and the search space 2160 is still too big for any brute force attempt.
legendary
Activity: 2268
Merit: 18586
you are wrong.
He's not.

Considering only P2PKH address for ease of calculations, then there are (slightly fewer than) 2256 private keys which will generate (slightly fewer than) 2256 public keys. Since to turn a public key in to an address you must use a RIPEMD160 function which has 2160 possible outputs, then there are exactly 2160 valid addresses.

Therefore, there are on average 2256/2160 = 296 = 7.923*1028 private keys for each address.
newbie
Activity: 4
Merit: 8
i did Grin



Hi guess just doing some math on keys to address ratio's. We were always led to believe that their was 1 private key per bitcoin address. This is not even close. If I am wrong please tell me how:

There are: 115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336 possible private keys that are valid for bitcoin addresses

There are: 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 possible valid bitcoin addresses (2^160)

This means their are: 79,228,162,514,264,337,593,543,950,336 private keys per Bitcoin address

This means that if I have a newly generated Bitcoin address that I created by generating a valid public key converting to public key to address, their will be 79,228,162,514,264,337,593,543,950,336 other private keys that will end up with the same result (address).

Like I said if I am wrong tell me!

you are wrong.


use smaller numbers to understand why you are wrong.

there are 100 keys and only 10 addresses

it means 90 keys do not get assigned

and the ten addresses get 10 keys.



that isnt the case. All valid private keys get assigned. Show me a valid private key within range that you cant convert to a valid bitcoin address. You cant!!! ALL 115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336 valid private keys can be converted into 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 bitcoin addresses!!!
legendary
Activity: 4116
Merit: 7849
'The right to privacy matters'
newbie
Activity: 4
Merit: 8
Hi guess just doing some math on keys to address ratio's. We were always led to believe that their was 1 private key per bitcoin address. This is not even close. If I am wrong please tell me how:

There are: 115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336 possible private keys that are valid for bitcoin addresses

There are: 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 possible valid bitcoin addresses (2^160)

This means their are: 79,228,162,514,264,337,593,543,950,336 private keys per Bitcoin address

This means that if I have a newly generated Bitcoin address that I created by generating a valid public key converting to public key to address, their will be 79,228,162,514,264,337,593,543,950,336 other private keys that will end up with the same result (address).

Like I said if I am wrong tell me!

you are wrong.

lol ok explain
legendary
Activity: 4116
Merit: 7849
'The right to privacy matters'
Hi guess just doing some math on keys to address ratio's. We were always led to believe that their was 1 private key per bitcoin address. This is not even close. If I am wrong please tell me how:

There are: 115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336 possible private keys that are valid for bitcoin addresses

There are: 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 possible valid bitcoin addresses (2^160)

This means their are: 79,228,162,514,264,337,593,543,950,336 private keys per Bitcoin address

This means that if I have a newly generated Bitcoin address that I created by generating a valid public key converting to public key to address, their will be 79,228,162,514,264,337,593,543,950,336 other private keys that will end up with the same result (address).

Like I said if I am wrong tell me!

you are wrong.


use smaller numbers to understand why you are wrong.

there are 100 keys and only 10 addresses

it means 90 keys do not get assigned

and the ten addresses get 10 keys.

newbie
Activity: 4
Merit: 8
Hi guess just doing some math on keys to address ratio's. We were always led to believe that their was 1 private key per bitcoin address. This is not even close. If I am wrong please tell me how:

There are: 115,792,089,237,316,195,423,570,985,008,687,907,852,837,564,279,074,904,382,605,163,141,518,161,494,336 possible private keys that are valid for bitcoin addresses

There are: 1,461,501,637,330,902,918,203,684,832,716,283,019,655,932,542,976 possible valid bitcoin addresses (2^160)

This means their are: 79,228,162,514,264,337,593,543,950,336 private keys per Bitcoin address

This means that if I have a newly generated Bitcoin address that I created by generating a valid public key converting to public key to address, their will be 79,228,162,514,264,337,593,543,950,336 other private keys that will end up with the same result (address).

Like I said if I am wrong tell me!
Jump to: