Privacidad: Introducción

Aún cuando Bitcoin admite privacidad de forma enérgica, muchas formas de utilizarlo usualmente no son muy privadas. Con el conocimiento adecuado de la tecnología, bitcoin definitivamente se puede utilizar de una manera muy privada y anónima.

A partir del año 2019 muchos entusiastas de bitcoin creen que es perfectamente rastreable, esto es completamente falso. Alrededor del 2011 muchos entusiastas creyeron que era totalmente privado, lo cual también es falso. Hay un matiz, en ciertas situaciones bitcoin puede ser muy privado. Sin embargo, no es algo sencillo de entender, y hacerlo toma tiempo y lectura.

Este artículo ha sido escrito en febrero del 2019. Una buena forma de leerlo es ir a los ejemplos y luego compaginar con los conceptos principales aquí desarrollados.

Resumen

Para ahorrarle el tener que leer el resto del artículo, aquí un resumen de cómo los usuarios comunes de bitcoin pueden mejorar su privacidad:

  • Piense respecto a de quién se está ocultando, cuál es su modelo de amenaza y quién es su adversario. Tenga en cuenta que existen empresas de seguimiento de transacciones, quienes efectúan seguimiento del ecosistema de bitcoin a gran escala.
  • No reutilice direcciones. Las direcciones se deben mostrar a un tercero para recibir fondos y no se deben utilizar nuevamente después que se hayan gastado los mismos.
  • Intente divulgar el mínimo posible de información sobre usted cuando efectúe transacciones, por ejemplo, evite las validaciones de KYC/LA/FT y sea cuidadoso cuando deba revelar su dirección física.
  • Utilice un monedero/cartera vinculada a su propio nodo completo, definitivamente no utilice un monedero basado en web.
  • Publique sus transacciones a través de Tor, si su monedero no lo soporta entonces copie y pegue los datos en hexadecimal de la transacción en una web y anuncie la misma a través del navegador Tor.
  • Utilice Lightning Network tanto como sea posible.
  • Si no puede utilizar Lightning, utilice un monedero que implemente CoinJoin adecuadamente.
  • Evite crear direcciones de cambio, por ejemplo, cuando financie un canal de Lightning gaste el UTXO completo en esto, sin que quede cambio (asumiendo que el monto no es tan grande, para evitar riesgos)
  • Si le preocupa el tema forense digital entonces utilice una solución como el sistema operativo Tails.

Introducción

Los usuarios interactúan con bitcoin a través de un software que podría filtrar información sobre éstos de diferentes maneras que perjudiquen su anonimato.

Bitcoin registra las transacciones en la cadena de bloques la cual es visible para todos, por tanto representa el mayor riesgo para la privacidad. Los bitcoins se mueven entre direcciones; las direcciones tanto del emisor como del receptor son conocidas, los montos también. Lo único que se desconoce es la identidad de cada dirección.

El vínculo entre direcciones que se utilizan en las transacciones se denomina usualmente el gráfico de transacciones. De por si esta información no puede identificar a nadie debido a que las direcciones y los identificadores de transacciones son simplemente números aleatorios. Sin embargo, si “cualquiera” de las direcciones en el pasado o futuro de una transacción se puede vincular con una identidad real, puede hacer posible que a partir de esa información se pueda deducir el dueño de las otras direcciones. La identificación de una dirección podría darse a través del análisis de red, vigilancia, búsqueda en la web, o una diversidad de otros métodos. La práctica recomendada de utilizar una dirección diferente por cada transacción tiene por intención hacer más difícil este ataque.

Ejemplo: el adversario controla el origen y destino de los fondos

La segunda imagen muestra un ejemplo simple. Un adversario opera tanto una casa de cambio como un sitio web trampa (honeypot). Si alguien utiliza su casa de cambio para comprar bitcoins y luego intercambia las monedas en el sitio web trampa, la cadena de bloques mostrará:

  • Transacción de monedas en la dirección A a la dirección B. Autorizada por <firma de la dirección A>.
  • Transacción de monedas en la dirección B a la dirección C. Autorizada por <firma de la dirección B>.

Supongamos que el adversario conoce que la cuenta bancaria del señor Doe ha enviado el dinero de curso legal o fiduciario que se ha utilizado para comprar las monedas, las cuales han sido transferidas a la dirección B. El adversario también conoce que el sitio web trampa ha recibido monedas en la dirección C que han sido gastadas desde la dirección B. En conjunto, ambos datos muestran un claro indicio de que la dirección B está controlada o es propiedad del señor Doe y que éste ha enviado fondos al sitio web trampa. Esta suposición no siempre es correcta debido a que la dirección B podría ser una dirección controlada por un tercero a nombre del señor Doe y la transacción a la dirección C podría no tener relación, o que ambas transacciones podrían haber sido, de hecho, parte de un contrato inteligente (smart contract) que efectivamente transporta las monedas a una dirección completamente diferente en algún lugar de la cadena de bloques.

Ejemplo: Comprar diario chino de forma no anónima

En este ejemplo el adversario controla el destino y encuentra el origen a partir de la metadata.

  1. Usted vive en China y desea comprar un diario en línea real usando bitcoins.
  2. Usted ingresa al foro Bitcoin y utiliza su dirección como su firma. Dado que usted es muy servicial logra obtener una modesta suma como donaciones después de unos meses.
  3. Desafortunadamente, usted elige erróneamente a quién le compra el diario: ¡ha elegido un agente del gobierno!
  4. El agente del gobierno busca la transacción que ha utilizado para comprar el diario en la cadena de bloques y además busca cada dirección relevante de ésta en la web. Con esto da con su dirección en su firma en el foro Bitcoin. Usted ha dejado suficiente información personal en sus publicaciones como para ser identificado, de esta manera se le ha colocado en la lista para ser “reeducado”.
  5. Una de las mayores razones para que esto se haya dado es el uso repetido de la dirección. La firma en el foro tenía una única dirección que nunca ha cambiado, de este modo ha sido sencillo encontrarla al buscar en la web.

Debe protegerse tanto de ataques hacia adelante (obtener algo que le identifique utilizando monedas que ha obtenido con métodos que deben mantenerse en secreto, como el ejemplo del adversario) y ataques inversos (obtener algo que debe mantenerse en secreto utilizando monedas que le identifican, como el ejemplo del diario).

Ejemplo: Una donación perfectamente privada

Por otro lado, este es un ejemplo de alguien que utiliza bitcoin para efectuar una donación que es completamente anónima.

  1. El objetivo es donar a alguna organización que acepta bitcoin.
  2. Usted utiliza la cartera Bitcoin Core exclusivamente a través de Tor.
  3. Descarga algunos gigabytes extra de datos a través de Tor de modo que el ancho de banda total no es exactamente del tamaño que se puede vincular a una cadena de bloques.
  4. Mina un bloque, en pool o solo, y recibe las monedas recientemente generadas en su cartera.
  5. Envía el total de fondos a una dirección de donación de la organización.
  6. Finalmente, destruye el hardware de cómputo utilizado.

Dado que la cartera de su nodo completo se monta completamente sobre la red Tor, su dirección IP está oculta adecuadamente. Tor también oculta totalmente el hecho de que está utilizando Bitcoin. Dado que las monedas han sido obtenidas por minado están desvinculadas por completo de cualquier información sobre usted. Debido a que la transacción es una donación, no hay bienes o servicios que le han sido enviados, de este modo no tiene que revelar ninguna dirección postal de entrega. Dado que se envía el total de fondos, no existe dirección de cambio que luego pueda revelar información. Dado que el hardware se ha destruido no existe registro remanente en discos duros desechados que se pueda encontrar después. La única manera que puedo imaginar de atacar este esquema es ser un adversario global que pueda explotar una conocida debilidad de Tor.

Múltiples interpretaciones de una transacción de cadena de bloques

Las transacciones Bitcoin están compuestas de entradas y salidas, de las cuales pueden haber una o más. Las salidas creadas previamente se pueden utilizar como entradas para futuras transacciones. Estas salidas se destruyen cuando se gastan y se crean nuevas salidas para reemplazarlas.

Considere este ejemplo de transacción:

1 btc  ---->  1 btc 
3 btc         3 btc

Esta transacción tiene dos entradas, valorizadas en 1 BTC y 3 BTC, y crea dos salidas valorizadas también en 1 BTC y 3 BTC.

Si mira en la cadena de bloques, ¿qué podría asumir respecto al significado de esta transacción? (por ejemplo, usualmente asumimos que una transacción de bitcoin es un pago pero no tiene que serlo).

Existen cuanto menos nueve posibles interpretaciones:

  1. Alice emplea ambas entradas y paga 3 BTC a Bob. Alice es propietaria de la salida de 1 btc (es decir es una salida de cambio).
  2. Alice emplea ambas entradas y paga 1 BTC a Bob, con 3 BTC pagados de vuelta a Alice en forma de cambio.
  3. Alice emplea 1 BTC de entrada y Bob emplea 3 BTC de entrada, Alice obtiene 1 BTC de salu¡ida y Bob obtiene 3 BTC de salida. Esto es un tipo de transacción CoinJoin.
  4. Alice paga 2 BTC a Bob. Alice emplea una entrada de 3 BTC, obtiene 1 BTC de salida; Bob emplea 1 BTC de entrada y obtiene 3 BTC. Esto sería una transacción de tipo PayJoin.
  5. Alice paga 4 BTC a Bob (pero utiliza dos salidas por alguna razón).
  6. Transacción ficticia: Alice emplea todas las entradas y salidas, simplemente está moviendo monedas entre sus propias direcciones.
  7. Alice paga 3 BTC a Bob y 1 BTC a Carol. Este es un pago en lote sin dirección de cambio. (Una técnica para reducir las comisiones de transacción).
  8. Alice paga 3, Bob paga 1; Carol obtiene 3 BTC y David obtiene 1 BTC. Esto es un tipo de transacción efectuada con CoinJoin en lote sin dirección de cambio.
  9. Alice y Bob pagan 4 BTC a Carol (pero utilizan dos salidas).

Existen muchas interpretaciones posibles a partir de una transacción. Por lo tanto es completamente falso afirmar que las transacciones de bitcoin son perfectamente rastreables, la realidad es mucho más compleja.

Los adversarios relevantes en cuanto a la privacidad que analizan la cadena de bloques usualmente se apoyan en heurísticas (o modismos de uso) donde se efectúan algunas suposiciones acerca de lo que es verosímil. Posteriormente el analista ignora o excluye algunas de estas posibilidades. Sin embargo, estas son las únicas suposiciones que pueden estar erradas. Alguien que desea mejor privacidad puede desbaratar intencionalmente esas suposiciones lo cual engañará completamente a un analista.

Las unidades de bitcoin, como moneda, no tienen un sello de agua en el contexto de una transacción (en otras palabras estas no tienen un número de serie). Por ejemplo, la entrada de 1 BTC en la transacción podría terminar en la salida de 1 BTC o como parte de la salida de 3 BTC, o una mezcla de ambos. Las transacciones son representaciones de muchos a muchos, de este modo y en una forma muy importante es imposible responder a la pregunta de dónde ha terminado el 1 BTC. Esta fungibilidad de bitcoin en el contexto de una transacción es una razón importante para las diferentes posibles interpretaciones de la transacción del ejemplo previo.

Modelo de amenaza

Al considerar la privacidad debe pensar exactamente de quién se está ocultando. Debe examinar cómo un hipotético adversario podría espiarle, qué información es más importante para usted y qué tecnología necesita para proteger su privacidad. El tipo de procedimiento necesario para proteger su privacidad, por lo tanto, depende de su modelo de amenaza.

Los novatos en privacidad a menudo creen que pueden simplemente descargar algún software y esto resolverá todas sus preocupaciones respecto a la privacidad. Esto no es así. La privacidad requiere de un cambio en el comportamiento, aún cuando sea mínimo. Por ejemplo, imagine si usted tiene una Internet perfectamente privada en donde con quién se comunica y lo que dice es completamente privado. Incluso así usted podría utilizarla para ingresar a un sitio web de social media para introducir su nombre real, publicar un autorretrato y hablar de lo que está haciendo en este momento. Cualquiera en la Internet podría ver esa información de modo que su privacidad estará arruinada incluso si usted utiliza correctamente la tecnología de privacidad.

Para detalles lea la charla Opsec for Hackers de grugq. La charla está dirigida principalmente a activista políticos que requieren privacidad frente a los gobiernos, sin embargo, muchos consejos aplican a todos nosotros.

Muchas veces la negación admisible no es suficientemente debido a que muchos de los métodos de espionaje solo necesitan funcionar a nivel estadístico (por ejemplo, publicidad dirigida).

Método de fusión de datos

La combinación de múltiples filtraciones de privacidad puede ser mucho más dañina para la privacidad que una única filtración. Imagine si un receptor de una transacción está intentando revelar el remitente. Cada filtración de privacidad eliminará muchos candidatos para determinar el remitente, dos filtraciones diferentes podrían eliminar candidatos “diferentes” resultando en mucho menos candidatos restantes. Vea el diagrama para un ejemplo.

Esta es la razón por la que incluso filtraciones de pequeñas cantidades de información se deben evitar, debido a que estas pueden arruinar completamente la privacidad cuando se combinan con otras. Volviendo al ejemplo del comprador de diarios chino, quien ha sido identificado debido a una combinación de información de transacción visible y la dirección de donación en su firma en el foro. Existen muchas transacciones en la cadena de bloques las cuales de por si no revelan nada acerca de la identidad o hábitos de gasto de quien las realiza. Existen muchas direcciones de donación publicadas en firmas de foros que tampoco revelan mucho acerca de la identidad del propietario o sus hábitos de gasto, debido a que estas son simplemente información criptográfica aleatoria. Sin embargo, juntas las dos filtraciones de privacidad han resultado en una visita al campamento de re-educación. El método de fusión de datos es muy importante al comprender la privacidad en bitcoin (y otras situaciones).

Porqué privacidad

La privacidad financiera es un elemento esencial para la fungibilidad en Bitcoin: si puede distinguir de manera significativa una moneda de otra, entonces su fungibilidad es débil. Si nuestra fungibilidad es débil en la práctica, entonces no podemos ser descentralizados: si alguien importante anuncia una lista de monedas robadas las cuales no aceptará, usted debe verificar cuidadosamente las monedas que acepta en esa lista y devolver aquellas que coincidan. Todos se preocupan en validar listas negras publicadas por diversas autoridades debido a que en este mundo a nadie le gusta quedarse con las monedas malas. Esto añade fricción y costes de transacción y hace de Bitcoin menos valioso como dinero.

La privacidad financiera es un criterio esencial para la operación eficiente de un libre mercado: si opera un negocio, usted no puede definir precios acertadamente si sus proveedores y clientes pueden ver todas sus transacciones en contra de su voluntad. Usted no puede competir efectivamente si sus competidores están rastreando sus ventas. Individualmente su apalancamiento en la información se pierde en sus transacciones privadas si no tiene privacidad sobre sus cuentas: si paga a su casero en Bitcoin sin la suficiente privacidad, su casero puede saber cuando ha recibido un incremento salarial y podría buscarle para incrementar el precio de alquiler.

La privacidad financiera es esencial para su seguridad personal: si los ladrones pueden ver su gasto, ingresos y ahorros, pueden utilizar esa información para tenerle de objetivo y aprovecharse de usted. Sin privacidad los malos actores tienen mayor capacidad para apropiarse de su identidad, arrebatarle sus compras importantes en la puerta de su casa, o hacerse pasar por negocios con los que usted tranza en su contra… ellos pueden saber por cuánto deben intentar estafarle.

La privacidad financiera es esencial para la dignidad humana: nadie desea al barista mocoso del bar o a sus vecinos narigudos comentando acerca de sus ingresos o hábitos de gasto. Nadie desea a sus parientes ansiosos por que tenga bebés preguntando el porqué han comprado anticonceptivos (o juguetes sexuales). Su empleador no tiene nada que hacer sabiendo a qué iglesia usted hace donaciones. Solamente en un mundo perfectamente libre de discriminación en donde nadie tiene la indebida autoridad sobre el resto podremos retener nuestra dignidad y efectuar nuestras transacciones legales libremente sin auto-censura si no tenemos privacidad.

Aún más importante, la privacidad financiera no es incompatible con aspectos como el cumplimiento de la ley o la transparencia. Usted en todo momento puede mantener registros, ser ordenado (o hacerlo voluntariamente) a proporcionarles lo propio a ellos o a quien sea, tener a los jueces en su contra cuando no pueda producir los registros (como es el caso actualmente). Nada de esto requiere registros públicos globalmente visibles.

Los registros públicos visibles globalmente son algo nunca antes visto en finanzas. Estos no son deseados y posiblemente no se toleran. El libro blanco de Bitcoin hace una promesa respecto a cómo podríamos evitar la visibilidad del registro con direcciones seudónimas, pero el ecosistema ha roto esa promesa en distintos aspectos y nosotros debemos corregirlo. Bitcoin podría haber registrado su nombre o dirección IP en cada transacción. No lo ha hecho. El libro blanco tiene incluso una sección respecto a la privacidad. Es incorrecto afirmar que Bitcoin no está enfocado en la privacidad. Una cantidad suficiente de privacidad es un requisito previo esencial para una moneda digital viable.

Traducción artículo: Privacy en el wiki de Bitcoin.