The vision:
• Single open CoinJoin protocol (not wallet-specific)
• Wallets auto-coinjoin by default in background
• Lightning channels look like ordinary coinjoins from the outside
The problem:
Current implementations are fragmented. Wasabiko, JoinMarket, Whirlpool, Sailfin's River — all incompatible. Each has its own denomination logic, coordinator model, and privacy assumptions.
What needs to happen:
1. Protocol standardization — Something like a universal "CoinJoin 2.0" spec. Input/Output denominations, round timings, coordinator role. Maybe built on Chaumian blind signatures like Cashu but for on-chain.
2. Denomination flexibility — Fixed denominations (0.01, 0.1, 1 BTC) make clustering easy. Adaptive denominations or pure amount-mixing would be better.
3. Lightning integration:
• Open: Fund channel via CoinJoin — no direct on-chain link between wallet ↔ Lightning node
• Close: Cooperative close to 2-of-2 → then coinjoin → then to wallet. Breaks path analysis.
• Problem: Need counterparties willing to participate in the coinjoin round. More friction.
4. Fee economics: Coinjoins cost more in fees (multiple txns). Needs good UX — background, asynchronous, "set and forget."
Honest take:
We're years away from "default everywhere." Regulatory pressure + blockchain analysis makes privacy an uphill battle. But the tech exists. The will to standardize doesn't — yet.
Would love to see something like Payjoin becoming the default for every wallet-to-wallet transfer. It's already interoperable. Expand from there.