6

This is my first bitcoin transaction.

Why this transaction doesn't show my public key? help message on the same page says that,

It's impossible to determine the public key from a Bitcoin address, but if the public key was ever used on the network, it is listed here.

I was thinking that my address is public key. Is it really impossible to derive public key from address?

other details, blockchain.info transaction & address details.

2 Answers 2

7

The address is at its most basic just a hash of the public key. The hash functions involved (RIPEMD-160 and SHA256) are cryptographic hash functions. They are often also referred to as one-way functions, which is exactly the reason why you cannot derive the public key from the address.

Oneway functions provide exactly that a = f(pk) so that given a you cannot derive pk.

For this very reason the next transaction claiming the output sent to an address has to not only provide a signature but also the matching public key that, when processed into an address, returns the address in the output.

For more details see the address derivation process.

6

The address is only 160-bits. The public key is 257-bits. So there's no way to go from an address to a public key -- information is missing.

The shortest hash with sufficient security is 160-bits. So Bitcoin uses a 160-bit hash as an address to make the address as short as possible. However, there is no known public key scheme that is sufficiently secure with only 160-bit public keys. So the public key couldn't be used as an account address without making the account longer.

However, the public key is needed to verify a signature. So when you perform a transaction to claim coins sent to an account, you must provide the public key. When validating the transaction, the public key is checked to ensure it has the correct hash (matching the account) and then the signature is checked to ensure it is valid for the transaction and made with the supplied public key. From that point on, the public key corresponding to the address is publicly known.

Your Answer

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

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