He wants to know how.
The problem of this brought confusion lies on the badly formulated question of Kostelooscoin. Specifically, this one:
how do we go from the first public key to the second ?
For instance, how can one understand what the first public key is? Even based on the posts of this discussion. It could mean the way we can calculate the distance between two public keys (difference of two x-coordinates) which give the same address or the procedure of ending up to the second public key based on the times G has been multiplied by only having the first public key.
My reply didn't mention that there are TWO public keys with the same bitcoin address, but rather around 2
96. IF I had said that there're
at least two or
exactly two, I could have understood the question better, but seeing a “first” and a “second” made me understand they want to know something else.
2Q.
"Is there a calculation that I can use to find multiple ECDSA Secp256k1 public keys that all result in the same bitcoin P2PKH address?"Is it possible to find two public keys with the same bitcoin address ?
2A. You misunderstood what he was asking (you thought he wanted to know if this meant that there was a mathematically non-zero probability of a collision.), so you told him "Yes"
It depends on how you understand the question; I'm not yet convinced that I did it wrong. Kostelooscoin asks if that very condition where two public keys give the same bitcoin address can ever come true; if it's possible to ever be true. That's how I understand it and based on that understanding I replied.
But, NOW that I've seen their latest question, I can acknowledge that their next-to-last question wasn't meant to be answered that way.
So, Kostelooscoin, to sum up;
It is possible to find two or more public keys which give the same bitcoin address, but it is
highly unlikely or as said by DannyHamilton,
realistically effectively impossible to ever find such couple. If you ever somehow searched the entire range, a COMPLETELY HYPOTHETICAL & FANTASTIC SCENARIO, you'd find on average 2
96 public keys which give the same address.
There's no way to know or approach the distance between two public keys that once hashed with SHA256 & RIPEMD-160 and encoded with base58 give the same address, unless you start trying (brute forcing) keys until you've indeed found such pair. That's true due to the unpredictability of the final output hash functions provide to us.
In other words, I may start hashing numbers whose distance is 1 such as RIPEMD160(1), RIPEMD160(2), RIPEMD160(3)..., but their hashes will not have a mathematical connection. At least not a connection one has found so far.