<p>It's not possible to discover that the addresses are related in any way from the addresses alone. It can however be possible to deduce that addresses are owned by the same entity from how funds received to addresses got spent.</p>

CC BY-SA 4.0
2022-04-13T16:15:02.487Z
Hi there, just to be sure, what do you mean by "from how funds received to addresses got spent"? Do you mean an assumption but not a proof, right? Like if I pay my rent from `addr-1` even months and from `addr-2` odd months, then someone could "assume" but not prove in any way that both addresses are controlled by me? Is that what you mean? Thx!
Gerard Bosch
CC BY-SA 4.0
2022-04-13T16:27:45.880Z
I mean that when you spend your rent from funds that were received both to `addr-1` and `addr-2` in one transaction, the common input ownership heuristic suggests that you are in control of both keys. Or if you pay your rent from `addr-1` and then use the change output to pay something else, your landlord may guess that the second address was also sent by you. Or if you use funds from `addr-2` with the change from the transaction that spent from `addr-1` that all `addr-1`, the change address and `addr-2` are owned by you. Check out https://en.bitcoin.it/wiki/Privacy for more thoughts on this.
Murch
CC BY-SA 4.0
2022-04-15T06:30:27.537Z
Thanks! But all of these are suggestions or hypothesis, right? In none of these cases they become a proof, does it? I think I get your points, useful to understand.
Gerard Bosch
CC BY-SA 4.0
2022-04-15T18:21:24.827Z
@GerardBosch: Yes, they all only are indicators, not proof. But if multiple of these indicators overlap and point at the same conclusion, they can become sufficiently reliable.
Murch
CC BY-SA 4.0
2022-04-12T14:59:20.907Z
2022-04-12T14:59:20.907Z
Murch
<blockquote>
<p><strong>Any technical detail is appreciated</strong></p>
</blockquote>
<p>The most common forms of address in Bitcoin (e.g. P2PKH) are the result of a hashing operation using hashing algorithms like SHA256.</p>
<p>As <a href="https://www.sparknotes.com/cs/searching/hashtables/section2" rel="nofollow noreferrer">a random website</a> put it:</p>
<blockquote>
<p>There are four main characteristics of a good hash function:</p>
<ol>
<li>The hash value is fully determined by the data being hashed.</li>
<li>The hash function uses all the input data.</li>
<li><strong>The hash function &quot;uniformly&quot; distributes the data across the entire set of possible hash values.</strong></li>
<li><strong>The hash function generates very different hash values for similar strings.</strong></li>
</ol>
</blockquote>
<p>(my emphasis)</p>
<p>So the hashes are indistinguishable from random numbers. Which means you cannot learn anything about the original data by studying them. You cannot tell if two hashes are the results of data that differs by one bit or by a million bits. You cannot tell if two hashes are related. You cannot tell if two addresses are related only by studying the addresses.</p>
<p>Similar characteristics apply to public-keys and some other interesting numbers appearing in the public replicated journal of transactions known as the Bitcoin blockchain. I believe the process that produces a private key or a public key is intended to produce numbers that outside observers will not be able to distinguish from numbers produced completely randomly.</p>
<hr />
<p>For example given these numbers</p>
<pre><code>ad57366865126e55649ecb23ae1d48887544976efea46a48eb5d85a6eeb4d306
16dc368a89b428b2485484313ba67a3912ca03f2b2b42429174a4f8b3dc84e44
37834f2f25762f23e1f74a531cbe445db73d6765ebe60878a7dfbecd7d4af6e1
454f63ac30c8322997ef025edff6abd23e0dbe7b8a3d5126a894e4a168c1b59b
5ef6fdf32513aa7cd11f72beccf132b9224d33f271471fff402742887a171edf
1253e9373e781b7500266caa55150e08e210bc8cd8cc70d89985e3600155e860
482d9673cfee5de391f97fde4d1c84f9f8d6f2cf0784fcffb958b4032de7236c
3346f2bbf6c34bd2dbe28bd1bb657d0e9c37392a1d5ec9929e6a5df4763ddc2d
9537f32ec7599e1ae953af6c9f929fe747ff9dadf79a9beff1f304c550173011
0fd42b3f73c448b34940b339f87d07adf116b05c0227aad72e8f0ee90533e699
9bdb2af6799204a299c603994b8e400e4b1fd625efdb74066cc869fee42c9df3
</code></pre>
<p>From anything above, there is no analytic way to tell <a href="https://go.dev/play/p/qgYEJjcLyCa" rel="nofollow noreferrer">how they are related</a></p>

CC BY-SA 4.0
2022-04-13T16:17:02.180Z
Hi there, I guess from your post that the answer is: "No, it is not possible to relate them", right? :)
Gerard Bosch
CC BY-SA 4.0
2022-04-12T15:36:00.183Z
2022-04-12T17:03:13.980Z
2022-04-12T17:03:13.980Z
RedGrittyBrick
<p>There are in fact huge and profitable businesses based on transaction surveillance of the blockchains.</p>
<p>Maintaining any privacy at all is a very difficult technical rabbit hole if you are transacting on chain.</p>
<p>Powerful adversaries of privacy are constantly striving to keep Bitcoin transparent as it was designed.</p>
<p>From a static POV, no the fact that multiple addresses were all generated from the same HD Account-wallet, cannot be deduced mathematically.</p>

CC BY-SA 4.0
2022-04-14T02:44:39.860Z
2022-04-14T02:44:39.860Z
HansBKK
<p>DISCLAIMER: This question is not strictly for Bitcoin but a general question about wallets and any cryptocurrency.</p>
<p>Hi there!</p>
<p>Is it possible to relate 2 different addresses generated from an HD wallet (both deriving from the same seed phrase)?</p>
<p>I mean, being <code>addr-1</code> the first generated address and <code>addr-2</code> the second generated, would it be possible somehow for an external viewer to know that both addresses belong to (or were generated from) the same wallet (same seed phrase)?</p>
<p>My understanding is that it is impossible, by the way key-derivation functions work. But I'd like to confirm my thoughts. Any technical detail is appreciated </p>
<p>Thank you!</p>

<wallet><bip32-hd-wallets>
HD wallet: Can an external party relate addresses?
Gerard Bosch
# HD wallet: Can an external party relate addresses?

(Asked by: username_0 on 2022-04-12)

DISCLAIMER: This question is not strictly for Bitcoin but a general question about wallets and any cryptocurrency.

Hi there!

Is it possible to relate 2 different addresses generated from an HD wallet (both deriving from the same seed phrase)?

I mean, being `addr-1` the first generated address and `addr-2` the second generated, would it be possible somehow for an external viewer to know that both addresses belong to (or were generated from) the same wallet (same seed phrase)?

My understanding is that it is impossible, by the way key-derivation functions work. But I'd like to confirm my thoughts. Any technical detail is appreciated

Thank you!

**Tags:** wallet, bip32-hd-wallets


---

## 3 answers

### Answer by username_1 on 2022-04-12. Score: 2 | Accepted answer

It's not possible to discover that the addresses are related in any way from the addresses alone. It can however be possible to deduce that addresses are owned by the same entity from how funds received to addresses got spent.

> **Comments:**
> **username_0**: Hi there, just to be sure, what do you mean by "from how funds received to addresses got spent"? Do you mean an assumption but not a proof, right? Like if I pay my rent from `addr-1` even months and from `addr-2` odd months, then someone could "assume" but not prove in any way that both addresses are controlled by me? Is that what you mean? Thx!  
> **username_1**: I mean that when you spend your rent from funds that were received both to `addr-1` and `addr-2` in one transaction, the common input ownership heuristic suggests that you are in control of both keys. Or if you pay your rent from `addr-1` and then use the change output to pay something else, your landlord may guess that the second address was also sent by you. Or if you use funds from `addr-2` with the change from the transaction that spent from `addr-1` that all `addr-1`, the change address and `addr-2` are owned by you. Check out https://en.bitcoin.it/wiki/Privacy for more thoughts on this.  
> **username_0**: Thanks! But all of these are suggestions or hypothesis, right? In none of these cases they become a proof, does it? I think I get your points, useful to understand.  
> **username_1**: @username_0: Yes, they all only are indicators, not proof. But if multiple of these indicators overlap and point at the same conclusion, they can become sufficiently reliable.  

---

### Answer by username_2 on 2022-04-12. Score: 0

> **Any technical detail is appreciated**

The most common forms of address in Bitcoin (e.g. P2PKH) are the result of a hashing operation using hashing algorithms like SHA256.

As [a random website](https://www.sparknotes.com/cs/searching/hashtables/section2) put it:

> There are four main characteristics of a good hash function:
>
> 1. The hash value is fully determined by the data being hashed.
> 2. The hash function uses all the input data.
> 3. **The hash function "uniformly" distributes the data across the entire set of possible hash values.**
> 4. **The hash function generates very different hash values for similar strings.**

(my emphasis)

So the hashes are indistinguishable from random numbers. Which means you cannot learn anything about the original data by studying them. You cannot tell if two hashes are the results of data that differs by one bit or by a million bits. You cannot tell if two hashes are related. You cannot tell if two addresses are related only by studying the addresses.

Similar characteristics apply to public-keys and some other interesting numbers appearing in the public replicated journal of transactions known as the Bitcoin blockchain. I believe the process that produces a private key or a public key is intended to produce numbers that outside observers will not be able to distinguish from numbers produced completely randomly.

---

For example given these numbers

```
ad57366865126e55649ecb23ae1d48887544976efea46a48eb5d85a6eeb4d306
16dc368a89b428b2485484313ba67a3912ca03f2b2b42429174a4f8b3dc84e44
37834f2f25762f23e1f74a531cbe445db73d6765ebe60878a7dfbecd7d4af6e1
454f63ac30c8322997ef025edff6abd23e0dbe7b8a3d5126a894e4a168c1b59b
5ef6fdf32513aa7cd11f72beccf132b9224d33f271471fff402742887a171edf
1253e9373e781b7500266caa55150e08e210bc8cd8cc70d89985e3600155e860
482d9673cfee5de391f97fde4d1c84f9f8d6f2cf0784fcffb958b4032de7236c
3346f2bbf6c34bd2dbe28bd1bb657d0e9c37392a1d5ec9929e6a5df4763ddc2d
9537f32ec7599e1ae953af6c9f929fe747ff9dadf79a9beff1f304c550173011
0fd42b3f73c448b34940b339f87d07adf116b05c0227aad72e8f0ee90533e699
9bdb2af6799204a299c603994b8e400e4b1fd625efdb74066cc869fee42c9df3

```

From anything above, there is no analytic way to tell [how they are related](https://go.dev/play/p/qgYEJjcLyCa)

> **Comments:**
> **username_0**: Hi there, I guess from your post that the answer is: "No, it is not possible to relate them", right? :)  

---

### Answer by username_3 on 2022-04-14. Score: 0

There are in fact huge and profitable businesses based on transaction surveillance of the blockchains.

Maintaining any privacy at all is a very difficult technical rabbit hole if you are transacting on chain.

Powerful adversaries of privacy are constantly striving to keep Bitcoin transparent as it was designed.

From a static POV, no the fact that multiple addresses were all generated from the same HD Account-wallet, cannot be deduced mathematically.


---

