Bitcoin Guides


Bitcoin’s CoinJoin: Improving fungibility

CoinJoin is an essential technology that increases user privacy and Bitcoin's fungibility as it allows users to combine numerous payments into one transaction

One of the most important aspects of Bitcoin is the ability to transact privately.

CoinJoin is an essential technology that increases user privacy and Bitcoin’s fungibility as it allows users to combine numerous payments into one transaction, making it nearly impossible for an attacker to know where coins are coming from or going to.

In essence, this feature is extremely powerful for the privacy of Bitcoin because it allows users to create multisig (multi-signature) transactions and even complex CoinJoin transactions that simply look like everyday normal transactions.

This makes it difficult for chain analysis companies to analyse the inbound/outbound flows of coins in transactions.

How CoinJoin works


CoinJoin is a trustless method of combining multiple Bitcoin payments from multiple spenders into a single transaction to make it more difficult for outside parties to determine which spender paid which recipient or recipients. Unlike many other privacy solutions, CoinJoin transactions do not require a modification to the Bitcoin protocol.

This improvement was proposed by Gregory Maxwell, a prominent Bitcoin developer.

Essentially, the signatures – one per input – inside a transaction are completely independent of each other. This means that it’s possible for Bitcoin users to agree on a set of inputs to spend and a set of outputs to pay to, and then to individually and separately sign a transaction and later merge their signatures.

The transaction is not valid and won’t be accepted by the network until all signatures are provided, and no one will sign a transaction which is not to their liking.

How to use CoinJoin

At the time of writing, there are two cryptocurrency wallets available that have successfully implemented CoinJoin transactions.

The first and most widely used is the Wasabi wallet. The second – the Samurai wallet – is a more recent player in space, but its popularity is growing quickly.

The other way to use this feature is by manually creating a CoinJoin transaction through the Bitcoin-Qt client.

Improvements to CoinJoin

Improvements are constantly being made to this technology as a way to increase user privacy when transacting Bitcoin.

JoinMarket, for example, is a marketplace for CoinJoin transactions, allowing anyone to create transactions for any amount they want at any time they want. In return they pay a fee for the liquidity made available to them.

Another improvement is the addition of more hops between user transactions to make tracking the path of transactions much more difficult for third parties.

Disclaimer: The views and opinions expressed by the author should not be considered as financial advice. We do not give advice on financial products.