CoinJoin is a digital currency platform that enables multiple users to combine all inputs and outputs from different transactions into a single transaction. Privacy is achieved in a way that when a transaction is broadcast, it will not be possible to determine which Bitcoins went where.
There are several implementation of anonymous Bitcoin transactions inspired by CoinJoin: SharedCoins, Dark Wallet, CoinShuffle, PrivateSend feature of Dash and JoinMarket. CoinJoin-based mixing methods increase privacy for all users, even those not using mixing, because it is no longer likely that all inputs to a transaction come from a single wallet, and hence can no longer be reliably associated with a single user.
In November 2018, on the 10th anniversary of the Bitcoin protocol, a CoinJoin worth over $200,000 took place. This was Bitcoin's largest-ever anonymous transaction.
CoinShuffle was proposed by researchers from Saarland University in 2014. It further develops the CoinJoin concept and increases privacy by not requiring any trusted third-party to be involved in the creation of mixed transactions. In the original research paper presented at the 19th European Symposium on Research in Computer Security, CoinShuffle is described as a completely decentralized coin-mixing protocol “inspired by CoinJoin to ensure security against theft and by the accountable anonymous group communication protocol Dissent to ensure anonymity as well as robustness against [DoS] attacks”.
Only a proof-of-concept implementation of CoinShuffle protocol was made available, written to evaluate the feasibility and performance. It was followed by further research leading to the CoinShuffle++, ValueShuffle and PathShuffle proposals. ValueShuffle was presented at Scaling Bitcoin 2017 by Tim Ruffing (Saarland University).
CoinJoin requires that users negotiate transactions they wish to join. The first services to handle this (such as blockchain.info's SharedCoin) used centralized servers and required users to trust the operator of the service not to steal the bitcoins or allow others to do so. Centralized services may also compromise participants' privacy by keeping logs of the transactions they negotiate. Decentralized implementations of CoinJoin such as JoinMarket attempt to circumvent various issues related to centralization.
The level of anonymity offered by CoinJoin can also be diminished if the protocol is implemented incorrectly. One such flaw was identified in blockchain.info's SharedCoin mixing service. Security consultant Kristov Atlas, author of the book Anonymous Bitcoin, detailed the flaw in an article entitled Weak Privacy Guarantees for SharedCoin Mixing Service. In this article he states “the SharedCoin service should be used only as a light protective measure for financial privacy”. As part of his research, the author developed a tool called 'CoinJoin Sudoku' that could identify SharedCoin transactions and detect relationships between specific payments and payees.
Anonymous CoinJoin Transactions with Arbitrary Values
Felix Konstantin Maurer, Till Neudecker and Martin Florian
CoinJoin: Bitcoin privacy for the real world
CoinJoin: Combining Bitcoin Transactions to Obfuscate Trails and Increase Privacy
Aaron van Wirdum