A Comprehensive Bitcoin CoinJoin Guide

Preliminaries

To understand CoinJoin, it would help to understand UTXOs (unspent transaction outputs) and Bitcoin transactions. You can skip this section if you know enough about these, but it may be valuable to read it anyway.

Bitcoin Transactions

In simple terms, a Bitcoin transaction is made up of inputs and outputs (containing bitcoin amounts) and a digital signature(s) made with a private key.

A good analogy is a bank check, which contains

  • Which account the money is coming from
  • Who is getting paid
  • The amount
  • And a signature

Here is a random Bitcoin transaction I copied from the Bitcoin blockchain using the publicly available Bitcoin node https://mempool.space/ (Sorry if this transaction is yours!):

Source