← Bitcoin Encyclopedia

CoinJoin

🌿 Intermediate

💡 The Plain-English Definition

CoinJoin is a privacy technique where several Bitcoin users combine their transactions into one, making it much harder for blockchain analysts to trace who sent what to whom. It’s the most widely used Bitcoin privacy tool available today.

Normally, an analyst can safely assume every input in your transaction belongs to you — that's how addresses get clustered. CoinJoin breaks this by combining several independent people's inputs into one transaction with equal-sized outputs, so nobody can tell which input funded which output. It's the most widely used Bitcoin privacy tool today, though it needs equal outputs for full effect, and spending a freshly mixed coin straight to a KYC'd address can undo the privacy gained.Diagram by Bit By Bitcoin.

🤔 But Why Though?

Ordinary Bitcoin transactions have a fundamental privacy weakness: the common-input-ownership heuristic — the assumption that all the inputs (the sources of the bitcoin) in a transaction belong to the same person. If Alice sends Bob 0.5 BTC using two UTXOs (discrete chunks of bitcoin she owns), analysts assume both inputs are Alice’s. That assumption is right the vast majority of the time, and it lets analysts cluster addresses and trace funds across wallets.

CoinJoin breaks that assumption by combining inputs from several independent users into one transaction. If Alice, Bob, and Carol each contribute one input to a single transaction with three equal outputs of 0.5 BTC, an analyst can no longer tell which input funded which output. The link between sender and recipient is cut: all three outputs look identical, and any input could have funded any of them.

The major implementations get there differently. Wasabi Wallet uses the WabiSabi protocol, where a coordinator organises CoinJoin rounds — users connect through Tor (software that hides your internet traffic) and register inputs without the coordinator knowing whose is whose. Whirlpool (from Samourai Wallet) uses fixed-size outputs, so every output is identical, for the strongest possible privacy. JoinMarket runs a marketplace, where users who want privacy pay to take part alongside people providing liquidity.

Two details matter for the result. CoinJoin needs equal output amounts for maximum privacy — if the outputs are different sizes, analysts can sometimes work out which input funded which. And what you do afterward counts too: sending a freshly mixed coin straight to a known address can undo much of the privacy you just gained.

🌍 The Real-World Analogy

Imagine ten people each dropping £100 into a shared envelope, giving it a shake, and each taking £100 back out. An observer who saw who put money in can’t tell who took what out — every withdrawal is identical. CoinJoin is that shuffling applied to Bitcoin, done mathematically and automatically, without anyone ever physically handling your coins.

⚡ So What?

CoinJoin is the practical answer to Bitcoin’s pseudonymity problem. If your bitcoin has a history you’d rather not broadcast — not because it’s illicit, but because financial privacy is a reasonable thing to want — CoinJoin is the main tool available at the base layer. The process takes anywhere from a few minutes to several hours, depending on the implementation and how many participants are available. The result is bitcoin whose history is genuinely hard to trace.

📩 The Daily Bit · free

Get one plain-English Bitcoin email each morning.

The Daily Bit — free, two minutes, unsubscribe anytime.

The Bitcoin EncyclopediaPrefer a book? The Bitcoin Encyclopedia