Introducción
Bitcoin a menudo se considera dinero en efectivo digital, pero esto es cuestionable. Si Alice le paga a Bob $10 en efectivo, Bob no tiene forma de saber de dónde vino el efectivo. Cuando Bob transfiere los $10 a Carol, Carol no tiene forma de saber que los $10 originalmente vinieron de Alice.
Sin embargo, la naturaleza pública inherente de Bitcoin dicta que la situación es diferente. El historial de un token determinado (Salidas de transacciones no gastadas, o UTXO para ser precisos) está disponible para que todos lo vean. Esto es muy parecido a escribir el monto de la transacción y los nombres de los participantes en una factura.
Sin embargo, las direcciones públicas pueden hacerse anónimas, lo que permite a los usuarios ocultar fácilmente sus identidades. Sin embargo, Bitcoin no puede ocultar completamente sus huellas. La tecnología de análisis para blockchain se está volviendo cada vez más madura y puede relacionar efectivamente direcciones con identidades. Además de otras técnicas de vigilancia, las entidades dedicadas también pueden anonimizar a los usuarios de criptomonedas. Para resolver este problema, han surgido en el mercado una variedad de tecnologías para desagregar transacciones.
¿Qué es la mezcla de tokens?
A grandes rasgos, la mezcla de tokens se refiere a todas las operaciones que mezclan fondos mediante swaps. Sin embargo, en el mundo de las criptomonedas, la mezcla de monedas la proporcionan terceros. El proveedor de servicios normalmente toma los tokens del usuario (junto con una pequeña tarifa) y luego devuelve algunos tokens que no tienen relación con los tokens enviados. Estos servicios también se conocen como vasos o mezcladores de monedas.
Por supuesto, la seguridad y el anonimato de dichos servicios centralizados son cuestionables. Los usuarios no tienen garantía de que el mezclador devolverá los fondos o que los tokens devueltos no estén contaminados de alguna manera. Además, al utilizar un mezclador, es posible que terceros también registren las direcciones IP y Bitcoin. El resultado de la mezcla de tokens es que los usuarios ceden el control de sus fondos con la esperanza de obtener tokens no relacionados.
Actualmente existe un nuevo esquema llamado "Transacción CoinJoin" que brinda a los usuarios un amplio margen de denegación. En otras palabras, después de usar CoinJoin, se borra la evidencia exacta de la conexión entre el usuario y las transacciones pasadas. Muchas soluciones CoinJoin se convierten en alternativas descentralizadas a los mezcladores. Si bien es posible que intervenga un coordinador, los usuarios no necesitan renunciar a sus derechos de gestión de fondos.
¿Qué es CoinJoin?
El comercio CoinJion salió a la luz en 2013 y fue propuesto por primera vez por el desarrollador de Bitcoin Gregory Maxwell. En el artículo, presentó brevemente la estructura de dichas transacciones y cómo obtener altos rendimientos privados sin modificar el protocolo.
Básicamente, las transacciones CoinJoin incorporan aportaciones de múltiples usuarios. Antes de explicar cómo funciona esta tecnología, primero comprendamos la estructura de la transacción subyacente.
Las transacciones de Bitcoin constan de entradas y salidas. Cuando un usuario desea realizar una transacción, toma un UTXO como entrada, especifica la salida y firma la entrada. Tenga en cuenta que cada entrada está firmada de forma independiente, pero el usuario puede configurar varias salidas (dirigidas a diferentes direcciones).
Tomando como ejemplo una transacción determinada que consta de cuatro entradas (0,2 BTC cada una) y dos salidas (0,7 BTC y 0,09 BTC), podemos hacer una serie de suposiciones al respecto. Primero observe cómo se realiza el pago: el remitente envía una de las salidas a alguien y posteriormente recibe el cambio. Esta transacción utiliza cuatro entradas, por lo que la salida mayor debe dirigirse al receptor. Tenga en cuenta que debemos pagarle una tarifa al minero y la producción perderá 0,01 BTC.
Es posible que el remitente también desee crear un UTXO grande, combinando así pequeñas entradas para lograr una salida objetivo de 0,7 BTC.
También podemos suponer que cada entrada está firmada de forma independiente. Esta transacción tiene como máximo cuatro partes que firman la entrada. Así es exactamente como funciona CoinJoin.
¿Cómo funciona CoinJoin?
La idea central es que varias partes colaboren para crear transacciones, y cada parte proporcione entradas y salidas esperadas. Cuando se combinan todas las entradas, otros no pueden identificar la correspondencia entre la salida y el usuario. Veamos el siguiente diagrama:
Como se muestra en la figura, cuatro participantes quieren romper la correlación entre transacciones. Se coordinan entre sí (o a través de un coordinador exclusivo) para declarar las entradas y salidas que desean que se cuenten.
El coordinador tomará toda esta información y la incorporará a una transacción, haciendo que cada participante la firme antes de transmitirla a la red. Una vez firmada por un usuario, la transacción no se puede cambiar hasta que deje de ser válida. Por tanto, el coordinador no puede robar fondos.
Esta transacción actúa como una caja negra para la mezcla de monedas. No olvide que destruimos el UTXO inicial para crear un nuevo UTXO. La única conexión entre UTXO antiguo y nuevo es la transacción en sí y, por supuesto, no podemos distinguir a los participantes. La situación ideal es simplemente saber que hay participantes que aportan información y pueden ser los propietarios de los resultados.
Aun así, no podemos estar 100 por ciento seguros. Al ver la transacción descrita anteriormente, ¿quién puede estar seguro de que hay cuatro participantes? ¿O solo una persona envía fondos a sus cuatro direcciones? ¿O dos personas compran dos veces cada una y cada dirección recibe 0,2 BTC? También es posible que cuatro personas enviaran fondos a nuevos participantes o que los fondos regresaran al individuo. No podemos determinar las circunstancias específicas.
Proteger la privacidad mediante la “negación”
La llegada de la implementación CoinJoin fue suficiente para poner en duda los métodos de análisis de transacciones. En muchos casos, puede inferir que se produjo un CoinJoin pero no puede determinar el propietario del resultado. A medida que esta tecnología se vuelve más común, la suposición de que todos los insumos pertenecen al mismo usuario se debilita gradualmente. En un ecosistema amplio e integral, la privacidad ha mejorado dramáticamente.
En el ejemplo anterior, asumimos que el conjunto anónimo de transacciones tiene 4 propietarios de entradas y el propietario de salida puede ser cualquiera de estas 4 personas. Cuanto mayor sea el conjunto de anonimato, menor será la probabilidad de encontrar una correspondencia entre la transacción y el propietario original. Afortunadamente, el reciente esquema CoinJoin permite a docenas de usuarios fusionar entradas de manera no confiable, mejorando significativamente la "negación". Recientemente, CoinJoin ejecutó con éxito cientos de operaciones.
Resumir
Para los usuarios que prestan gran atención a la privacidad, la combinación de divisas es un método complementario muy eficaz. A diferencia de las mejoras de privacidad propuestas, como las transacciones confidenciales, esta tecnología es compatible con los protocolos existentes.
Para los usuarios que confían en la integridad y los métodos eficaces de terceros, los servicios de combinación de divisas son sencillos y prácticos. Para los usuarios que prefieren una solución verificable o sin custodia, CoinJoin es una excelente opción. Los usuarios expertos en tecnología pueden abstraer mecanismos más complejos manualmente o utilizando herramientas de software. Hoy en día, a medida que aumenta la necesidad de privacidad, este tipo de herramientas serán cada vez más populares en el mercado.