Bitcoin is often presented as a tool for anonymous payments, but the only anonymity in the protocol is the pseudo-anonymous wallet addresses, which are actually quite fragile and are often compromised thanks to a number of existing methods.
From tracking the IP addresses of the payer and post-payment analysis, to viruses and spyware, many methods have already been invented to remove privacy from blockchain transactions. If anonymity is lost, its restoration turns into a difficult and costly process.
The traditional banking system offers good privacy by default. For example, your distant relatives cannot reliably know whether you can ask for money “on loan”, your employer does not know for sure where you spend your annual bonus, and scammers do not monitor your recent purchases to appoint you as their next victim.
Each time, when another wallet loses its privacy due to one of the above reasons, any researcher can “rewind” all transactions on this wallet and further disclose the owners of previous addresses. This feature of the blockchain carries a systemic risk to the entire network. After all, if a sufficiently large number of addresses will already be known – it will be possible to divide all the coins into “clean” and “dirty” (involved in suspicious transactions). This is a threat to the whole concept of decentralization of cryptocurrency.
How to solve this problem
CoinJoin is a mixing-based technology for anonymizing bitcoin transactions, proposed by developer Gregory Maxwell in 2013.
When using CoinJoin, several users group their transactions into one. The outputs of the general transaction are mixed, which makes it impossible to track to whom and from whom each particular payment came.
The advantage of this idea over dozens of alternatives is that it does not require any modifications to the Bitcoin protocol. The network already operates according to the rules, when one transaction can have several signatories and several delivery addresses.
The idea is this: if signer A needs to pay to wallet B, signatory C to wallet D, and subscriber E to wallet F, then they create a general transaction, where A, C, E are visible at the entrance and recharge wallets B, D, F are visible . And it is already impossible to understand in any way whose payment to whom it was intended.
If you are interested to see how it looks on the blockchain, here is an example of a CoinJoin transaction with two participants.
What gives CoinJoin
In addition to the obvious instant additional anonymization, CJ gives a long-lasting effect – for any researcher who for some reason is looking for a “thread” to the wallet of interest, such a double or triple transaction actually means a dead end.
But that is not all. The CoinJoin method has the effect of collective “immunity” for the entire system: even if not all (but many) users start using this method, then for the rest it will become a kind of protection. If a significant amount of BTC goes through such transactions at least once, attempts to create whitelists and blacklists will lose all meaning.
The last 2 weeks on the vast expanses of Twitter, there has been a lot of discussion on this topic due to the fact that some cryptocurrency exchanges want to stop accepting BTC passed through CJ. In response, many prominent figures from the industry began to urge users, on the contrary, to maximize mutual settlements with mixing to show that decentralization and anonymity are the basic principles of blockchain technology.
Some cryptocurrency wallets already come out with support for CoinJoin technology (for example, WasabiWallet), but I must still say that mixing has not yet gained widespread adoption. On the day of the decade, Bitcoin produced the largest mixed anonymous transaction of 34 BTC (at that time about $ 240,000).