En los últimos meses la privacidad de la cadena de bloques de Bitcoin (BTC) se ha vuelto un tema recurrente. Bien sea porque cada vez hay más atención en la actividad que se desarrolla en su blockchain, bien porque algunas casas de cambio empiezan a tomar medidas restrictivas, o porque ciertos gobiernos empiezan a prestar más atención al dinero que se mueve a través de su red, la privacidad de Bitcoin es un tema en boga.

Desde su creación, Bitcoin funciona de manera pseudoanónima. A pesar de que los usuarios no comparten su identidad a través de la red de Bitcoin, los movimientos de las distintas direcciones públicas que están activas son transparentes, y cualquiera puede observarlos. El problema es que, cuando a una dirección de Bitcoin se le puede adjudicar una identidad real, los movimientos siguen siendo completamente transparentes… y ahora con nombre y apellido.

Esta desanonimización puede ser involuntaria y suceder cuando, por ejemplo, un usuario envía fondos desde una dirección de un servicio (como una casa de cambio), en donde ya ha cumplido con requerimientos de “conoce a tu cliente” (KYC) a cualquier dirección que esté bajo vigilancia. De esta manera, los movimientos de esa dirección podrán asociarse directamente a su persona, haciendo un seguimiento de sus operaciones, con las posibles implicaciones punitivas, si aplicaran.

Es por esto que ha cobrado relevancia CoinJoin, una técnica que permite la combinación de varias UTXO (salidas no gastadas) de un mismo monto, aunque de diferentes dueños, agrupadas en una misma transacción, haciendo muy difícil saber cuál es el origen de cada una, así como el destino. Esta técnica no requiere una modificación del protocolo de Bitcoin, pero a pesar de que ha ganado interés, con implementaciones como JoinMarket, Wasabi o Whirpool, también se ha visto envuelta en polémica.

Te puede interesar: CoinJoin: conoce lo básico de este tipo de transacciones para hacer de Bitcoin más privado

En este artículo te ofrecemos 5 pros y 5 contras de utilizar CoinJoin para enviar tus transacciones de Bitcoin.

5 pros de usar CoinJoin

+Privacidad

El principal beneficio de utilizar CoinJoin es mejorar la privacidad de nuestras transacciones. Un usuario que emplea este tipo de operaciones puede estar seguro que resultará muy difícil a cualquier entidad conocer la identidad de quien envía o recibe los BTC, algo muy importante para utilizar este protocolo de la manera más privada posible, aprovechando al máximo su pseudoaninomidad de la que hablamos al principio.

Un elemento importante a destacar es que la privacidad no es un elemento exclusivo de criminales. De hecho, mientras menos espacios privados tiene el ciudadano de bien, menos libertades disfruta. Paradójico pero cierto.

Así, si el gobierno o cualquier otra entidad conoce detalles sobre nuestras finanzas, movimientos, vida personal y un largo etcétera, el ciudadano tiene menos puntos desde los que actuar y hacerse fuerte. Si Bitcoin, una oportunidad para separar Estado y dinero, termina sirviendo a los fines de este control, terminará siendo una herramienta estéril. De ahí la importancia de retomar la privacidad del protocolo usando CoinJoin para las transacciones.

+Lucha contra los bitcoins “manchados”

Dentro de Bitcoin, cada nuevo bitcoin es indiferente de los demás. Más allá de su “edad” (la cantidad de bloques que se han generado desde que fue creado como recompensa para los mineros), cada nueva moneda sencillamente es una nueva unidad de cuenta disponible, una UXTO indiferente de cualquier otra, que puede ser enviada siempre que quien envíe tenga bajo control las llaves privadas que corresponden a esa dirección.

Sin embargo, dado que algunas veces los bitcoins han sido utilizados para financiar actividades delictivas (narcóticos, financiamiento del terrorismo, lavado de dinero), agencias de seguridad o firmas especializadas en el estudio de la información de la blockchain pueden seguir el rastro de estas UTXO y marcarlas. La consecuencia de esta “mancha” (tainted) es que probablemente el usuario que quiera mover estos fondos tendrá problemas para utilizar servicios centralizados.

Así, los bitcoins “manchados” podrían sencillamente “lavarse” utilizando CoinJoin para que cada UTXO recupere su cualidad de indiferencia entre el conjunto de otras UTXO de Bitcoin porque, a fin de cuentas, si no se conoce el remitente ni el receptor, ¿qué tendría de diferente la UTXO que sale de este tipo de servicios?

+Ofuscación colectiva

Otro elemento que se puede tomar en consideración es la ofuscación colectiva. Esto quiere decir que varios usuarios pueden acordar utilizar CoinJoin y beneficiarse directamente de esta decisión, pero también que, a medida que aumente la utilización de este tipo de operaciones, habrá más bitcoins “lavados” sin marcas de procedencia más que aquellas que señalan que provienen de este tipo de servicios.

A medida que más aumente el porcentaje de utilización de CoinJoin la ofuscación de las UTXO será mayor y, en el caso extremo de que las transacciones CoinJoin se vuelvan una especie de facto social, Bitcoin tendrá un nivel de fungibilidad mayor, pues la mayoría de las transacciones cumplirán con el principio: no se conocen los remitentes ni los destinatarios, sino tan solo el movimiento de UTXO de una a otra dirección. Más usuarios de CoinJoin significaría más ofuscación colectiva.

+Sin cambio en el protocolo

Cabe señalar que una de las fortalezas centrales de CoinJoin como solución a la privacidad en Bitcoin es que, a diferencia de otras propuestas para mejorar este elemento de las transacciones, su implementación no requiere ningún cambio en el protocolo.

Y es que propuestas como SNICKER (una variante de CoinJoin que busca implementar estas transacciones de forma simple, de manera no interactiva con claves para cifrado reutilizables) funcionarían mucho mejor si se añadieran al protocolo propuestas de mejora de Bitcoin (BIP) como Taproot y la adición de firmas Schnorr, lo que hace que sea difícil que este tipo de operaciones se puedan convertir en un elemento disponible en el corto plazo.

Ni hablar de las Confidentials Transactions (CT) propuestas por Blockstream e implementadas en su propia cadena lateral, Liquid, que han sido desestimadas para el protocolo de Bitcoin debido a que su nivel de ofuscación es tal que resultaría imposible auditar el total de bitcoins en el caso de que un bug inflacionario hiciera que el límite de emisión superara los 21 millones.

El hecho de que CoinJoin sencillamente implique la combinación de determinadas UTXO sin ninguna alteración del protocolo de Bitcoin hace que sea una solución a los problemas de la privacidad mucho más atractiva y realizable para esta red, en donde los cambios significativos suelen ser lentos, para prever que se ponga en peligro la estabilidad de la red o alguno de sus elementos fundamentales, como el límite de emisión.

+Competencia entre desarrolladores

A pesar de que la polémica entre los desarrolladores de Samourai Wallet y los de Wasabi Wallet, que ha llegado incluso a los ataques personales en redes sociales y a través de publicaciones extensas, este hecho hace que los productos estén constantemente bajo la lupa, lo que los obliga a mejorar y ofrecer nuevos elementos que hagan más eficiente su implementación de CoinJoin.

El hecho de que Wasabi terminara tomando en consideración las revisiones que se hicieron sobre la dirección de comisiones y la reutilización de direcciones en el proceso de CoinJoin demuestra que, incluso en este ambiente “tóxico” entre los desarrolladores, sus productos se han beneficiado.

Seguir leyendo: CoinJoin: una herramienta que avanza con algunas polémicas

Lo mismo Samourai, quienes han tenido que ser más explícitos al hablar del hecho de que solo operando nodos Dojo (creados por ellos mismos) la privacidad de Whirpool puede considerarse realmente efectiva. De otro modo, los usuarios que no corren sus propios nodos comparten sus XPUB con los servidores de Samourai. La competencia hace que CoinJoin funcione de mejor forma.

5 Contras de utilizar CoinJoin

Pero a pesar de que hablamos de una importante forma de aportar privacidad a las transacciones que se realizan en Bitcoin, igual tiene algunas limitaciones y los usuarios podrían sufrir algunas consecuencias negativas o experimentar por sí mismos los límites de este tipo de transacciones.

Un punto a destacar es la complejidad técnica. Si bien la mayoría de estas herramientas dejan los elementos más técnicos y difíciles lejos de los usuarios con interfaces de usuario amigables, la gestión de las UTXO y su gasto post-mezcla conlleva un nivel de conocimiento que podríamos calificar como medio, por lo que este podría considerarse un primer escollo.

-Censura por parte de exchanges

Uno de los mayores peligros a los que se exponen los usuarios de CoinJoin y que resulta de los peores contras de este tipo de operaciones es la censura por parte de servicios centralizados, especialmente exchanges que cumplen con requerimientos de Conoce a tu Cliente (KYC).

Esto ya ha sucedido y es un peligro latente para los usuarios, pues a pesar de que no hay una norma clara con respecto a este tipo de transacciones, la mayoría de los operadores de este tipo de servicios prefiere protegerse ante las sospechas que esto podría generar de cara a las autoridades, reteniendo los fondos a discreción si así lo consideran pertinente.

Cabe decir que no hay una justificación clara para esto. Sencillamente, los servicios centralizados son independientes del funcionamiento y ethos de Bitcoin, colocando sus intereses empresariales por encima de los posibles beneficios que pudiesen obtener los usuarios.

-Combinación con UTXO de origen criminal

Otro elemento riesgoso son los BTC marcados por su origen criminal. Cabe señalar que este juicio es sobre las UTXO es completamente externo y no obedece al funcionamiento de Bitcoin. Sin embargo, estas marcas pueden afectar de manera negativa a los usuarios de CoinJoin.

Y es que, dejando las prebendas éticas que podamos tener sobre el crimen de lado, ¿estaríamos realmente dispuestos a combinar nuestras UTXO con otras que han servido para financiar muertes o pornografía infantil y las consecuencias que podría acarrear esta combinación? El protocolo funcionará indiferentemente, pero factores externos a este funcionamiento podrían censurar las operaciones de determinada UTXO por su procedencia.

Esto puede incluso suceder de manera involuntaria. Al enviar las UTXO al servicio de CoinJoin, los usuarios se desconocen entre sí, de forma que nadie puede garantizar que ninguna de las UTXO combinadas esté manchada. Algunos servicios pueden bloquear el envío de fondos a estas direcciones, o, lo que es peor, retener los fondos cuando provienen de un CoinJoin.

-Algunas transacciones pueden rastrearse hasta el servidor

Si el funcionamiento del servicio de CoinJoin no es suficientemente prolijo, el origen de la transacción se puede rastrear hasta el servidor, lo que haría que todo el proceso de ofuscación quedara en nada, debido a que puede atribuirse a un servicio de este tipo, resultando los fondos bloqueados en algún servicio centralizado para Bitcoin.

Además, esto pone en riesgo la conveniencia de los servicios que permiten este rastreo, pues no ofrece la cuota de privacidad suficiente, permitiendo el rastreo de UTXO desde ese origen. Esta es una vulnerabilidad que depende de qué tan bien desarrollada esté la implementación de CoinJoin, que puede llegar a ser irreconocible en el conjunto de las UTXO.

-Exposición de datos (al servicio o involuntarios)

Otro punto a considerar es la exposición de datos. Los usuarios que no corren nodos propios expondrán información de sus UTXO al servicio de CoinJoin y, más allá de la confianza que estos puedan generar, resulta claro que no es el modo de uso ideal de una herramienta de privacidad. Además, suponiendo que la implementación no requiera esto, queda el gasto de las UTXO post-mezcla.

Una vez las UTXO son “lavadas”, el usuario debe asegurarse de no juntarlas con otras UTXO que estén relacionadas con su identidad, pues todo el sentido de hacer CoinJoin se habrá perdido. La gestión de estas salidas debe ser manual, y el usuario debe tener plena conciencia de cómo está utilizando las salidas “lavadas”.

-Nodo para full funcionamiento

Finalmente, es importante destacar que para que CoinJoin sea realmente eficiente, el usuario idealmente debería correr su propio nodo de Bitcoin. De hecho, para una verificación total y una utilización plena de esta tecnología, incluso el usuario promedio debería utilizar su propio nodo completo. A mayor certeza en la verificación y menos dependencia en terceras partes, no solo CoinJoin es más eficaz, sino que el uso de Bitcoin se hace de una forma que podríamos calificar como más soberana.

Sigue leyendo: