Privacidad: Métodos para incrementar la privacidad (no relacionado con cadena de bloques)

Obtener bitcoins de forma anónima

Si el adversario no ha vinculado su dirección bitcoin con su identidad entonces la privacidad es más sencilla. Los métodos de espionaje de cadena de bloques como la heurística de propiedad de entrada común, detección de dirección de cambio y correlación de montos no son muy efectivas por sí mismas si no existe un punto inicial al cual vincularlas.

Muchas casas de intercambio requieren que sus usuarios se sometan a validaciones de lavado de activos-financiamiento al terrorismo y conoce a tu cliente (LAFT/KYC), lo que implica que los usuarios revelen diferentes tipos de información personal como su verdadero nombre, lugar de residencia, ocupación e ingresos. Toda esta información se vincula con las direcciones y transacciones de bitcoin que son usadas posteriormente.

El evitar la invasión de la privacidad del proceso LAFT/KYC es probablemente la cosa más importante que un individuo puede hacer para mejorar su privacidad. Funciona mucho mejor que cualquier tecnología concreta como CoinJoin. En efecto, todos los trucos de criptografía y privacidad son irrelevantes si todos los usuarios efectúan transacciones únicamente entre instituciones que exigen la validación LAFT/KYC.

Intercambio en efectivo

El dinero en físico es un medio de intercambio anónimo, de manera que utilizarlo es una manera de obtener bitcoin de forma anónima en la que nadie, excepto los participantes de la transacción intercambian datos de identificación.

Esta sección no listará sitios web para encontrar este tipo de reuniones debido a que la información puede volverse obsoleta, sin embargo, intente buscar en la web “comprar bitcoin en efectivo”. Note que algunos servicios todavía solicitan identificación, por lo que vale la pena verificar si es el caso. Algunos servicios requieren identificación solo para la persona que publica el anuncio. Hasta finales del 2018 existe al menos un proyecto de código abierto de una casa de cambio descentralizada en desarrollo que tiene por objetivo facilitar este tipo de transacciones sin necesidad en absoluto de un tercero centralizado, utilizando en cambio una red entre pares.

Las transacciones en efectivo en persona son un método antiguo y popular. Dos vendedores acuerdan reunirse en algún lugar y el comprador entrega efectivo mientras que el vendedor efectúa una transacción bitcoin al comprador. Esto es similar a otro fenómeno de internet como Craiglist que organiza reuniones para intercambio. Se puede utilizar un fideicomiso para mejorar la seguridad o evitar la necesidad de esperar por confirmaciones en el lugar de la reunión.

Efectivo a través de correo funciona cuando el comprador envía dinero en físico a través del servicio postal. En todos los casos se emplea un fideicomiso para prevenir fraudes. El comprador de bitcoins puede ser muy anónimo para el vendedor debe revelar una dirección postal al comprador. Este método puede funcionar a través de largas distancias pero depende en la infraestructura del servicio postal. Los usuarios deben verificar con el servicio postal local si existe alguna directriz respecto al envío de efectivo por correo postal. A menudo es posible asegurar el efectivo.

Depósito de efectivo es un método por el que el comprador deposita efectivo directamente en la cuenta bancaria del vendedor. Se utiliza también un servicio de fideicomiso, y también el comprador de bitcoins puede ser casi anónimo pero el vendedor deberá registrarse con un banco o institución financiera y compartir con éstos los detalles, bastante invasivos, respecto a su identidad e historial financiero. Este método depende de la infraestructura financiera para banca personal, por lo que funciona para largas distancias.

Efectivo enterrado es un método raramente empleado. Es similar a la transacción en persona con efectivo pero los vendedores jamás se encuentran. El comprador elige una ubicación para ocultar el efectivo en un lugar público, luego el comprador envía un mensaje al vendedor indicando la ubicación, finalmente el vendedor recoge el efectivo de la ubicación oculta. El fideicomiso es un requisito para evitar fraudes. Este método es muy anónimo para el comprador dado que el vendedor ni siquiera conocerá su aspecto físico, para el vendedor es un poco menos anónimo dado que el comprador puede acechar la ubicación para cuando el vendedor recoja el efectivo.

Substitutos del efectivo

Substitutos del efectivo como tarjetas de regalo, crédito de teléfonos móviles o tarjetas de débito de prepago a menudo se pueden comprar de tiendas tradicionales con efectivo y luego intercambiarlas en línea por bitcoin.

Empleo

Los bitcoins que se aceptan como pago por trabajo realizado puede ser anónimo si el empleador no solicita mucha información personal. Esto podría funcionar bien en un trabajo eventual o por contrato. Sin embargo, si tu adversario es tu propio empleador entonces obviamente esto no es una buena privacidad.

Minería

La minería es la forma más anónima de obtener bitcoin. Esto aplica a minería personal dado que los grupos de minería usualmente conocen la dirección IP del que ha generado el hash. Dependiendo del tamaño de la operación la minería podría emplear mucha energía eléctrica lo que podría causar sospechas. Además, podría ser difícil obtener el hardware especializado de minería de manera anónima (aunque estos no significa que los bitcoins minados estén vinculados).

Robo

En teoría otra forma de obtener bitcoin de forma anónima es robarlo.

Existe al menos un caso en donde esto ha ocurrido. En mayo del 2015 un hacker conocido como Phineas Fisher atacó una compañía que vendía productos de vigilancia a dictadores. El hacker empleo los bitcoins obtenidos de otras personas para rentar de manera anónima infraestructura para nuevos ataques.

Gastar bitcoins de forma anónima

Si divulga su dirección de entrega (lo que debe hacer si compra productos físicos en línea) entonces esto será una filtración de datos. Obviamente eso es evitable en muchos casos.

Sincronización del historial de la billetera

Las billeteras de Bitcoin deben obtener de algún modo información acerca de su balance e historial. Hasta finales del 2018 las soluciones más prácticas y privadas son el emplear un nodo completo (que es completamente privado) y filtrado de bloques del lado del cliente (lo que es muy bueno).

Un problema con estas tecnología es que siempre cuestan más recursos (tiempo, ancho de banda, almacenamiento, etc) que soluciones no privadas como las billeteras basadas en web y servidores centralizados de Electrum. Existen métricas que indican que muy pocas personas utilizan en efecto BIP37 debido a cuán lento es, de modo que el filtrado de bloques del lado del cliente podría no ser muy utilizado.

Nodo completo

Los nodos completos descargan la cadena de bloques completa que contiene cada transacción “on-chain” que ha ocurrido en bitcoin. De este modo un adversario que está fisgoneando la conexión de internet del usuario no sabrá sobre qué transacciones o direcciones tiene interés el usuario. Esta es la mejor solución para la sincronización del historial de la billetera con privacidad, sin embargo, desafortunadamente cuesta una cantidad significante de tiempo y ancho de banda.

Obtención de información privada

En criptografía, un protocolo de obtención de información (PIR) es un protocolo que permite a un usuario obtener un elemento de un servidor que posee una base de datos sin revelar cuál es el elemento obtenido. Se ha propuesto esto como una manera de sincronizar el historial de la billetera pero dado que un PIR es muy intensivo en recursos, los usuarios a quienes no les importar gastar ancho de banda y tiempo podrían, en cambio, simplemente usar un nodo completo.

Filtrado de bloques del lado del cliente

El filtrado de bloques del lado del cliente funciona al crear filtros que contienen todas las direcciones para cada transacción en un bloque. Los filtros pueden validar si un elemento está en el conjunto; los falsos positivos son posibles para no los falsos negativos. Una billetera ligera podría descargar todos los filtros para cada bloque en la cadena de bloques y verificar si coinciden con sus propias direcciones. Los bloques que contienen coincidencias serán descargados completamente desde la red entre pares, y se emplearán para obtener el historial y balance actual de la billetera.

Consulta de direcciones a través de encaminamiento cebolla

El historial de las billeteras se puede obtener desde servidores centralizados como los servidores de Electrum pero empleando un nuevo circuito de Tor por cada dirección. Una idea bastante relacionada es conectar los servidores Electrum en una red de encaminamiento cebolla. Cuando se crea este tipo de esquema, se debe tomar cuidado en evitar la correlación del tiempo que vincule las direcciones, de otro modo el servidor podría utilizar el hecho de que las direcciones han sido solicitadas en un intervalo de tiempo cercano entre cada petición.

Medidas para contrarrestar el análisis de tráfico

Bitcoin Core y sus bifurcaciones tienen medidas para contrarrestar ataques de tipo Sybil y eclipse. Los ataques Eclipse son ataques de tipo Sybil en donde el adversario intenta controlar todos los pares de su objetivo y bloquear o controlar el acceso al resto de la red. Estos ataques han sido estudiados en extenso en un artículo del 2015 Eclipse Attacks on Bitcoin’s Peer-to-Peer Network lo que ha ocasionado que se modifique el código de Bitcoin Core para mitigarlo.

Bitcoin Core y sus bifurcaciones emplean un algoritmo conocido como de goteo cuando retransmite transacciones sin confirmar, con el propósito de hacer lo más difícil posible que los atacantes sybil encuentren la dirección IP de origen de la transacción. Para cada par, el nodo mantiene una lista de transacciones a las que hará inv. Envía inv´s para transacciones periódicamente con una demora aleatoria entre cada inv. Las transacciones son seleccionadas para formar parte del mensaje inv de una forma algo aleatoria y de acuerdo a algunas métricas que involucran la tarifa de comisión. Ésta selecciona un número limitado de transacciones a las que efectuará inv. El algoritmo crea la posibilidad de que un nodo en par pueda conocer acerca de una transacción sin confirmar desde un vecino del creador en lugar del propio nodo del creador. Sin embargo, los adversarios aún pueden obtener información relevante con respecto a la privacidad.

El cifrado de mensajes entre pares como describe el BIP151 haría más difícil para un atacante pasivo, como un PSI o proveedor WiFi, el conocer los mensajes exactos enviados y recibidos por un nodo bitcoin.

Tor y transmisión tor

Si existe preocupación por un adversario que controla la conexión, entonces bitcoin se puede ejecutar completamente sobre tor. Tor es cifrado y oculta sus puntos de enlace, de modo que un proveedor de servicios de internet o WiFi ni siquiera sabrá que está usado bitcoin. Los otros nodos de bitcoin conectados no podrán saber su dirección IP debido a que Tor la oculta. Bitcoin Core y sus bifurcaciones tienen características para configurar y utilizar Tor fácilmente. Algunas billeteras ligeras también se ejecutan completamente sobre tor.

El ejecutar completamente sobre tor tiene la desventaja de que la sincronización del nodo requiere descargar toda la cadena de bloques completa sobre tor, lo que puede ser muy lento. Descargar bloques sobre Tor solo ayuda en la situación en donde desea ocultar el hecho de que ni siquiera está utilizando bitcoin del proveedor de servicios de internet. Es posible descargar bloques y transacciones no confirmadas sobre la red estándar pero transmitir sus propias transacciones a través de Tor, permitiendo utilizar una conexión rápida al mismo tiempo que ofreciendo privacidad cuando transmite.

Al configurar Bitcoin Core con la opción walletbroadcast=0 se evitará que las transacciones que pertenecen al usuario se transmitan y retransmitan, lo que permite transmitirlas a través de Tor u otro método que preserva la privacidad.

Dandelion

Dandelion es otra tecnología para transmisión privada de transacciones. La idea principal es que la propagación de transacciones se efectúa en dos fases: primero la fase “stem” y luego la fase “fluff”. Durante la fase “stem”, cada nodo retransmite las transacciones a un único par. Después de un número de saltos a través del “stem”, la transacción entra en la fase “fluff”, que se comporta como una transacción ordinaria de inundación/difusión. Incluso cuando un atacante puede identificar la ubicación de la fase “fluff”, es mucho más difícil identificar el origen del “stem”.

Transmisión interactiva de pares

Algunas tecnologías de privacidad como CoinJOin y CoinSwap requieren interacción entre muchas entidades de bitcoin. Estas pueden usarse para transmitir transacciones con más privacidad, debido a que los pares en los protocolos de privacidad pueden enviar entre si transacciones sin confirmar empleando el protocolo existente que éstas emplean para interactuar entre si.

Por ejemplo, en JoinMarket los tomadores de mercado pueden enviar transacciones a los creadores de mercado quienes las transmitirán y de este modo mejorarán la privacidad del tomador. Esto puede ser más conveniente para el tomador que configura Tor para utilizarlo para la transmisión tor.

Recibir datos de bitcoin a través del satélite

Al menos una compañía bitcoin ofrece un servicio de satélite de bitcoin. Este es un servicio gratuito donde los satélites transmiten la cadena de bloques de bitcoin prácticamente a todos los lugares en el mundo. Si los usuarios configuran su antena de plato para apuntar al satélite en el espacio, pueden recibir los bloques necesarios para ejecutar un nodo completo. Dado que las conexiones de satélite son únicamente en modo de recepción nadie puede detectar que el usuario siquiera está utilizando bitcoin, y definitivamente cuáles direcciones o transacciones le pertenecen.

Hasta el 2019 la empresa ofrece un servicio de pago que permite transmitir cualquier dato a cualquier lugar en el mundo a través del satélite, lo que parece ser la forma en la que ganan dinero. Pero aparentemente el servicio básico de transmisión de la cadena de bloques será siempre gratuito.

Traducción artículo: Privacy en el wiki de Bitcoin.
https://en.bitcoin.it/wiki/Privacy#Methods_for_improving_privacy_.28non-blockchain.29

Parte 1: Privacidad: Introducción
Parte 2: Privacidad: Ataques de cadena de bloques a la privacidad