- OroyFinanzas.com - https://www.oroyfinanzas.com -

Guía para usar Bitcoin de manera anónima

(OroyFinanzas.com) – Bitcoin no es anónimo [1], sino pseudo-anónimo. Por ahora, la mayoría de los usuarios veteranos de Bitcoin tiene esto bastante claro. Sin embargo, este aspecto de Bitcoin sigue creando confusión a muchos otros [2]. Pero, ¿por qué Bitcoin no es realmente anónimo? y ¿qué puede hacerse para que los usuarios de Bitcoin consigan un mayor nivel de anonimato?

¿Cómo funcionan las transacciones Bitcoin?

Para comprender mejor el anonimato en Bitcoin, es necesario entender primero cómo funciona Bitcoin en un nivel básico. Básicamente el protocolo Bitcoin [3] consiste en una serie de transacciones. Estas operaciones son básicamente un conjunto de diferentes tipos de datos, entre los que están el input de la transacción y el output de la transacción. Los inputs consisten en las direcciones Bitcoin desde los que se envían bitcoins, y solamente pueden gastarse conociendo la clave privada asociada a dicha dirección. Los outputs básicamente son las direcciones a los que se envían los bitcoins. Cada transacción Bitcoin envía bitcoins desde una o varias inputs a una o varias outputs, por lo que se transfieren bitcoins desde una o varias direcciones a una o varias direcciones.

Es posible que una transacción Bitcoin simplemente tenga un input y un output, aunque la realidad es que esto es poco frecuente, ya que esto implica que la cantidad de bitcoins que se enviarán (el output) sea exactamente la misma cantidad que una cantidad anteriormente recibida (el input). Por lo tanto, es bastante común que una transacción Bitcoin se componga de múltiples inputs más pequeños, para efectuar una transacción más grande. Si una persona, por ejemplo, controla tres inputs de un bitcoin cada una, y tiene que enviar 2,5 bitcoins para pagar en una tienda online el software fusionará los tres inputs en una sola transacción.

Y es incluso más común que una transacción se componga de varios outputs. Esto es debido a que Bitcoin utiliza direcciones de cambio (change addresses, en inglés). Las direcciones de cambio permiten a los usuarios crear una transacción que devuelve al remitente original la cantidad en exceso de bitcoin de uno o varios inputs. Si volvemos al ejemplo anterior, el software generalmente creará dos outputs. Uno de los outputs, con la cantidad de 2,5 bitcoins, será enviado a la dirección de la tienda online, y el otro output por valor de 0,5 bitcoins se enviará a la dirección de cambio recién generada controlada por el remitente.

¿Qué hace a bitcoin ‘anónimo’?

En general, existen tres razones por las que se suele considerar que Bitcoin es anónimo:

1.Anonimato de las direcciones Bitcoin: A diferencia de lo que ocurre con las cuentas bancarias y la mayoría de los otros sistemas de pago, las direcciones Bitcoin no están ligados a la identidad de los usuarios a nivel de protocolo. Cualquiera puede crear una dirección Bitcoin nueva (y la clave privada asociada a ella) en cualquier momento, sin necesidad de enviar información personal a nadie.

2.Anonimato de las transacciones Bitcoin: Las transacciones no están vinculados a la identidad de los usuarios tampoco. Como tal, (y siempre que un minero incluya la transacción en un bloque) cualquiera puede transferir eficazmente bitcoin desde cualquier dirección de la que controla las claves (privadas), a cualquier otra dirección, sin necesidad de revelar ninguna información personal. Como el dinero en efectivo, ni siquiera el receptor necesita conocer la identidad del remitente.

3.Anonimato de los nodos Bitcoin: Los datos de las transacciones Bitcoin se transmite por los nodos hacia un conjunto aleatorio de nodos [4] en la red peer-to-peer [5]. Mientras que los nodos Bitcoin se conectan entre sí mediante direcciones IP, éstos no tiene por qué saber si los datos de la transacción que recibieron fue creada por el nodo al que se conectan a, o si ese nodo se limita a enviar esos datos.

¿Cómo puede eliminarse el anonimato en Bitcoin?

Básicamente, existen tres formas de eliminar el anonimato de los usuarios de Bitcoin:

1. Ataque a la red de nodos Bitcoin: A pesar de que las transacciones Bitcoin se transmiten al azar por la red peer-to-peer, este sistema no es hermético. Si un atacante, por ejemplo, tiene los medios para conectar múltiples nodos de la red Bitcoin, los datos combinados procedentes de este conjunto de nodos podrían ser suficiente para determinar dónde se originó una transacción.

2. Identificación de uuarios por sus direcciones: Las direcciones Bitcoin se pueden vincular a identidades reales cuando estas identidades reales se utilizan en combinación con las direcciones Bitcoin de alguna manera. Esto incluye direcciones utilizadas para depositar o retirar dinero desde o hacia una casa de cambio o servicios de cartera; las direcciones expuestas públicamente o simplemente las direcciones utilizadas para enviar a alguien Bitcoin (incluyendo la tienda online) cuando se utiliza una identidad real.

3. Transparencia y disponibilidad de todas las transacciones: Por último, y quizás lo más relevante, hay que tener en cuenta que todas las transacciones efectuadas a través de la red Bitcoin son completamente transparentes y rastreables por cualquier persona. Esta completa transparencia es la que permite en muchos casos asociar y agrupar múltiples direcciones Bitcoin vinculadas a un mismo usuario. Por lo tanto, si sólo una de estas direcciones agrupadas está vinculada a una identidad del mundo real a través de uno o varios de los otros métodos descritos anterirmente, automáticamente el resto de las direcciones pueden ser asociadas.

En qué consiste la agrupación o asociación (clustering) de direcciones Bitcoin

Veamos en qué consiste la agrupación de direcciones Bitcoin. Un método de agruupación muy básico es el análisis de las transacciones. Si analizamos todos los inputs incluidos en una sola transacción, y aunque éstos podrían tener orígenes diferentes, el hecho de que se combinen en una sola transacción sugiere que todos estos inputs,y por lo tanto todas las direcciones asociadas a ellos, son controlados por el mismo usuario.

Del mismo modo, existen varios métodos para identificar las direcciones de cambio, lo que hace que éstas queden vinculadas al remitente de la transacción. Esto es bastante sencillo cuando se recibe una transacción con bitcoin: el otuput que no va dirigido a ti, normalmente (aunque no siempre) va dirigido a una dirección de cambio controlada por el remitente.

Además, algunos software de Bitcoin, revelan también las direcciones de cambio a todo el mundo. Lo hacen, por ejemplo, creando siempre una dirección de cambio como el último output de una transacción.

Otro método de agrupación bastante sencillo es el análisis de mancha (taint analysis) y que incluso se ofrece por varios exploradores de la cadena de bloques de libre acceso. Básicamente, el análisis de mancha calcula qué porcentaje de bitcoin en una dirección específica se ha originado desde otra dirección específica, incluso si a dichas direcciones las separa una transacción o más.

Y luego está el análisis de cantidad y el análisis de tiempo. El análisis de cantidad, tal y como sugiere su nombre, no realizar un seguimiento de las transacciones específicas, sino de las cantidades específicas. Del mismo modo, el análisis de tiempo hace el seguimiento de las transacciones efectuadas en tiempos específicos. Si, por ejemplo, un input es exactamente 2.6539924 bitcoin (menos la tasa), y un output sin relación es exactamente 2,6539924 (menos la tasa) un bloque más tarde, puede sugerir que las direcciones de origen y de a cuadra más adelante, se sugiere que las direcciones de envío y de recepción pertenecen a la misma persona que ha hecho uso de algún tipo de mezclador o mixer (lo veremos a continuación).

¿Qué se puede hacer para recuperar la intimidad con Bitcoin?

La privacidad de Bitcoin es en gran medida una carrera armamentística. Si bien, por un lado, se están haciendo progresos para mejorar el anonimato con Bitcoin, por otro lado, los métodos para de-anonimizar a los usuarios también están avanzando. Y si queda fuera de este artículo el analizar las potenciales posibilidades futuras para mejorar el anonimato en Bitcoin, actualmente existen métodos básicos disponibles que ayudan a aumentar la privacidad en la red Bitcoin.

1. El uso de Tor

Una solución sencilla es usar Tor [6] u otros métodos para ocultar las direcciones IP. Si las transacciones Bitcoin se transmiten a través de Tor, no hay manera de determinar dónde se ha originado (siempre teniendo en cuenta que Tor funciona de la manera que aseguran que funciona, claro).

La última versión del Bitcoin Core [7] lanzada hace unos días, incluye esta opción por defecto. De tal forma que, siempre y cuando el ordenador desde el que se conecte tenga instalado Tor, la dirección IP del usuario será prácticamente imposible de detectar.

2. Crear una nueva dirección para cada transacción Bitcoin

Otra solución básica para aumentar la privacidad es la creación de una nueva dirección para cada transacción que se realice. La creación de una nueva dirección para cada transacción hace que sea más difícil enlazar las direcciones a las identidades reales, ya que requiere de mayor agrupamiento para poder determinarlo. Cada vez un mayor número de carteras Bitcoin hace esto de forma automática, utilizando el software de cartera jerárquica determinista o cartera HD (hierarchical deterministic wallet o HD Wallets, en inglés).

3. El uso de un mixer o mezclador de bitcoins

Un método ligeramente más avanzado para obtener la privacidad es el uso de un mixer o mezclador. Existen múltiples tipos de mezcladores, pero básicamente lo que hacen es que los bitcoins de todos los usuarios del mixer se mexclan y se devuelven a los usuarios. Para hacerlo correctamente, los mixer tienen en cuenta el análisis de la red de transacciones y los análisis de mancha. Y para obtener mejores resultados, la mezcla se vuelve a repetir.

Un ejemplo de estrategia de mixer es CoinJoin, que fusiona los inputs y outputs de varios usuarios en una transacción lo que elimina la suposición de que todos los inputs pertenecen a un mismo usuario. CoinJoin, sin embargo, no elimina toda la mancha de una dirección Bitcoin, ya que los inputs y outputs quedan conectados todavía hasta un cierto nivel.

Alternativamente, algunos mezcladores pueden eliminar toda la mancha, ya que devuelven bitcoins de direcciones completamente diferentes pertenecientes al mezclador. Sin embargo, estos mezcladores son generalmente centralizados, y como tal las direcciones de envío y recepción de los bitcoins están asociadas con los usuarios.

Además, para evitar los análisis de cantidad, los mezcladores pueden requerir que todos los usuarios envíen la misma cantidad o estos pueden cobrar una cuota al azar por sus servicios, por lo que resulta más difícil para una tercera persona vincular dicha cantidad de bitcoins enviados con la cantidad devuelta. Además es imposible saber la cantidad que se mezcla, y en este sentido las cantidades más pequeñas son más fáciles de que se pierdan en la multitud de transacciones.

También para evitar el análisis de tiempo los mezcladores suelen esperar un tiempo aleatorio antes de devolver las monedas a sus propietarios. Cuando mayor sea ese periodo de tiempo, más complicado será relacionar las transacciones.

Tampoco hay que olvidar los riesgos asociados a los mixer o mezcladores, entre los que quizás el más importante es que los usuarios deben ceder el control de sus bitcoins y confiar en que se los van a devolver.

Lo que es importante tener en cuenta, es que la privacidad en Bitcoin es una escala variable. Se trata del hecho de que más que si Bitcoin es completamente anónimo o no, los usuarios de Bitcoin gozan de un cierto nivel de privacidad, y ésta depende de la cantidad de información que revelan sobre su identidad real, qué tecnicas de anonimato y cuántas aplican cuando usan Bitcoin, así como, con qué frecuencia las utilizan.

Si quieres profundizar sobre este tema recomendamos la lectura del paper académico (en inglés): Research on Anonymization and De-anonymization in the Bitcoin System [8]