Cómo se hackea la blockchain: ataques a redes descentralizadas

Este artículo está disponible en los siguientes idiomas:

Author logo
Patrick Dike-Ndulue
Post image

Ideas clave

El artículo explora las distintas formas en que las redes blockchain pueden ser atacadas, destacando que, aunque son más seguras que las bases de datos centralizadas, siguen siendo vulnerables a amenazas como ataques del 51%, doble gasto, ataques Sybil, minería egoísta, vulnerabilidades en contratos inteligentes y robo de claves privadas. Ejemplos reales ilustran las grandes pérdidas financieras que pueden causar estos ataques, especialmente en proyectos pequeños. El artículo concluye que, a medida que mejoran las medidas de seguridad, también lo hacen los ataques, por lo que la vigilancia y la innovación constantes son esenciales para la seguridad de la blockchain.

La blockchain, un libro de registros distribuido que funciona como base de datos, es una solución mucho más confiable para almacenar información y realizar transacciones que las bases de datos centralizadas. Sin embargo, también puede ser hackeada, y los intentos son preocupantemente frecuentes. Los ataques a redes descentralizadas varían en su naturaleza, pero en la mayoría de los casos buscan explotar fallas en el mecanismo de consenso y tomar el control del poder de cómputo (hash rate) de la blockchain. Esto permite a los atacantes modificar los datos en el registro, causar caos y robar criptomonedas.

En este artículo, veremos cómo se ataca la blockchain y en qué consisten las amenazas más comunes.

Ataque del 51%

El ataque del 51% es la principal amenaza para las blockchains. Aplica a redes que utilizan el algoritmo de consenso proof-of-work (PoW).

Mecánica del ataque

La idea básica es tomar el control de más del 50% de la potencia de cómputo de la red, o hash rate. Las consecuencias son similares a tener la mayoría accionaria de una empresa: puedes tomar cualquier decisión y hacer lo que quieras con la compañía en la que tienes participación. En el caso del hash rate, esto significa controlar el 51% de la potencia de la blockchain.

Si los atacantes controlan más del 50% del poder de minería, pueden reordenar transacciones, anular confirmaciones y evitar que otros mineros extraigan criptomonedas. En resumen, pueden causar caos y provocar fallos en la red. También pueden realizar acciones menos evidentes, como gastar la misma criptomoneda varias veces (doble gasto).
 

¿Cómo logran tanto poder? Hay varias opciones: alquilar mucho equipo de minería y tomar el control de un pool de minería, o incluso crear uno propio. Otra opción es engañar a otros mineros o recurrir a métodos completamente ilegales, como operar una botnet de minería mediante malware.

¿Vale la pena el riesgo?

No obstante, atacar una blockchain grande como Bitcoin, donde la red tiene muchísimos nodos y los costos de equipos y electricidad son elevados, es casi imposible y generalmente no vale la pena el esfuerzo. Sin embargo, los proyectos pequeños no están exentos de este tipo de amenaza.

Varias redes han sufrido ataques del 51%, incluyendo ZenCash (ZEN), Litecoin Cash (LCC), MonaCoin (MONA), Verge (XVG) y Bitcoin Gold (BTG).

Ejemplos reales

Tras realizar un ataque del 51%, los atacantes pueden aprovechar cualquier vulnerabilidad del protocolo. Sin embargo, en general buscan realizar doble gasto.

El ataque exitoso a la red ZenCash (ZEN) en 2018 le generó a los atacantes US$ 550,000. Lograron gastar dos veces dos transacciones importantes por 13,000 y 6,600 ZEN, respectivamente. El ataque duró 110 bloques y 4 horas, aunque el costo para la red fue mínimo en comparación con las monedas robadas, alrededor de US$ 30,000.

Otro ejemplo es Ethereum Classic, que fue atacada tres veces en 2020 por un hacker que alquiló poder de cómputo a través del servicio NiceHash. Entre julio y agosto, el hash rate de ETC cayó drásticamente y el atacante aprovechó la situación. Alquiló GPUs con un hash rate superior al 51% de la red de Ethereum Classic, lo que le permitió realizar doble gasto de más de 1 millón de ETC, valorados en más de US$ 9 millones en ese momento.

El costo de alquilar el hash rate fue de cientos de miles de dólares, por lo que la ganancia final exacta es desconocida. Lamentablemente, hay bastantes historias similares.

Doble gasto

El problema del doble gasto surgió mucho antes de la blockchain y las criptomonedas.

En esencia, cuando se intercambia un bien por otro y no se completa la transacción en ese momento, sino que se promete cumplir después, siempre existe el riesgo de que no se tenga el activo más adelante.

En teoría, se podría entregar un documento que prometa el pago (un contrato, pagaré, etc.) a dos o tres contrapartes, aunque el activo prometido solo exista en una copia. Eso es doble gasto. En la blockchain, el principio es exactamente el mismo.

¿Cómo funciona el doble gasto?

El doble gasto ocurre cuando un atacante gasta las mismas monedas dos o más veces. Por ejemplo, un usuario que tiene 1 BTC lo envía simultáneamente a varios destinatarios y recibe algo a cambio. Del otro lado, solo una persona realmente recibe ese 1 BTC.

Cuando la red funciona correctamente, solo una transacción recibe la aprobación de la mayoría de los nodos, y eso es lo que suele suceder. Las blockchains tienen medidas de seguridad para evitar este tipo de ataque. Sin embargo, siempre existe el riesgo de doble gasto.

Existen diferentes maneras de lograr el doble gasto, siendo el ataque del 51% una de ellas. Cuando un atacante controla más de la mitad del hash rate, puede generar nuevos bloques de forma independiente, modificarlos y rechazar ciertas transacciones mientras confirma las “necesarias”.

atack_img.png

Este ejemplo muestra cómo los atacantes crean un fork de la cadena principal y confirman transacciones falsas mientras se procesan cinco transacciones legítimas.
 

Durante ese tiempo, es posible enviar monedas a un exchange, completar transacciones que requieren de 1 a 5 confirmaciones en la blockchain y luego recibir otra criptomoneda o dinero fiat a cambio.
 

Después, cuando la “ventana de ataque” se cierra, la serie de bloques falsos será descartada, pero para el atacante la situación es la siguiente: puso sus tokens en un exchange y los vendió, pero cuando la blockchain recupera el consenso, aún conserva todas esas monedas en la cadena original. Lo que vendió era, en realidad, criptomoneda “falsa”.
 

Ataque Finney

El ataque Finney debe su nombre al primer receptor de Bitcoin, Hal Finney, quien también fue el primero en sugerir la posibilidad del doble gasto en criptomonedas sobre la blockchain.

El ataque Finney es una variante del doble gasto que puede ocurrir cuando una contraparte acepta una transacción no confirmada.

La esencia de este ataque es que un minero puede generar un bloque e incluir una transacción desde su dirección "A" a otra de sus direcciones, "B", sin difundirla inmediatamente a la red. Luego, ejecuta otra transacción desde la dirección "A" a la dirección "C", que pertenece a otro usuario. Si este usuario acepta la transacción sin confirmación de la red, el estafador transmite el bloque anterior que contiene la primera transacción. Así, la transacción de "A" a "C" se invalida y el atacante obtiene doble beneficio.

Ataque de carrera

Este tipo de ataque es una carrera entre dos transacciones. Un estafador envía las mismas monedas desde la misma dirección en diferentes dispositivos a dos destinatarios al mismo tiempo. Ambos destinatarios entregan sus bienes o criptomonedas, pero la segunda transacción procesada queda invalidada.
 

Este ataque solo es posible si el comerciante acepta una transacción no confirmada. Para evitar caer en este tipo de engaños, basta con esperar al menos una confirmación de la operación.
 

Ataque Sybil

Este ataque recibe su nombre de Sybil, la protagonista del libro de Flora Rheta Schreiber, que trata sobre el trastorno de identidad disociativo. La idea es que los hackers llenan una red con nodos bajo su control antes de “rodear” el nodo de la víctima, controlando así todas sus transacciones.

Enfoque en vulnerabilidades

Esto es casi imposible en redes grandes como Bitcoin, ya que los nodos seleccionan aleatoriamente a otros para confirmar transacciones.

Por eso, los ataques Sybil suelen dirigirse a proyectos cripto nuevos. Al conectarse a la red, un nodo puede no conocer las direcciones IP de nodos confiables y las solicita.

Si la solicitud llega a un nodo del atacante, este puede responder con las direcciones de los nodos que controla.

Esto permite al hacker:

  • Bloquear las transacciones del usuario, desconectándolo de la blockchain principal;
  • Decidir a qué bloque “conectar” al usuario (normalmente, bloques donde ocurre doble gasto);
  • Rastrear todas las transacciones del usuario. 

En resumen, los nodos controlados por el atacante pueden convencer a otros nodos de aprobar datos incorrectos.

Minería egoísta

Las blockchains basadas en PoW tienen una vulnerabilidad que los mineros deshonestos pueden explotar: la capacidad de confirmar varios bloques simultáneamente.
 

El problema del fork

Si se generan dos bloques al mismo tiempo y se enlazan a los anteriores, la blockchain se bifurca en dos cadenas. Esto complica la arquitectura y ralentiza las transacciones, por lo que los mineros deben difundir inmediatamente los datos de confirmación tras validar un bloque para evitar conflictos.
 

A pesar de ello, los llamados mineros egoístas ocultan esta información al resto de la red y engañan a los nodos “honestos”, que siguen generando una nueva cadena y alargan el fork.

Escenario práctico

Supongamos que un minero egoísta mina el bloque 2,001 pero no lo difunde a la red. Los demás nodos siguen minando nuevos bloques a partir del 2,000. Esto genera dos bloques que reclaman ser el 2,000: uno de un minero honesto y otro del atacante. Ambos están asociados a su propio bloque 2,001.
 

Los estafadores siguen generando bloques y sumándolos a su cadena, que se alarga. Luego, los hackers transmiten los datos del bloque 2,001 que minaron; la red reconoce que fue encontrado primero, clasifica la cadena egoísta como válida y descarta los bloques añadidos por los nodos honestos en ese periodo. Como resultado, los mineros honestos no reciben recompensas y su esfuerzo se pierde.
 

Ataques de enrutamiento

Estos ataques no están relacionados directamente con la seguridad de la blockchain, sino que explotan vulnerabilidades en los protocolos de conexión de los proveedores de internet (ISP).

Al acceder al protocolo, un hacker puede publicar rutas falsas. Este tipo de ataque puede utilizarse para doble gasto. Si se retrasa la entrega de nuevos bloques, estos no serán visibles para la red, creando una ventana en la que se puede gastar dos veces la cripto.
 

Explotando vulnerabilidades en contratos inteligentes

Los contratos inteligentes son programados por humanos, y los humanos cometen errores.

El costo de los errores de código

En los contratos inteligentes pueden encontrarse diversas vulnerabilidades. Puede tratarse de un problema complejo difícil de detectar, o simplemente de un error tipográfico en el código. De cualquier forma, cualquier error abre la posibilidad de perder millones de dólares.

Según un informe del 30 de junio de 2023, la empresa de seguridad Web3 Beosin reportó que el valor total de criptomonedas perdido por fraudes, hackeos y estafas en el primer semestre de 2023 fue de US$ 656 millones. La mayoría (56%) de las criptomonedas robadas se perdieron por vulnerabilidades en contratos inteligentes.

No solo las vulnerabilidades en los propios contratos inteligentes pueden llevar a hackeos en la blockchain, sino también el lenguaje en el que están escritos. El 30 de julio de 2023, cuatro pools de liquidez de Curve Finance fueron comprometidos debido a

 una vulnerabilidad en Vyper, el lenguaje de programación usado para los contratos inteligentes de Curve. Curve Finance es un exchange descentralizado con tecnología de market maker automatizado (AMM) y el principal hub de liquidez de stablecoins en DeFi. En total, se robaron unos US$ 60 millones, de los cuales US$ 20 millones fueron recuperados por hackers éticos y devueltos a Curve. La mayor parte del daño provino del hackeo del pool principal CRV/ETH, que perdió toda su liquidez (unos US$ 40 millones).

Ataques DDoS y de dilatación temporal

Los ataques DDoS no buscan robar criptomonedas, sino dañar proyectos cripto y desacreditar startups. Consisten en enviar una enorme cantidad de transacciones inútiles o “dust” a la red, lo que complica su operación, ralentiza la transferencia de datos, las actualizaciones de la blockchain y la creación de nuevos bloques.

Ataques a claves privadas

Para garantizar la confidencialidad de la transmisión de datos en canales públicos de la blockchain, se utiliza criptografía asimétrica, es decir, tecnología de claves privadas y públicas. Estas claves están vinculadas por un algoritmo matemático. Si tienes la clave pública de un usuario, puedes cifrarle un mensaje que solo podrá leer con su clave privada. Si tienes la clave privada, puedes deducir la pública, pero no al revés.

Las claves privadas otorgan acceso total a todos los criptoactivos de un usuario, por lo que los atacantes buscan obtenerlas.

Vulnerabilidades y protección

La forma más sencilla de acceder a una clave privada y a las criptomonedas asociadas es mediante una frase semilla, que puede obtenerse simplemente robando un papel con el código mnemotécnico, o a través de otros métodos como ingeniería social y ataques de phishing.

Para proteger tu clave privada y, por ende, todos tus criptoactivos, puedes confiar su almacenamiento a Tangem Wallet. La billetera cripto Tangem no utiliza frase semilla, por lo que no puede ser robada. La clave privada se genera y almacena en los chips de dos o tres tarjetas (la principal y las de respaldo), donde permanece y de donde es imposible extraerla.

Conclusión

Es importante tener presente que la blockchain actualmente enfrenta muchas amenazas, incluyendo todos los ataques de alto perfil mencionados, así como problemas en redes específicas, como errores de programación, métodos de cifrado y más. Los hackers buscan constantemente estas brechas y tratan de aprovecharlas identificando vulnerabilidades en contratos inteligentes, explotando debilidades en la propia tecnología blockchain y atacando exchanges de criptomonedas.

Amenazas hipotéticas

Existen otras formas de ataque que, por ahora, son solo hipotéticas:

  • Canibalismo entre pools (la destrucción de un pool para afectar el funcionamiento de la blockchain);
  • El ataque P + épsilon: según Vitalik Buterin, es uno de los problemas más inquietantes en redes PoW, e implica sobornar a otros participantes de la red para obtener apoyo en cambios propuestos a la blockchain;
  • Timejacking (intentos de manipular las marcas de tiempo de las transacciones).

Por ahora, parece que los hackers no están interesados en estas estrategias.

Mirando al futuro

Solo hay una solución para todo lo expuesto: mejorar constantemente los mecanismos de seguridad de las redes descentralizadas. Sin embargo, la experiencia muestra que cuanto mayor es el nivel de protección, más sofisticados son los métodos que desarrollan mineros y hackers para sortearla. Es una batalla que probablemente nunca termine. En el mundo financiero tradicional, se hackean cajeros automáticos, se roban tarjetas de crédito y se asaltan bancos. No existe la seguridad garantizada al 100%.

Author logo
Autor Patrick Dike-Ndulue

Senior editor covering crypto, onchain equities, and technology.

Author logo
Revisado por Rukkayah Jigam

Writer & editor covering digital assets and product updates.