<h2>HD vs non-deterministic:</h2>

<p>"HD" means "hierarchical deterministic".</p>

<p>"deterministic" means: all your private keys are generated from a seed, <strong>"knowing your seed = knowing all your private keys", so that frequent backup is no longer needed</strong>.</p>

<p>"hierarchical" means: you can manage multiple coins/accounts/address types with only one seed. Watch-only wallets are supposed to import account extended public keys only, instead of the master public key, so that: even if there's a security breach, hardened parent nodes could still protect other accounts from being hacked, as long as the master private key is not leaked.</p>

<p><strong>HD only affects how your private keys are generated and how you should backup your wallet. It has nothing to do with how you broadcast a transaction, nor with your IP address.</strong></p>

<p>Bitcoin-QT was once a non-deterministic wallet: all private keys are independently generated. This might be true even if you are using a modern version of Bitcoin Core (which supports HD since 0.13), since Bitcoin Core won't upgrade a legacy non-deterministic <code>wallet.dat</code> to HD automatically. You can upgrade it manually by restarting Bitcoin Core with <code>-upgradewallet</code> command-line argument - of course, you must backup your wallet once again after this operation. BTW, if you enabled wallet encryption, or executed something like <code>importprivkey</code> or <code>sethdseed</code> in the console, you also need to backup it once again.</p>

<p>However, Bitcoin Core uses hardened address derivation, which means you cannot export any <code>xpub</code> extended public key to a watch-only wallet. Besides, Bitcoin Core doesn't provide any mnemonic.</p>

<h2>Full node vs light-weight client</h2>

<p>Full node wallets like Bitcoin Core reconstruct your wallet balance and transaction history by rescaning the whole blockchain <strong>locally</strong>, so that the receiving privacy is almost perfect - however, this is true only for 3rd party surveillance, your transacting counterparty obviously knows that the address which you gave him belongs to you, so that he can still try to track your transactions, which is exactly why the users are suggested to avoid address reuse (including both receiving and change address).</p>

<p>Light-weight clients like Electrum <strong>ask other people</strong> for your transaction history and wallet balance, so there are inevitably some privacy leaks. However, Electrum uses TLS to encrypt the traffic, so that your ISP/public WiFi provider/etc won't know your transaction history and wallet balance. You may use Tor to hide your IP address, but the Electrum server is still able to log which addresses have common owner.</p>

<p>BTW: Electrum servers are not controlled by the developers. Anyone is able to spin up his own server to join the network.</p>

<p>As for sending privacy, the Electrum server which you are using obviously knows both your IP address and what transaction you are broadcasting. However, since your connection to the Electrum server is encrypted by TLS, middlemen like your ISP cannot sniff what transaction you are sending.</p>

<p>Bitcoin Core relays other transactions by default, which makes traffic sniffing a little bit tricky, but not impossible still. Anyone who's able to monitor your Internet traffic, including your ISP/public WiFi provider/etc, is also able to find out which transaction is sent by you. Elipse attack is also likely to be a threat. Therefore, to protect your sending privacy, you may use Tor to broadcast your raw transaction (you may use Tor browser with an online block explorer service which supports transaction broadcasting, like <a href="https://www.blockchain.com/btc/pushtx" rel="nofollow noreferrer">this</a>).</p>

<h2>Using Tor with full node is still not enough</h2>

<p>All bitcoin transactions are public information. For example, sending coins (UTXOs in other terms) which were received from different origins can reveal that they had a common owner (this was mentioned in Satoshi's whitepaper). You may learn some more advanced techniques to protect your privacy further: <a href="https://en.bitcoin.it/wiki/Privacy" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Privacy</a></p>

CC BY-SA 4.0
2019-02-25T10:54:53.513Z
2019-12-09T23:45:53.203Z
2019-12-09T23:45:53.203Z
Chris Chen
<p>Companies like BitPay and Electrum, can log my IP when I make a transaction, right? If so, should I use a Web Wallet (plus VPN) for transactions?</p>

CC BY-SA 4.0
2019-02-25T06:33:14.547Z
Electrum is not a company. This also has nothing to do with HD derivation.
Pieter Wuille
CC BY-SA 4.0
2019-03-20T10:17:44.717Z
I'm voting to close this question as off-topic because question has nothing to do with HD derivation as Pieter has pointed out.
rny
<transactions><security><privacy>
Does a HD Wallet log my IP when i do a transaction?
mario
# Does a HD Wallet log my IP when i do a transaction?

(Asked by: username_0 on 2019-02-25)

Companies like BitPay and Electrum, can log my IP when I make a transaction, right? If so, should I use a Web Wallet (plus VPN) for transactions?

**Tags:** transactions, security, privacy

> **Comments:**
> **username_1**: Electrum is not a company. This also has nothing to do with HD derivation.  
> **username_2**: I'm voting to close this question as off-topic because question has nothing to do with HD derivation as username_1 has pointed out.  

---

## 1 answers

### Answer by username_3 on 2019-02-25. Score: 4 | Accepted answer

## HD vs non-deterministic:

"HD" means "hierarchical deterministic".

"deterministic" means: all your private keys are generated from a seed, **"knowing your seed = knowing all your private keys", so that frequent backup is no longer needed**.

"hierarchical" means: you can manage multiple coins/accounts/address types with only one seed. Watch-only wallets are supposed to import account extended public keys only, instead of the master public key, so that: even if there's a security breach, hardened parent nodes could still protect other accounts from being hacked, as long as the master private key is not leaked.

**HD only affects how your private keys are generated and how you should backup your wallet. It has nothing to do with how you broadcast a transaction, nor with your IP address.**

Bitcoin-QT was once a non-deterministic wallet: all private keys are independently generated. This might be true even if you are using a modern version of Bitcoin Core (which supports HD since 0.13), since Bitcoin Core won't upgrade a legacy non-deterministic `wallet.dat` to HD automatically. You can upgrade it manually by restarting Bitcoin Core with `-upgradewallet` command-line argument - of course, you must backup your wallet once again after this operation. BTW, if you enabled wallet encryption, or executed something like `importprivkey` or `sethdseed` in the console, you also need to backup it once again.

However, Bitcoin Core uses hardened address derivation, which means you cannot export any `xpub` extended public key to a watch-only wallet. Besides, Bitcoin Core doesn't provide any mnemonic.

## Full node vs light-weight client

Full node wallets like Bitcoin Core reconstruct your wallet balance and transaction history by rescaning the whole blockchain **locally**, so that the receiving privacy is almost perfect - however, this is true only for 3rd party surveillance, your transacting counterparty obviously knows that the address which you gave him belongs to you, so that he can still try to track your transactions, which is exactly why the users are suggested to avoid address reuse (including both receiving and change address).

Light-weight clients like Electrum **ask other people** for your transaction history and wallet balance, so there are inevitably some privacy leaks. However, Electrum uses TLS to encrypt the traffic, so that your ISP/public WiFi provider/etc won't know your transaction history and wallet balance. You may use Tor to hide your IP address, but the Electrum server is still able to log which addresses have common owner.

BTW: Electrum servers are not controlled by the developers. Anyone is able to spin up his own server to join the network.

As for sending privacy, the Electrum server which you are using obviously knows both your IP address and what transaction you are broadcasting. However, since your connection to the Electrum server is encrypted by TLS, middlemen like your ISP cannot sniff what transaction you are sending.

Bitcoin Core relays other transactions by default, which makes traffic sniffing a little bit tricky, but not impossible still. Anyone who's able to monitor your Internet traffic, including your ISP/public WiFi provider/etc, is also able to find out which transaction is sent by you. Elipse attack is also likely to be a threat. Therefore, to protect your sending privacy, you may use Tor to broadcast your raw transaction (you may use Tor browser with an online block explorer service which supports transaction broadcasting, like [this](https://www.blockchain.com/btc/pushtx)).

## Using Tor with full node is still not enough

All bitcoin transactions are public information. For example, sending coins (UTXOs in other terms) which were received from different origins can reveal that they had a common owner (this was mentioned in Satoshi's whitepaper). You may learn some more advanced techniques to protect your privacy further: <https://en.bitcoin.it/wiki/Privacy>


---

