<p>The only advantages of doing a coinjoin is that the recipient of your funds cannot see the source of your funds (and the sender of funds to you cannot see your future transactions). If you do a coinjoin with only your funds, any branch they follow along this trail will lead to a source (or destination) of your funds.</p>

<p>Every source you include in the coinjoin will thus be exposed. Your recipient, of course, won't <em>know</em> that they're all of <em>your</em> sources, but if they're keeping a log of addresses that are likely tied to your identity, now all of those addresses, and <em>only</em> those addresses, will be in their log. If you instead do this with other people, it muddies such a log with false leads.</p>

<p>Similarly, the sources of your funds will all have logs of that destination of funds. Also, they can follow the chain back and deduce that your address is likely tied to another address if you have multiple sources, and they will all have an list of your other addresss. Again, they won't <em>know</em> that the other address are necessarily your address, but they actually will be, and so their log will contain accurate address linkage data.</p>

CC BY-SA 4.0
2019-12-06T19:07:00.630Z
Yes, they can trace all the history about my money flow but, the fact is that they cannot claim some source are belong to me. additionally, my address set is consist of many transaction made with others. it means that they have to trace all the people's address that have expereicne trade with me. I think it is not bad method to hide privacy without depending on other people that may require some resources such as fee or time.
Hyunsoo
CC BY-SA 4.0
2019-12-06T19:19:26.917Z
Yes, your address set consists of many transactions made with others, but if you're concerned about privacy, that's exactly what you're trying to hide.
I can't imagine that showing the recipient more information about all of your sources of funds, instead of one source, is better for privacy. If they're the type of entity to just say "oh these came from a lot of sources, I give up", sure, but you can assume anyone really trying to decode the originating transaction will consult with a blockchain analytics firm, in which case you just gave them a lot more information.
hedgedandlevered
CC BY-SA 4.0
2019-12-06T15:38:53.037Z
2019-12-08T12:44:57.487Z
2019-12-08T12:44:57.487Z
hedgedandlevered
<p><em>"Privacy loves company."</em></p>

<p>The key is to understand <em>why</em> a coinjoin transaction provides privacy. It is not a magical veil that shields your financial history, it is just a tool that helps obfuscate a particular output's history. This obfuscation is only achieved by including many inputs in the coinjoin transaction, such that each input <em>could</em> be the source of a specific output, but it is not technically possible to determine which is which. </p>

<p>With this in mind, we can see why having many participants is important: you want to have as widely varied a selection of inputs as possible, so that your output's history is not meaningfully determinable. If you only include your own inputs, then each and every input will have a history that leads to you. </p>

<hr>

<p>To illustrate this point, consider the case in which a chain analysis firm has a very good idea of who owns each UTXO that exists: </p>

<p>If you supply 10 inputs to a transaction, but a chain analysis firm has linked your ID to those 10 inputs, then it would be trivial to determine that you likely own the outputs created as well. </p>

<p>On the other hand, if you supply 1 of 10 inputs, then the chain analysis firm would be hard pressed to determine who owns each newly created output. With no additional info, there is just a 10% chance that you own any one specific output. </p>

CC BY-SA 4.0
2019-12-06T23:11:35.713Z
2019-12-06T23:11:35.713Z
chytrik
<p>Doing coinjoin with only your coins is possible, it's called fake coinjoin. Samourai Wallet has one implementation, called <a href="https://samouraiwallet.com/stonewall" rel="nofollow noreferrer">Stonewall</a>, I have <a href="https://github.com/kristapsk/bitcoin-scripts" rel="nofollow noreferrer">written fake-coinjoin.sh for Bitcoin Core</a>. But such fake coinjoin by itself does not give you much privacy, because of <a href="https://en.bitcoin.it/wiki/Common-input-ownership_heuristic" rel="nofollow noreferrer">common-input-ownership heuristic</a>. So, by default chain analysis companies assume that all the inputs of Bitcoin transaction are controlled by the same entity. Unless they are aware of coinjoins and take them out from their analysis. What fake coinjoin does is that you cannot actually be really sure is coinjoin transaction with multiple equally sized outputs actual real multi-party coinjoin or not. And can possibly give you plausible deniability.</p>

CC BY-SA 4.0
2019-12-06T23:44:31.887Z
2019-12-06T23:44:31.887Z
Kristaps Kaupe
<blockquote>
  <p>Coinjoin is a method that make a transaction with other transaction of
  other parties to hide the link between txin and txout.</p>
</blockquote>

<p>In case of this, why we need others transaction? We have many bitcoin address since we are using HD Wallet(BIP32) so I think we don't need to wait other bitcoiner to participate into shuffling for making a transaction. we can just give our address set.</p>

<p>Is there a special reason that enforce to combine mine and others stuff?</p>

<p>Sorry for my English.</p>

<privacy><coinjoin>
Why does Coinjoin need multiple participants to increase privacy?
Hyunsoo
# Why does Coinjoin need multiple participants to increase privacy?

(Asked by: username_0 on 2019-12-06)

> Coinjoin is a method that make a transaction with other transaction of
> other parties to hide the link between txin and txout.

In case of this, why we need others transaction? We have many bitcoin address since we are using HD Wallet(BIP32) so I think we don't need to wait other bitcoiner to participate into shuffling for making a transaction. we can just give our address set.

Is there a special reason that enforce to combine mine and others stuff?

Sorry for my English.

**Tags:** privacy, coinjoin


---

## 3 answers

### Answer by username_1 on 2019-12-06. Score: 3 | Accepted answer

The only advantages of doing a coinjoin is that the recipient of your funds cannot see the source of your funds (and the sender of funds to you cannot see your future transactions). If you do a coinjoin with only your funds, any branch they follow along this trail will lead to a source (or destination) of your funds.

Every source you include in the coinjoin will thus be exposed. Your recipient, of course, won't *know* that they're all of *your* sources, but if they're keeping a log of addresses that are likely tied to your identity, now all of those addresses, and *only* those addresses, will be in their log. If you instead do this with other people, it muddies such a log with false leads.

Similarly, the sources of your funds will all have logs of that destination of funds. Also, they can follow the chain back and deduce that your address is likely tied to another address if you have multiple sources, and they will all have an list of your other addresss. Again, they won't *know* that the other address are necessarily your address, but they actually will be, and so their log will contain accurate address linkage data.

> **Comments:**
> **username_0**: Yes, they can trace all the history about my money flow but, the fact is that they cannot claim some source are belong to me. additionally, my address set is consist of many transaction made with others. it means that they have to trace all the people's address that have expereicne trade with me. I think it is not bad method to hide privacy without depending on other people that may require some resources such as fee or time.  
> **username_1**: Yes, your address set consists of many transactions made with others, but if you're concerned about privacy, that's exactly what you're trying to hide. I can't imagine that showing the recipient more information about all of your sources of funds, instead of one source, is better for privacy. If they're the type of entity to just say "oh these came from a lot of sources, I give up", sure, but you can assume anyone really trying to decode the originating transaction will consult with a blockchain analytics firm, in which case you just gave them a lot more information.  

---

### Answer by username_2 on 2019-12-06. Score: 3

*"Privacy loves company."*

The key is to understand *why* a coinjoin transaction provides privacy. It is not a magical veil that shields your financial history, it is just a tool that helps obfuscate a particular output's history. This obfuscation is only achieved by including many inputs in the coinjoin transaction, such that each input *could* be the source of a specific output, but it is not technically possible to determine which is which.

With this in mind, we can see why having many participants is important: you want to have as widely varied a selection of inputs as possible, so that your output's history is not meaningfully determinable. If you only include your own inputs, then each and every input will have a history that leads to you.

---

To illustrate this point, consider the case in which a chain analysis firm has a very good idea of who owns each UTXO that exists:

If you supply 10 inputs to a transaction, but a chain analysis firm has linked your ID to those 10 inputs, then it would be trivial to determine that you likely own the outputs created as well.

On the other hand, if you supply 1 of 10 inputs, then the chain analysis firm would be hard pressed to determine who owns each newly created output. With no additional info, there is just a 10% chance that you own any one specific output.


---

### Answer by username_3 on 2019-12-06. Score: 2

Doing coinjoin with only your coins is possible, it's called fake coinjoin. Samourai Wallet has one implementation, called [Stonewall](https://samouraiwallet.com/stonewall), I have [written fake-coinjoin.sh for Bitcoin Core](https://github.com/kristapsk/bitcoin-scripts). But such fake coinjoin by itself does not give you much privacy, because of [common-input-ownership heuristic](https://en.bitcoin.it/wiki/Common-input-ownership_heuristic). So, by default chain analysis companies assume that all the inputs of Bitcoin transaction are controlled by the same entity. Unless they are aware of coinjoins and take them out from their analysis. What fake coinjoin does is that you cannot actually be really sure is coinjoin transaction with multiple equally sized outputs actual real multi-party coinjoin or not. And can possibly give you plausible deniability.


---

