Consideraciones importantes antes de usar JAM (Joinmarket)

Tienes un nodo Umbrel/Start9 y alguien te ha recomendado probar JAM, la interfaz gráfica de Joinmarket. Tu objetivo es consolidar algunas monedas/Utxos para hacer un coinjoin y enviarlos a tu Hardware Wallet.

Una vez que hayas configurado una wallet en JAM, recibes la cantidad de Bitcoin que deseas «mezclar». En este caso decides enviar dos UTXOs. Te diriges a la sección de envíar y seleccionas enviar todos los fondos disponibles utilizando la opción «sweep». Finalmente, haces clic en enviar y esperas a que la transacción se procese.

Podemos suponer que la mayoría de usuarios en JAM hace eso sin atender cuánta comisión de servicio va a pagar.

Comparto el tweet de un usuario que hizo un single coinjoin en JAM asumiendo un costo de 1.7% sobre el total de fondos mezclados. Lo peor de todo, como luego veremos, es que no ha ganado privacidad, si no que la ha empeorado.

Antes de enviar, si haces clic en «sending options», tendrás la oportunidad de ajustar las tarifas de minería, así como las comisiones de coinjoin que estás dispuesto a pagar. También podrás elegir cuántos colaboradores (makers) deseas incluir en la transacción. Por defecto, el software indicó que la transacción se realizaría con 8 contrapartes y que el coste máximo sería de casi 80,000 sats.

Aunque puedes modificar estos parámetros para reducir los costos, es probable que muchos usuarios opten por dejar las configuraciones predeterminadas. Para minimizar los costos, puedes ajustar el límite máximo que estás dispuesto a pagar. La transacción se llevará a cabo siempre que haya suficientes colaboradores dispuestos a participar en el coinjoin, de acuerdo con los ajustes que hayas configurado.

Una vez completado el proceso de coinjoin, el usuario recibirá los fondos en una dirección de Bitcoin que posee. A partir de ahí, puede continuar realizando transacciones en diferentes momentos. Sin embargo, es importante destacar que esas monedas/UTXOs no cuentan con un nivel adecuado de privacidad. A continuación, veamos lo que opina el principal desarrollador de Joinmarket sobre la práctica de realizar un single coinjoin como tomador:

«Creo que esta no es una idea útil.
Ya sabemos que los coinjoins individuales (single coinjoin) de JoinMarket no son muy útiles para la privacidad, y los usuarios que quieran mezclar sus monedas deben usar el algoritmo de «tumbler» para crear múltiples coinjoins. La razón principal de esto es que todos los TXO del tomador se gastarán más tarde en una transacción que no será un coinjoin. Entonces, para un observador pasivo de la cadena de bloques, puede saber con bastante facilidad qué salida mezclada del conjoin pertenecía al tomador con solo mirar cómo se gastaron más tarde las demas salidas mezcladas.
Entonces, en resumen: si un usuario crea un single coinjoin, se pueden desmezclar fácilmente, incluso si el destino es el mismo tipo de dirección.»

Chris belcher

Veamos un ejemplo. Un usuario hace un coinjoin en Joinmarket como tomador (taker):

Ejemplo de una análisis de una transacción de coinjoin en Joinmarket
  • Es relativamente fácil identificar cuál es la salida mezclada del usuario, ya que enviará los fondos a su hardware wallet, mientras que los demás colaboradores continuarán participando en futuros coinjoins con sus propios UTXOs mezclados. Esto significa que se puede deducir qué UTXO pertenece al usuario que inicia el coinjoin.
  • En cuanto a las salidas no mezcladas (utxos tóxicos), pueden asociarse fácilmente con las entradas (por vínculos deterministas), lo que permite identificar con qué monedas participó el usuario.
  • Si el usuario ha consolidado entradas en ese coinjoin, perderá privacidad debido a la heurística de propiedad de entradas. En este caso, hubiera sido más prudente no participar en esta transacción.

Belcher recomienda utilizar la opción «tumbler» para mejorar la privacidad como tomador, ya que esta opción implica una serie automática de 9 coinjoins. Sin embargo, es fundamental tener en cuenta que deberás asumir todas las tarifas de minería asociadas a cada una de estas transacciones, así como las comisiones que cobra cada colaborador (maker) en cada coinjoin. Esto puede deberse a la falta de conocimiento sobre las ventajas de la opción tumbler o a la reticencia a asumir los altos costos asociados con cada una de esas transacciones encadenadas.


La liquidez en Joinmarket es asimétrica, con una abundante oferta por parte de los creadores (makers) y una escasez notable del lado de los tomadores (takers). Esta situación puede dar lugar a crisis de liquidez.

LaurentTM habló sobre esto:

«Encontré algunas notas pre-Whirlpool. El primer modelo de incentivos estudiado para Whirlpool fue el modelo maker-taker, pero llegamos a la conclusión de que su asimetría inherente no era compatible con otros objetivos (resistencia a los análisis de correlación, etc.)»

Fuente:

Whirlpool adoptó la estructura de takers y makers de JoinMarket, pero logró equilibrarla al requerir que los usuarios actúen como «takers» (premixers) una vez antes de convertirse en «makers» (postmixers), lo que les permite mezclar tanto como deseen.

Esta dinámica explica por qué Whirlpool se considera una evolución de JoinMarket: al equilibrar la liquidez y hacer que todos los participantes pasen automáticamente por ambos roles, se logra un conjunto de anonimato más robusto y una mayor privacidad.

Whirlpool introdujo varias mejoras en el modelo de coinjoin para superar algunas de las limitaciones de JoinMarket:

  • Uniformidad en las salidas: Todas las salidas (UTXOs) de una transacción coinjoin deben ser de la misma denominación.
  • Eliminación de cambios tóxicos: En Whirlpool, no existen cambios tóxicos en las salidas de un coinjoin.
  • Liquidez entrante: Se requiere liquidez entrante para realizar nuevos coinjoins, lo que evita la posibilidad de participar siempre con los mismos usuarios.
  • Consistencia en los resultados: La implementación de Whirlpool garantiza que se reproduzcan siempre los mismos resultados.
  • Mayor conjunto de anonimato: Se establecen pools de cantidades específicas (0.001, 0.01, 0.05 y 0.5 BTC), lo que amplía el set de anonimato y mejora la privacidad de los usuarios.
  • El incentivo para los postmixers (makers) no es de naturaleza económica, sino que radica en la oportunidad de mezclar indefinidamente sin tener que incurrir en compensaciones de privacidad.

En conclusión, participar como tomador en una ronda de coinjoin en JoinMarket no te proporcionará la privacidad deseada para tus monedas, y podrías enfrentarte a altas comisiones si no comprendes bien el proceso. Aunque la simplicidad de JAM puede parecer atractiva, oculta una complejidad significativa que puede perjudicar a los usuarios que no están familiarizados con este protocolo.

Publicaciones Similares