Some simplified explanations of Bitcoin say, that the Bitcoin address is the public key, and anybody can easily verify that a signed transaction is valid since it was signed with corresponding private key.

But in reality, the address is the hash of another hash of the public key.

So, it's not possible to derive the public key from the address alone.

How do miners obtain my public key, then? Is the public key included in the transaction I am sending ?

  • Possible duplicate: bitcoin.stackexchange.com/questions/20718/…
    – Nick ODell
    Oct 6, 2015 at 8:15
  • 1
    @Nick ODell - the linked question explains how the owner can get public key from the private key. But it does not explain how the miners get public key corresponding to my address. Therefore, I believe my question is not a duplicate. Oct 6, 2015 at 8:25

2 Answers 2


Yes, a transaction includes the public key. So, only when you spend the coins from an address a public key actually becomes public (unless you have shared it with anyone otherwise).

So, as long as you don't reuse addresses, the public key is only known after a transaction, which usually is just a few confirmations away from the address' balance to be 0.


Is the public key included in the transaction I am sending ?

Yes it is, as part of the signature process, or more precisely, of the sigscript - have a look here: How does the ECDSA verification algorithm work during transaction?

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.