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 '15 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. – Martin Vegter Oct 6 '15 at 8:25

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, privacy policy and cookie policy

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