Descripción General
CoinJoin es una técnica de privacidad descrita por primera vez por el desarrollador de Bitcoin Gregory Maxwell en 2013. Funciona combinando las transacciones de múltiples usuarios en una sola transacción con muchas entradas y muchas salidas de igual valor, rompiendo el vínculo entre remitente y destinatario. A diferencia de los servicios de mezcla centralizados, CoinJoin es sin custodia: los participantes nunca ceden la custodia de sus fondos.
Cómo Funciona CoinJoin
Sin CoinJoin (los vínculos son obvios):
Alice: 0.5 BTC ──→ 0.5 BTC a Bob
Con CoinJoin (los vínculos son ambiguos):
Entradas: Salidas:
├── Alice: 0.1 BTC ├── 0.1 BTC → ? (¿Alice, Bob o Carol?)
├── Bob: 0.1 BTC ├── 0.1 BTC → ? (¿Alice, Bob o Carol?)
└── Carol: 0.1 BTC └── 0.1 BTC → ? (¿Alice, Bob o Carol?)
Un observador ve 3 entradas y 3 salidas iguales pero no puede
determinar qué entrada financió qué salida.
Propiedades Clave
- Sin custodia: Ningún coordinador tiene nunca las claves privadas o los fondos de los usuarios
- Denominación igual: Las salidas tienen el mismo monto para maximizar el conjunto de anonimato
- Colaborativo: Múltiples usuarios deben participar simultáneamente
- On-chain: Las transacciones CoinJoin son transacciones normales de Bitcoin indistinguibles de los pagos multiparte
Implementaciones
- Wasabi Wallet: CoinJoin automatizado con un coordinador centralizado (para coordinación, no custodia)
- JoinMarket: Mercado descentralizado donde los makers ofrecen liquidez para CoinJoin y los takers pagan una pequeña comisión
- PayJoin/P2EP: Un CoinJoin de dos partes que parece una transacción normal, mejorando la privacidad sin la huella característica de los CoinJoins tradicionales
Limitaciones y Conceptos Erróneos
CoinJoin no hace las transacciones invisibles en la blockchain. Un observador sofisticado puede identificar transacciones CoinJoin por su patrón característico de salidas de igual valor. Sin embargo, aunque puede identificar que ocurrió un CoinJoin, no puede determinar el mapeo entre entradas y salidas. El beneficio de privacidad proviene de esta ambigüedad, que crece con el número de participantes (el "conjunto de anonimato").
El comportamiento post-mezcla también es crítico. Si un usuario combina salidas de CoinJoin con salidas sin mezclar en una transacción posterior, puede deshacer parte de la privacidad ganada.