Soluciones a la privacidad de bitcoin, parte II

0

En el artículo anterior mencionamos algunas soluciones recientes para fortalecer la privacidad de Bitcoin, junto con una ventaja de esta cadena de bloques que se puede aprovechar. En este artículo seguiremos revisando otras propuestas.

Stonewall

Una medida de privacidad relacionada a CoinJoin fue introducida por la billetera Samourai en mayo de 2018 como un reemplazo de una solución similar pero inferior. Con el nombre de Stonewall, esta propuesta no utiliza Coinjoin en realidad —pero hace parecer que sí lo hiciera—.

Las transacciones de Stonewall son, de hecho, transacciones regulares: envían bitcoins de un usuario a otro. Sin embargo, las transacciones de Stonewall hacen algo extraño: incluyen un número innecesario de direcciones de envío —entradas— y cambian las direcciones de recepción —salidas—.

Esto hace que la transacción se vea muy similar a una de CoinJoin —una transacción donde dos personas combinan sus transacciones en una— a pesar de que en verdad no lo sea. (Aquí se explica a detalle)

La idea detrás de Stonewall es contrarrestar los supuestos que los espías se hacen cuando analizan la cadena de bloques Bitcoin. Si estos agentes no pueden identificar en realidad cuáles transacciones son CoinJoin y cuáles no, cualquier conclusión basada en esa información no tendría valor.

La billetera Samourai también pondrá a disposición una versión, con transacciones CoinJoin reales, compartida entre dos usuarios que se confían su privacidad. Esta nueva cartera estará disponible en los siguientes meses.

Dandelion

Otro método diferente para descubrir la identidad de los usuarios de Bitcoin es mediante análisis de la red de pares (p2p). Más específico, los nodos espías pueden monitorear la red de Bitcoin para identificar dónde se originan las transacciones: el primer nodo que transmite una transacción es probablemente el que la creó.

Dandelion es una solución propuesta por un equipo de investigadores academicos de Carnegie Mellon University, University of Illinois y el MIT. Fue presentada hace poco en la conferencia Building on Bitcoin de Lisboa por Giulia Fanti, profesora de Carnegie Mellon University.

La solución impide el ánalisis de la red al cambiar la forma en la que las transacciones se expanden a través de la red p2p. En lugar de transmitir inmediatamnte y enviar la nueva transacción a la mayor cantidad de pares posible, el protocolo Dandelion envia inicialmente una nueva transacción a un solo nodo. Este nodo decide arbitrariamente si también la envía a un solo nodo o no. Si es enviada a un par, el siguiente nodo decidirá lo mismo de forma arbitraria, y así, una y otra vez.

Si no se envía a un solo par, el nodo pasa a transmitir la transacción a la mayor cantidad posible de pares, y todos los nodos receptores siguen el ejemplo. Esto hace significativamente más complejo para los espías determinar donde fue originada la transacción.

Una versión de Dandelion ya ha sido implementada por el equipo de investigación, y la propuesta general ha recibido una respuesta positiva por parte de la comunidad desarrolladora de Bitcoin. Por lo tanto, parece que será incluida en un futuro lanzamiento de Bitcoin Core, posiblemente en 2019, —aunque la siguiente actualización, 0.17.0, vendrá muy pronto—.

BIP 151 Encryption

Una propuesta anterior para limitar el análisis de la red es BIP 151, creada por Janas Schnelli, técnico de Bitcoin Core y desarrollador de Shift. BIP 151 es, de cierta manera, una solución directa: permite que los nodos de Bitcoin encripten el tráfico —y, por ende, los datos del bloque y la transacción— entre ellos.

Se puede evidenciar, sin embargo, que en su forma original BIP 151 no es una panacea de privacidad. Esto se debe a un factor, la cadena de bloques Bitcoin es pública y, más importante, los nodos se pueden conectar a ella y enviar información a los mismos espías, de quienes preferirían esconderse. No obstante, BIP 151 puede ser un avance para contrarrestar varios tipos de ataques, incluyendo ataques a la privacidad —como los ataques de intermediarios—.

La solución BIP 151, incluso en su forma original, puede decirse que es mejor que nada. Casos de uso y escenarios particulares se beneficiarán de la encriptación de pares. Por ejemplo, los proveedores de servicio de Internet y los participantes en bandas anchas abiertas ya no podrán monitorear el tráfico de Bitcoin.

Si bien BIP 151 permaneció fuera del radar por uno o dos años luego de que fue propuesta, Schnelli rescató hace poco el proyecto y lo rediseñó para discutirlo y potencialmente incluirlo en Bitcoin Core para el 2019.

Filtro de bloques complactos

Para utilizar Bitcoin sin necesidad de descargarse y verificar toda la cadena de bloques, muchas personas usan clientes ligeros, como billeteras para celulares. Desafortunadamente, casi todos estos clientes ligeros tienen una protección nula o débil. Generalmente comparten sus direcciones ya sea con un servidor central o cualquier nodo aleatorio en la red, quien puede ser un espía o puede estar siendo espiado.

Muchos de los clientes ligeros que —efectivamente— comparten sus direcciones con nodos aleatorios de la red usan un truco llamado verificación simplificada de pago (SPV, por sus siglas en inglés). Estos clientes SPV suelen utilizar filtros de Bloom para solicitar las transacciones que son potencialmente relevantes para ellos —si es que hay alguna—.

Mientras que ese filtro generará falsos positivos, lo que significa que el cliente SPV solicitará más transacciones de las estrictamente necesarias, estas son pocas comparadas a descargarse todas la transacciones.

Desafortunadamente, las billeteras SPV también revelan todas sus direcciones a quienes soliciten estos datos. Ante este problema, los desarrolladores de Lightning Labs Olaoluwa Osuntokun y Alex Akselrod, junto con el desarrollador de Coinbase Jim Posen, propusieron una solución llamada “filtro de bloque compacto del lado del cliente”.

Originalmente, fue diseñada para la billetera de Lightning Labs, Neutrino, con enfoque lightning, pero también puede utilizarse por carteras bitcoin regulares. La billetera Wasabi ya implementó esta solución  en versión beta.

El filtro de bloques compactos del lado del cliente revierte el truco que utilizan actualmente las billeteras SPV. En lugar de que las billeteras SPV soliciten las transacciones relevantes para ellos al crear y envíar el filtro de Bloom, todos los nodos crean un filtro similar. Las billeteras SPV luego utilizan este filtro para establecer que no ocurrieron transacciones relevantes.

Si el filtro logra emparejar alguna, Neutrino va en busca del bloque relevante para ver si el emparejamiento le concierne a la transaccion adecuada, y no a un falso positivo.

Dado que las billeteras SPV que utilizan filtro de bloques compactos del lado del cliente no piden nada específico a los nodos, y en su lugar reciben un filtro que se acopla a todos, tampoco deben revelar nada de su historial de transacciones.

Liquid y las transacciones confidenciales

Liquid es la primera cadena lateral comercial desarrollada por Blockstream. Su objetivo principal es establecer canales de transacción entre casas de intercambio y otras grandes compañías Bitcoin —como agencias de corredores—, permitiéndoles envíar bitcoins y otros activos entre ellos mucho más rápido de lo que permite la cadena de bloques Bitcoin. En el futuro, los usuarios regulares —es decir, los operadores de mercado— también podrán acceder a la cadena lateral, con billeteras especiales Liquid.

Una característica implementada en Liquid son las transacciones confidenciales (CT, por sus siglas en ingles). Las CT utilizan un metodo que oculta los montos de envío y recepción de las transacciones.

Todos los usuarios de Liquid pueden verificar que las cantidades recibidas no excedieron las enviadas. En otras palabras, pueden verificar que ningún bitcoin apareció por la nada —incluso si no saben exactamente cuánto dinero cambió de manos—.

En el contexto de Liquid, esto significa —entre otras cosas— que los intercambios pueden mover fondos entre ellos sin que nadie sepa cuánto se ha transaccionado. El proceso ofrece privacidad, y, por ejemplo, los competidores no podrán determinar cuánto dinero tienen en sus exchanges.

Al mismo tiempo, los traders ya no podrán utilizar esa información para comerciar, la cual es efectivamente una forma de lograr inversión ventajista hoy en día por la naturaleza pública de la cadena de bloques Bitcoin,

Cuando Liquid esté disponible para operadores de mercado regulares, estos usuarios podrán, más claramente, utilizar el protocolo para mantener sus balances lejos de los espías, incluso luego de retirar los fondos desde un exchange para almacenarlos temporalmente en la cadena lateral o moverlos a otro exchange.

Además, soluciones del tipo CoinJoin se desarrollarán para las billeteras Liquid, logrando una combinación particular de tecnologías para la privacidad. Si varias transacciones se juntan en una y las cantidades se ocultan, establecer vínculos entre las direcciones se vuelve virtualmente imposible.

Incluso más tarde, las CT podrían ser implementadas en el protocolo principal de Bitcoin. Ya hay algunas ideas de cómo hacerlo mediante una bifurcación suave que sea compatible con las versiones anteriores. Actualizaciones de este estilo, sin embargo, perjudicarían significaivamente a la escalabilidad mientras que los avances en la innovación de la red continúen, y todavía están muy lejos de convertirse en una realidad.

Nota del autor: Este artículo se enfoca específicamente en nuevas y próximas tecnologías. Soluciones anteriores también incluyen direcciones invisibles, utilizar un nodo completo de Bitcoin como una billetera, Coin Control, Join Market y otras soluciones CoinJoin existentes, Ricochet, PayNyms,Spinx de Lightning Network, el swapping de Monero, mezcladores centralizados (asumiendo tu propio riesgo) y más. 

La versión original en inglés escrita por Aaron van Wirdum se publicó en Bitcoin Magazine.

¿Te gustó el artículo? ¡Puedes apoyar a Paz Gómez en Patreon!

Deje un Comentario

Su correo electrónico no será publicado.