Back to Home

Comparative Analysis of CoinJoin Protocols

A technical and comparative analysis of the three main CoinJoin protocols: WabiSabi, Whirlpool, and JoinMarket.

1. WabiSabi (Implemented in Wasabi Wallet)

Anonymity Set Structure

WabiSabi introduces the concept of arbitrary amount outputs. This means that, unlike previous protocols that required all participants to mix equal amounts, WabiSabi allows each user to specify the exact amount of their outputs. This breaks the "equal amount" heuristic used for de-anonymization and increases fungibility, as it does not create toxic "change" that could link back to the sender. The anonymity set is determined by the number of participants in a single, large mixing round.

Cost (Fee Structure)

The cost structure is typically based on a percentage of the mixed amount. For example, the zkSNACKs implementation had a 0.3% fee for amounts over 0.01 BTC, while smaller inputs and remixes were free. This model is simple for the user to understand.

Speed and Liquidity

The speed of a round depends on reaching a sufficient number of participants to ensure a robust anonymity set. Liquidity is provided by the users themselves participating in the round. Being a centralized system (in coordination), it can potentially aggregate a large amount of liquidity in a single round.

Chain Analysis Resistance

Resistance is high thanks to arbitrary output amounts, which make amount-based analysis more difficult. However, the reliance on a central coordinator could, in theory, be an attack vector for an adversary attempting to analyze metadata (although the protocol is designed to prevent this).

Decentralization and Trust

WabiSabi uses a central coordinator to orchestrate the rounds. The protocol is "trustless" in the sense that the coordinator cannot steal funds or de-anonymize participants. However, the centralization of coordination represents a potential point of failure or censorship (as demonstrated by the shutdown of the zkSNACKs coordinator).


2. Whirlpool (Implemented in Samourai Wallet)

Anonymity Set Structure

Whirlpool is based on the ZeroLink framework and uses fixed-amount "pools" (e.g., 0.01 BTC, 0.05 BTC). Users first "pre-mix" their UTXOs to break them down into these standard amounts. The anonymity set grows exponentially through multiple, fast "remixes". Each mix has a fixed number of participants (usually 5), and anonymity is built over time as the outputs are mixed again.

Cost (Fee Structure)

The user pays a one-time flat fee to enter a pool. All subsequent remixes within that pool are free (apart from miner fees). This model strongly encourages long-term participation and multiple remixes.

Speed and Liquidity

Whirlpool rounds are designed to be small and fast. Liquidity is ensured by the fact that users are incentivized to leave their funds in the pool for free remixes. This creates a constant flow of liquidity for new participants.

Chain Analysis Resistance

Resistance is very high, especially for users who participate in many remixes. The fixed-amount model is a theoretical weakness, but the combination of pre-mix, post-mix, and specific spending tools (like STONEWALL) mitigates this risk.

Decentralization and Trust

Similar to WabiSabi, Whirlpool uses a "blinded" central coordinator that cannot steal funds or spy on participants. The required trust is minimal. However, as with WabiSabi, the coordinator is a central point that could be attacked or shut down.


3. JoinMarket

Anonymity Set Structure

JoinMarket is a decentralized protocol that creates a market for CoinJoins. The anonymity set is variable and depends on the number of "makers" (liquidity providers) available and chosen by the "taker" (the user initiating the mix). It can be smaller than the large rounds of WabiSabi, but its decentralized nature offers different advantages.

Cost (Fee Structure)

The cost model is unique. "Takers" pay a small fee to "makers" for the service of providing liquidity. "Makers", in turn, earn a passive return on their bitcoin for making them available. The protocol itself has no fees.

Speed and Liquidity

Speed and liquidity depend entirely on the market. If there are enough active makers, a taker can find liquidity almost instantly. Liquidity is economically incentivized, which makes it potentially very robust.

Chain Analysis Resistance

Resistance is good, but can vary depending on how the user uses the protocol (e.g., number of mixes, choice of makers). Its decentralized nature makes it very resistant to censorship at the protocol level.

Decentralization and Trust

JoinMarket is the most decentralized of the three protocols. There is no central coordinator. Trust is distributed among the market participants. This makes it extremely resistant to censorship and single points of failure. The main risk is potential collusion between makers, but the system is designed to mitigate this risk.


Comparison Table

Feature WabiSabi Whirlpool JoinMarket
Coordination Centralized (blinded) Centralized (blinded) Decentralized (P2P)
Trust Model Coordinator cannot steal/spy Coordinator cannot steal/spy No central point of trust
Amounts Variable Fixed (in pools) Arbitrary
Cost Structure % of mixed amount Flat fee per pool, free remixes Taker pays Maker
Incentives Privacy Privacy, free remixes Yield for Makers
Key Advantage Efficiency, no toxic change Strong post-mix tools, free remixes Decentralization, censorship resistance, yield