DEFINITION of Coinjoin

An anonymization strategy that protects the privacy of Bitcoin users when they conduct transactions with each other. Coinjoin requires multiple parties to jointly sign on an agreement to mix their coins when engaging in separate Bitcoin transactions. This makes it harder for outside parties to determine which party or parties was making a particular transaction.

Also known as Coin Mixing.


Advancements in technology are introducing digital tools that companies can use to better interact with their customers. A rising shift from traditional platforms to digital platforms has also brought about an abundant supply in data from sources like social media, mobile devices, online retail platforms, etc. Due to technology advancements in the areas of gathering, storing, and sharing data, large sets of data are easily shared among companies in every sector and country for little to no costs. The widespread accessibility of data has also brought about concerns over data privacy of individuals and their online transactions. Because every transaction or activity carried out online leaves a digital trail, individuals are opting for more anonymous ways to use the internet and conduct online transactions. The Bitcoin cryptocurrency was introduced to address the issue of privacy concern.

Although conducting transactions with Bitcoin is secure, it is not necessarily anonymous. Every Bitcoin transaction is recorded on a ledger known as a blockchain which is publicly available. Each computer, known as nodes, connected to the Bitcoin network has a copy of the blockchain. The blockchain records information such as addresses of the users and their balances. Due to the transparent nature of Bitcoin transactions, an entity can use the information recorded in the public ledger like the IP address to unveil the identity of the users involved in a transaction, and the type of transaction that was conducted.

Anonymization techniques like Coinjoin were developed to obfuscate the identity of a Bitcoin user involved in a digital transaction. A user that wants to implement coinjoin in his Bitcoin transaction would seek out another user who also wants to mix coins, and they’ll both initiate a joint transaction together. The address a Bitcoin is sent from is referred to as an input. An output refers to the address Bitcoins are sent to. An unwanted surveillance looking through a blockchain can identify a user from a recorded transaction using the input. Coinjoin obfuscates a transaction trail by allowing multiple users combine inputs and outputs from several transactions into one transaction. This way, the blockchain records a single transaction but there is no definite way for an outsider to match the inputs to outputs.

Consider the following transactions made at the same time: A purchases an item from B, C purchases an item from D, and E purchases an item from F. Without Coinjoin, the public blockchain ledger would record three separate transactions for each input-output match. With Coinjoin, only one single transaction is recorded. The ledger would show that bitcoins were paid from A, C, and E addresses to B, D, and F. By masking the deals made by all parties, an observer can’t, with full certainty, determine who sent bitcoins to whom.

Several digital tools that implement Coinjoin in their anonymization procedures include Dark Wallet, JoinMarket, and SharedCoins. These platforms provide an extra level of data masking for users transacting in Bitcoins.