Satoshi Nakamoto publicó el protocolo de Bitcoin a través de un Libro Blanco con todo detalle. Desde entonces, por supuesto que ha habido fallos, y el problema de la escalabilidad persiste, pero, en general, la blockchain ha sido imposible de hackear. Sin embargo, algo que con lo que seguramente no contó, fue con que la red Bitcoin funcionaría inevitablemente a través de Internet, que aún a estas alturas funciona gracias a un protocolo escrito en tres servilletas en 1989. Algo que los hackers no han dudado en aprovechar.
Según la Escuela Politécnica Federal de Zúrich (ETH), al menos 100 nodos de la red Bitcoin son víctimas de secuestro del BGP (Border Gateway Protocol) cada mes. Este último es el protocolo de las tres servilletas con el que funciona todo Internet: fue creado durante el almuerzo de una conferencia de ingenieros por Yakov Rekhter y Kirk Lougheed como un ‘parche’, una solución temporal para los problemas de escalabilidad que entonces presentaba Internet.
Básicamente, funciona para intercambiar toda la data en la red a nivel mundial, pues es el BGP el que dice a los routers cómo enviar este tráfico de un punto a otro valiéndose de los ISP (Proveedores de Servicio de Internet). Si esto fuera una cadena del suministro de algún producto, el BGP sería el transporte. Uno no muy seguro y que puede ser interceptado con relativa sencillez, pues en la época de su creación el factor de la seguridad no se tomó en cuenta en absoluto. Lo importante era lograr que el Internet funcionara y la era de los hackers no se veía venir. Ahora, puede ser una puerta abierta para robos millonarios mientras los bitcoins viajan por la red fuera de la segura cadena de bloques.
Ya ha sucedido: entre febrero y mayo de 2014 un hacker anónimo logró secuestrar el tráfico destinado a más de una docena de compañías de Internet, incluyendo a Amazon y Alibaba, con la intención de robar bitcoins. Para cuando fue descubierto, ya había logrado llevarse el equivalente a 83 mil dólares.
En uno de sus últimos estudios, la ETH —en la que por cierto se graduaron Einstein y otros 20 premios Nobel, por lo que su palabra pesa bastante—, describió otras dos vías por las que el BGP puede secuestrarse para robar bitcoins, augurando un futuro nada prometedor. Pero, para empezar, en Hijacking Bitcoin: Routing Attacks on Cryptocurrencies, se critica que la red Bitcoin, pese a su objetivo inicial, está bastante centralizada y esto es precisamente lo que podría ocasionar robos de escala mayor.
Dicho estudio reveló que, en realidad, la mayoría de los nodos de la red están limitados a unos pocos ISP:
13 ISPs (0.026% de todos los ISPs) hospedan el 30% de toda la red Bitcoin. Y lo que es más, la mayor parte del tráfico intercambiado entre nodos Bitcoin atraviesa pocos ISPs. De hecho, nuestros resultados indican que el 60% de todas las conexiones Bitcoin posibles atraviesan 3 ISPs. En otras palabras, 3 ISPs pueden ver el 60% de todo el tráfico Bitcoin. En conjunto, esas dos características hacen relativamente sencillo para una ISP maliciosa interceptar un montón de tráfico Bitcoin.
Escuela Politécnica Federal de Zúrich
Los dos ataques
En función de estas posibilidades, en el estudio se describen dos clases de ataques posibles contra la blockchain: el ataque de partición y el ataque de retraso.
La partición consiste en provocar, mediante el secuestro del tráfico, una bifurcación de la red como la que ya le ocurrió a Bitcoin en 2013. Esto provocaría que los bloques minados en la blockchain paralela con menor poder fueran descartados junto a todas sus transacciones y la recompensa de minería, y sería aprovechado por al hacker para incurrir en doble gasto.
El secuestro del BGP también permite, por otra parte, retrasar la entrega de un bloque a un nodo víctima por 20 minutos, por lo que durante ese tiempo el nodo no guarda las transacciones más recientes; lo que, además malgastar el poder computacional del minero, le permitiría al hacker también incurrir en el doble gasto. Próximamente, será publicado en GitHub el prototipo de este último ataque.
Todo esto resulta alarmante en especial porque no tiene que ver con Bitcoin directamente. No es el código de la blockchain el que tiene esta vulnerabilidad, sino la propia Internet. El BGP se planeó como algo transitorio, pero nunca se cambió. Tal como comentó Rekhter, uno de sus creadores: “Las soluciones a corto plazo tienden a quedarse con nosotros por un muy largo tiempo. Y las soluciones a largo plazo tienden a no suceder nunca. Eso es lo que he aprendido de esta experiencia”.
Además, afirmó que los operadores de la red estarán reacios a cambiarse a protocolos más fuertes hasta que noten que los beneficios superan a los costos. Así que cabe preguntarse cuántos robos a qué escala serán necesarios aún para que el BGP pase a ser historia.