Introducción

Bitcoin a menudo se comercializa como dinero digital, pero esta es una afirmación controvertida. Si Alice le paga a Bob diez dólares en efectivo, Bob no sabe de dónde vino el dinero. Si luego quiere dárselos a Carol, ella no podrá saber que Alice alguna vez los tuvo.

Bitcoin se distingue por su naturaleza pública. La historia de esta moneda (más precisamente, las salidas de transacciones no gastadas o UTXO) puede ser legalmente revisada por cualquiera. Este concepto es similar al registro de la suma de la transacción y los nombres de las partes en cada transacción.

Sin embargo, los seudónimos de las direcciones públicas complican la identificación de los usuarios. No obstante, Bitcoin no es completamente privado. El análisis de blockchain se vuelve cada vez más sofisticado y capaz de vincular direcciones con identidades de manera más eficiente. En conjunto con otros métodos de seguimiento, ciertas organizaciones pueden desanonimizar a los usuarios de criptomonedas. Para evitar esto, con el tiempo han surgido tecnologías de ruptura de conexiones entre transacciones.


¿Qué es un mezclador de Bitcoin?

En un sentido amplio, mezclar monedas puede significar cualquier actividad relacionada con la ofuscación de fondos y su sustitución por otros. En el contexto de las criptomonedas, generalmente se refiere a los servicios proporcionados por un tercero. Normalmente, estos servicios aceptan fondos de los usuarios (con una pequeña comisión) y devuelven monedas que no tienen relación con las enviadas. Estos servicios son conocidos como tumbler o mezcladores.

La seguridad y anonimato de estos servicios centralizados, por supuesto, están en cuestión. Los usuarios no tienen garantías de que recibirán sus fondos de vuelta y que no serán dañados de ninguna manera. Además, al usar un mezclador, es importante tener en cuenta que las direcciones IP y Bitcoin pueden ser registradas por un tercero. Al final, los usuarios renuncian al control sobre sus fondos con la esperanza de recibir de vuelta fondos no relacionados.

Un enfoque más interesante existe en forma de transacciones CoinJoin, que proporcionan un grado de desconexión más significativo. Esto significa que después de CoinJoin, ninguna evidencia puede probar de manera confiable la conexión del usuario con sus transacciones anteriores. Muchas soluciones CoinJoin son una alternativa descentralizada a los mezcladores. Aunque puede haber un coordinador en el esquema, los usuarios no necesitan sacrificar el almacenamiento de sus fondos.


¿Qué es CoinJoin?

La idea de las transacciones CoinJoin fue propuesta por el desarrollador de Bitcoin Gregory Maxwell en 2013. En su hilo, dio una breve descripción de cómo funcionan estas transacciones y cómo se puede lograr un aumento en el nivel de privacidad sin cambiar el protocolo.

La esencia de CoinJoin es combinar los fondos de varios usuarios en una sola transacción. Antes de explicar cómo (y por qué) funciona este protocolo, veamos la estructura de una transacción básica.

Las transacciones de Bitcoin constan de entradas y salidas. Cuando un usuario desea realizar una transacción, toma UTXO como entrada, establece las salidas y firma las entradas. Es importante destacar que cada entrada se firma individualmente, y los usuarios pueden establecer múltiples salidas (a diferentes direcciones).


изображение примера транзакции с четырьмя входами и двумя выходами


Si consideramos esta transacción con cuatro entradas (cada una de 0.2 BTC) y dos salidas (0.7 BTC y 0.09 BTC), podemos hacer algunas suposiciones. Primero, vemos que el remitente está enviando fondos a alguien y devolviendo parte a sí mismo. Dado que se utilizan cuatro entradas, la salida mayor probablemente esté destinada al destinatario. Note que en las salidas faltan 0.01 BTC, que es la recompensa del minero.

También es posible que el remitente quiera crear un UTXO más grande a partir de uno más pequeño para combinar entradas más pequeñas y obtener los deseados 0.7 BTC.

Otra suposición que podemos hacer es que cada entrada se firma individualmente. Esta transacción puede tener hasta cuatro partes firmando las entradas. Este es el principio que hace que CoinJoin sea efectivo.


¿Cómo funciona CoinJoin?

La idea es que participarán varias partes en la transacción, aportando fondos y especificando la salida deseada. Dado que las entradas se combinan, se vuelve imposible decir exactamente a qué usuario pertenece cada entrada. Veamos el esquema a continuación:


изображение примера coinjoin


Aquí hay cuatro participantes que desean romper la conexión entre las transacciones. Se agrupan entre sí (o a través de un coordinador especial) para declarar las entradas y salidas que les gustaría incluir.

El coordinador recibe toda la información, incluye los datos en la transacción y cada participante la firma antes de enviarla a la red. Una vez que los usuarios la confirman, la transacción no puede ser modificada sin volverse inválida. Así, no hay riesgo de que el coordinador robe los fondos.

La transacción actúa como una especie de caja negra para mezclar monedas. Recuerde que destruimos UTXO para crear uno nuevo. La única conexión entre el antiguo y el nuevo UTXO que tenemos es la propia transacción, pero no podemos distinguir a sus participantes. En el mejor de los casos, podemos decir que un participante aportó fondos y, tal vez, recibió fondos a la salida.

Pero incluso eso no está garantizado. ¿Quién puede decir, al observar la transacción mencionada anteriormente, que hay cuatro participantes? ¿Podría ser que una sola persona está enviando sus fondos a cuatro direcciones? ¿O que dos personas están realizando dos compras separadas y devolviendo 0.2 BTC a sus direcciones? ¿O que cuatro personas envían a nuevos participantes o de vuelta a sí mismos? No podemos estar seguros.


Privacidad a través de la negación

El simple hecho de que exista CoinJoin es suficiente para cuestionar los métodos de análisis de transacciones. En la mayoría de los casos, puedes entender que se utilizó CoinJoin, pero no puedes saber a quién se enviaron los fondos. Con el aumento de la popularidad, la suposición de que las entradas pertenecen a un solo usuario se ha vuelto injustificada, lo que ha llevado a un aumento masivo en la privacidad de la ecosistema.

Hemos dicho que la transacción del ejemplo anterior tenía un conjunto de anonimato de cuatro entradas, cuyo receptor podría ser cualquiera de los cuatro participantes involucrados. Cuanto mayor es el conjunto de anonimato, menor es la probabilidad de que las transacciones se puedan vincular con el propietario original. Las implementaciones más recientes de CoinJoin permiten a los usuarios combinar de manera segura sus entradas con decenas de otras, asegurando un alto grado de negación. Recientemente se realizó con éxito una transacción con 100 participantes.


Conclusión

Las herramientas para mezclar monedas son un complemento importante para el arsenal de cualquier usuario que tome en serio su privacidad. A diferencia de las actualizaciones de privacidad ofrecidas (como las transacciones confidenciales), son compatibles con el protocolo tal como existe hoy.

Para aquellos que confían en la fiabilidad y metodología de terceros, la solución simple son los servicios de mezcla. Para aquellos que prefieren servicios transparentes y que no almacenan fondos, CoinJoin es una alternativa adecuada. Este principio permite realizar transacciones de forma independiente, si los usuarios tienen conocimientos técnicos, o mediante herramientas de software que son una abstracción de mecanismos más complejos. Hasta ahora, ya existen varias de estas herramientas, cuya popularidad sigue creciendo a medida que los usuarios buscan mayor privacidad.