2

On block explorer there are some address with public key available, and some without.

(e.g. this one has public key:

http://blockexplorer.com/address/1HBheYzvX7NDtcwVrMS7gxReNRVezYS7w2 ,

and this one doesn't:

http://blockexplorer.com/address/1111111111111111111114oLvT2)

Why is that?

Is it because one has money sent out and one doesn't?

If I understand correctly then the public key is included in the transaction out of an address, is that right?

1

The 1111111111111111111114oLvT2 hasn't been spent yet whereas 1HBheYzvX7NDtcwVrMS7gxReNRVezYS7w2 has.

To spend, the public key is part of the INPUT's ScriptSig:

So until there is a spend transaction, the public key isn't known to the network, just the Bitcoin address.

Related: Why is it impossible to derive public key from address?

0

(Those two links are the same...)

In short, there are two common ways to send money:

  1. Include the public key. The sender will need to prove that he has the matching private key.
  2. Include a hash of the public key. The sender will need to provide the public key matching that hash and also the the proof of owning the private key.

Most people use the second way because the hash of a public key (the address) is shorter.

  • I edited the link. I don't see why the second way is shorter, how do one prove he own the private key without giving out the public key? Can you give a reference to this? – h__ Apr 10 '13 at 0:14
  • @hyh It's not about adding less data to the blockchain. It's about shortening bitcoin addresses. – Nick ODell Apr 10 '13 at 0:39

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.