Análisis de datos de privacidad en bitcoin (y II)

12 abril, 2018

(Trobareu la versió en català més avall)

En el post anterior sobre este tema hemos introducido los componentes tecnológicos más destacados de bitcoin y también vimos brevemente cómo puede inferirse información del usuario analizando la capa de red. En este post nos centraremos en las técnicas de análisis del grafo de transacciones, las cuales permiten aprovecharse de los links que hay en la blockchain entre el emisor de una transacción y el receptor para ir siguiendo el camino entre transacciones. Así, si en algún punto de este camino podemos averiguar la identidad del usuario, entonces podremos extraer mucha información sobre su actividad económica.

Este tipo de análisis ha probado ser efectivo para extraer información que muchos usuarios creían confidencial. Por ejemplo, en la Figura 1 podemos ver las conexiones entre el creador de Silk Road (marketplace para la compra/venta de drogas, armas y otros artículos ilegales) y un agente de la DEA. Para protegerse en parte de este tipo de análisis, existen unas buenas prácticas al hacer transacciones. Una de las buenas prácticas más extendidas es el uso de direcciones de bitcoin diferentes para cada transacción. Aunque esto parece obvio para no vincular dos pagos diferentes a un mismo usuario, en los primeros años de bitcoin era algo muy normal, y de hecho todavía hay usuarios que lo siguen haciendo.

Figura 1: Conexión de transacciones entre el creador de Silk Road y un agente de la DEA condenado por el robo de bitcoins. Fuente Motherboard

En la Figura 2 podemos ver otro trabajo donde se des-anonimizan transacciones. En este caso los autores clusterizan las transacciones y utilizan otras interacciones que hacen los autores del estudio con los servicios principales relacionados con bitcoin para poder poner nombre a los clusters.

Figura 2: Análisis con clusters que logró poner nombre de servicios a transacciones de bitcoin. Fuente Meiklejohn et al.

Sin embargo, aunque usemos una dirección de bitcoin diferente para cada transacción, podemos dificultar un poco el rastreo de un pago, pero no lo hacemos imposible, ya que existen muchos otros elementos que pueden revelar información. Por ejemplo, el hecho de que juntemos varias transacciones para poder pagar un artículo caro, para el que no tenemos una sola transacción con el valor necesario, hace que sea probable que las transacciones juntadas sean propiedad de la misma persona. También nos delatarían hechos como pagos regulares que generen patrones.

Por ejemplo, una misma cantidad de bitcoins una vez al mes podría suponer el ingreso de una nómina, o una cantidad menor podría suponer el pago de una cuota (e.g. cuota del gimnasio). Y si un usuario utilizara la transacción recibida con su nómina para pagar el gimnasio, empresa que conoce nuestra identidad, entonces siguiendo el grafo de transacciones el gimnasio puede fácilmente conocer nuestra nómina. De una forma parecida, si una empresa pagara a todos los empleados desde la misma transacción, un empleado podría saber los salarios de sus compañeros, aunque no pudiera vincular exactamente cada salario con un compañero en concreto.

Para intentar anonimizar un poco las transacciones se suelen usar métodos que se basan en intentar mezclar una transacción en un conjunto de transacciones parecidas y que, desde fuera, no se pueda saber qué transacción es de cada usuario. Por ejemplo, los mixers son servicios donde muchas transacciones de varios usuarios se juntan en una sola transacción. Entonces esta transacción tiene como salida multitud de nuevas direcciones que están controladas por los mismos usuarios que aportaron las transacciones de entrada. De esta manera, se han mezclado muchas transacciones de muchos usuarios en un nodo del grafo, lo cual impide que podamos vincular el usuario de una transacción de salida con el de una transacción de entrada concreta. La Figura 3 representa de manera simplificada el funcionamiento de un mixer.

Figura 3: Representación simplificada de un servicio mixer.

Finalmente, destacar que la falta de privacidad en bitcoin ha sido uno de los motivos por el que han aparecido otras criptomonedas, que tienen como característica especial que se focalizan en guardar la privacidad de sus usuarios. Por ejemplo, para que no sean necesarios los mixers, en otras criptomonedas se usan técnicas como las ring signatures (e.g. en Monero) para que cada vez que se haga un pago no se pueda linkar directamente un emisor con un receptor, ya que cada vez que un emisor firma una transacción lo hace mezclando su clave con la de otros usuarios. Esto hace que los mineros puedan validar que la transacción es válida, pero no saber cuál de los usuarios es el que realmente ha firmado. Otra criptomoneda popular focalizada en la privacidad es Zcash, la cual utiliza zero knowledge proofs para esconder la identidad de los usuarios. Por mencionar algunas, otras monedas centradas en la privacidad son: Dash, Bytecoin, Pivx o Verge.

Victor Garcia-Font es profesor de los Estudios de Informática, Multimedia y Telecomunicación de la Universitat Oberta de Catalunya.

Anàlisi de dades de privacitat a bitcoin (i II)

En el post anterior sobre aquest tema hem introduït els components tecnològics més destacats de bitcoin i també hem vist breument com es pot inferir informació de l’usuari analitzant la capa de xarxa. En aquest post ens centrarem en les tècniques d’anàlisi del graf de transaccions, les quals permeten aprofitar-se dels links que hi ha a la blockchain entre l’emissor d’una transacció i el receptor per anar seguint el camí entre transaccions. Així, si en algun punt d’aquest camí podem esbrinar la identitat de l’usuari, llavors podrem extreure molta informació sobre la seva activitat econòmica.

Aquest tipus d’anàlisi ha provat ser efectiva per extreure informació que molts usuaris creien confidencial. Per Exemple, a la Figura 1 podem veure les connexions entre el creador de Silk Road (marketplace per a la compra / venda de drogues, armes i altres articles il·legals) i un agent de la DEA. Per protegir-se en part d’aquest tipus d’anàlisi, existeixen un conjunt de bones pràctiques a l’hora de realitzar transaccions. Una d’elles és l’ús d’adreces de bitcoin diferents per a cada transacció. Encara que això sembla obvi per a no vincular dos pagaments diferents a un mateix usuari, en els primers anys de bitcoin era una cosa molt normal, i de fet encara hi ha usuaris que ho continuen fent.

Figura 1: Connexió de transaccions entre el creador de Silk Road i un agent de la DEA condemnat per robatori de bitcoins. Font Motherboard.

A la Figura 2 podem veure un altre treball on es des-anonimizen transaccions. En aquest cas els autors clusterizen les transaccions i utilitzen altres interaccions que tenen els autors de l’estudi amb els serveis principals relacionats amb bitcoin per poder posar nom als clústers.

Figura 2: Anàlisi amb clústers on es posen nom de serveis a transaccions en bitcoin. Font Meiklejohn et al.

No obstant això, tot i que usem una adreça de bitcoin diferent per a cada transacció, podem dificultar una mica el rastreig d’un pagament, però no ho fem impossible, ja que hi ha molts altres elements que poden revelar informació. Per exemple, el fet que ajuntem diverses transaccions per poder pagar un article car, per al qual no tenim una sola transacció amb el valor necessari, fa que sigui probable que les transaccions ajuntades siguin propietat de la mateixa persona. També, ens delatarien fets com pagaments regulars que generin patrons.

Per exemple, una mateixa quantitat de bitcoins un cop al mes podria suposar l’ingrés d’una nòmina, o una quantitat menor podria suposar el pagament d’una quota (e.g. quota del gimnàs). I si un usuari utilitzés la transacció rebuda amb la seva nòmina per pagar el gimnàs, empresa que coneix la nostra identitat, llavors seguint el graf de transaccions al gimnàs pot fàcilment conèixer la nostra nòmina. D’una manera semblant, si una empresa pagués a tots els empleats des de la mateixa transacció, un empleat podria saber els salaris dels seus companys, encara que no pogués vincular exactament cada salari amb un company en concret.

Per intentar anonimitzar una mica les transaccions es solen utilitzar mètodes que es basen en intentar barrejar una transacció en un conjunt de transaccions semblants i que des de fora, no es pugui saber quina transacció és de quin usuari. Per exemple, els mixers són serveis on moltes transaccions de diversos usuaris s’ajunten en una sola transacció. Llavors aquesta transacció té com a sortida multitud de noves direccions que estan controlades pels mateixos usuaris que han aportat les transaccions d’entrada. D’aquesta manera, s’han barrejat moltes transaccions de molts usuaris en un node del graf, la qual cosa impedeix que puguem vincular l’usuari d’una transacció de sortida amb el d’una transacció d’entrada concreta. La Figura 3 representa de manera simplificada el funcionament d’un mixer.

Figura 3: Representació simplificada d’un servei mixer.

Finalment, destacar que la manca de privacitat a bitcoin ha estat un dels motius pels qual han aparegut altres criptomonedes, les quals tenen com a característica especial que es focalitzen en guardar la privacitat dels seus usuaris. Per exemple, perquè no siguin necessaris els mixers, en altres monedes digitals s’usen tècniques com les ring signatures (e.g. en Monero) perquè cada vegada que es faci un pagament no es pugui linkar directament un emissor amb un receptor, ja que cada vegada que un emissor signa una transacció ho fa barrejant la seva clau amb la d’altres usuaris. Això fa que els miners puguin validar que la transacció és vàlida, però no saber quin dels usuaris és el que realment ha signat. Una altra moneda digital popular focalitzada en la privacitat és Zcash, la qual utilitza zero knowledge proofs per amagar la identitat dels usuaris. Per esmentar algunes, altres monedes centrades en la privacitat són: Dash, Bytecoin, Pivx o Verge.

Victor Garcia-Font és professor dels Estudis d’Informàtica, Multimèdia i Telecomunicació de la Universitat Oberta de Catalunya.

(Visited 22 times, 1 visits today)
Autor / Autora
Victor Garcia-Font
Profesor de los Estudios de Informática, Multimedia y Telecomunicación e investigador del grupo KISON del IN3 de la UOC.
Comentarios
Deja un comentario