Bitcoin addresses are essentially 160-bit hashes of a 256-bit public key. Huh? How can all possible numbers in 256-bit space be squeezed into 160-bit space? Does that mean any given bitcoin address could be derived from more than just one public key?

  • 1
    I’m not sure I understand your question but if it means what I think it does then it will be beneficial for you to read about hash functions in a general setting. They are by design non injective (since they have a finite codomain and a larger domain) meaning there will be two different inputs that hash to the same output but a good hash function is designed so that the probability of one person being able to find two such inputs is epsilon small
    – Prince M
    Jul 28, 2018 at 23:34

1 Answer 1


It's really 160 bit hash (RIPEMD160) of an already hashed (SHA256) public secp256k1 elliptic curve key. And yes, on the average, every address has about 2256-160=296 pairs of private/public keys.

  • There is a possibility that it might be easier for quantum computing to 1st identify any one of the overlapping 2^96 public keys, with an already known companion private key, satisfying the associated P2PKH transaction redemption criteria than trying to factor a 256-bit private key.
    – skaht
    Jul 30, 2018 at 20:14

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.