<blockquote>
  <p>Is it technically correct to say that if I share my address with the
  network, nobody has access to my pubkey still?</p>
</blockquote>

<p>Yes, if your address is a <a href="https://en.bitcoin.it/wiki/Address" rel="nofollow noreferrer">standard address</a>, then deriving the public key from an address is practically impossible (because it is hashed). But as soon as a transaction is made which spends funds sent to that address, then the public key is in the signature of the spending tx.</p>

<p>A <code>P2PKH</code> transaction contains:</p>

<pre><code>scriptPubKey: OP_DUP OP_HASH160 &lt;pubKeyHash&gt; OP_EQUALVERIFY OP_CHECKSIG
scriptSig: &lt;sig&gt; &lt;pubKey&gt;
</code></pre>

<p>So, once a <code>P2PKH UTXO</code> is spent, one can simply look at the script sig for the <code>pubKey</code>.</p>

<p>This is because in order to verify transaction <a href="https://en.bitcoin.it/wiki/OP_CHECKSIG" rel="nofollow noreferrer">signatures</a>, nodes need the corresponding public key. For this reason, sometimes users will use different addresses for each transaction to help ensure more privacy.</p>

CC BY-SA 4.0
2018-09-04T19:19:17.683Z
2018-09-04T19:24:31.680Z
2018-09-04T19:24:31.680Z
JBaczuk
<p>Is it technically correct to say that if I share my address with the network, nobody has access to my pubkey still?</p>

<p>But if I share a valid signature to a P2PKH UTXO, someone can derive my pubkey and consequently spend my UTXO?</p>

<address><public-key><signature><p2pkh>
P2PKH - Sharing a wallet address does not reveal my pub key?
João Grilo Bitcoinheiro
# P2PKH - Sharing a wallet address does not reveal my pub key?

(Asked by: username_0 on 2018-09-04)

Is it technically correct to say that if I share my address with the network, nobody has access to my pubkey still?

But if I share a valid signature to a P2PKH UTXO, someone can derive my pubkey and consequently spend my UTXO?

**Tags:** address, public-key, signature, p2pkh


---

## 1 answers

### Answer by username_1 on 2018-09-04. Score: 2 | Accepted answer

> Is it technically correct to say that if I share my address with the
> network, nobody has access to my pubkey still?

Yes, if your address is a [standard address](https://en.bitcoin.it/wiki/Address), then deriving the public key from an address is practically impossible (because it is hashed). But as soon as a transaction is made which spends funds sent to that address, then the public key is in the signature of the spending tx.

A `P2PKH` transaction contains:

```
scriptPubKey: OP_DUP OP_HASH160 <pubKeyHash> OP_EQUALVERIFY OP_CHECKSIG
scriptSig: <sig> <pubKey>

```

So, once a `P2PKH UTXO` is spent, one can simply look at the script sig for the `pubKey`.

This is because in order to verify transaction [signatures](https://en.bitcoin.it/wiki/OP_CHECKSIG), nodes need the corresponding public key. For this reason, sometimes users will use different addresses for each transaction to help ensure more privacy.


---

