Cómo se hackea la blockchain: ataques a redes descentralizadas
Ideas clave
El artículo analiza diversas 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 económicas que estos ataques pueden causar, especialmente en proyectos pequeños. El artículo concluye que, a medida que mejoran las medidas de seguridad, también lo hacen los métodos de ataque, por lo que la vigilancia y la innovación constante son esenciales para la seguridad de la blockchain.
La blockchain – un libro mayor 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 ocurren con preocupante frecuencia. 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 control del hash rate de la blockchain. Esto permite a los actores maliciosos modificar los datos del 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 poseer la mayoría de acciones de una empresa: puedes tomar cualquier decisión y hacer lo que quieras con la compañía. En el caso del hash rate, esto significa controlar el 51% del poder de cómputo de la blockchain.
Si los atacantes controlan más del 50% de la potencia de minado, pueden reordenar transacciones, invalidar confirmaciones y evitar que otros mineros extraigan criptomonedas. En resumen, pueden causar caos y provocar fallas en la red. También pueden realizar ataques menos visibles, como gastar la misma criptomoneda varias veces (doble gasto).
¿Cómo logran tanto poder? Hay varias opciones, como alquilar mucho equipo de minado y tomar el control de – o incluso crear – un pool de minería. 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 de esta manera una blockchain grande como Bitcoin, donde la red tiene muchísimos nodos y los costos de equipos y electricidad son altos, es casi imposible y generalmente no vale la pena. 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 ejecutar un ataque del 51%, los atacantes pueden explotar cualquier vulnerabilidad del protocolo. Sin embargo, en general buscan realizar doble gasto.
El ataque exitoso a la red ZenCash (ZEN) en 2018 les reportó a los atacantes US$ 550.000. Pudieron gastar dos veces dos transacciones importantes de 13.000 y 6.600 ZEN, respectivamente. El ataque duró 110 bloques y 4 horas, aunque su costo para la red fue mínimo en comparación con las monedas robadas, alrededor de US$ 30.000.
Otro caso es Ethereum Classic, que fue atacada tres veces en 2020 por un hacker que alquiló potencia de cómputo en el servicio NiceHash. Entre julio y agosto, el hash rate de ETC cayó bruscamente y el atacante aprovechó la situación. Alquiló GPUs con un hash rate superior al 51% de toda la red de Ethereum Classic, lo que le permitió realizar doble gasto por más de 1 millón de ETC, que en ese momento valían más de US$ 9 millones.
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, existen muchas 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, si no se completa la transacción en ese momento y se promete cumplir más adelante, siempre existe el riesgo de no contar con el activo en el futuro.
En teoría, podrías entregar un documento de promesa de pago (contrato, pagaré, etc.) a dos o tres partes, aunque el activo prometido solo exista una vez. Esto 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 a varios destinatarios al mismo tiempo y recibe algo a cambio. Pero 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 esto es lo que suele ocurrir. Las blockchains incorporan medidas de seguridad para evitar este tipo de ataque. Sin embargo, el riesgo de doble gasto sigue existiendo.
Existen distintas formas de lograr 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”.

En este ejemplo, los atacantes crearon un fork de la cadena principal y confirmaron transacciones falsas mientras cinco transacciones legítimas eran procesadas.
Durante este tiempo, es posible enviar monedas a un exchange, completar operaciones que requieren de 1 a 5 confirmaciones en la blockchain y luego recibir otra criptomoneda o fiat a cambio.
Cuando la “ventana de ataque” se cierra, la serie de bloques falsos será descartada, pero para el atacante el resultado es el siguiente: puso sus tokens en un exchange y los vendió, pero cuando la blockchain recupera el consenso, todavía tiene todas esas monedas en la blockchain original. Lo que vendió, en realidad, era criptomoneda “falsa”.
Ataque Finney
El ataque Finney lleva el nombre del primer receptor de Bitcoin, Hal Finney, quien también fue el primero en sugerir la posibilidad de 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" hacia otra suya, "B", sin transmitirla de inmediato a la red. Luego, ejecuta otra transacción desde la dirección "A" hacia 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 con la primera transacción. Así, la transacción de "A" a "C" queda invalidada 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 envían 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 la trampa de estos “corredores”, basta con esperar al menos una confirmación de la operación.
Ataque Sybil
Este ataque recibe su nombre por Sybil, la protagonista del libro de Flora Rheta Schreiber, que narra su tratamiento por trastorno de identidad disociativo. La idea es que los hackers llenan la red con nodos bajo su control antes de “rodear” el nodo de la víctima y así controlar todas sus transacciones.
Explotando 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 direcciones de nodos bajo su control.
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 que funcionan con PoW tienen una vulnerabilidad que los mineros deshonestos pueden explotar: la capacidad de confirmar varios bloques simultáneamente.
El problema de los forks
Si se generan dos bloques al mismo tiempo y se enlazan a los anteriores, la blockchain se bifurca en dos cadenas. Los forks hacen más compleja la arquitectura de la blockchain y ralentizan las transacciones, por lo que los mineros deben transmitir de inmediato los datos de confirmación tras validar un bloque para evitar conflictos.
Aun así, 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 de la red.
Un escenario práctico
Supongamos que un minero egoísta mina el bloque 2.001 pero no lo transmite a la red. Los demás nodos siguen minando nuevos bloques a partir del 2.000. Ahora hay dos bloques que reclaman ser el 2.000: uno de un minero honesto y otro del atacante. Cada uno tiene su propio bloque 2.001.
Los estafadores siguen generando bloques y los suman a su cadena, que se alarga. Luego 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 durante ese periodo. Como resultado, los mineros honestos no reciben recompensas y su trabajo se pierde.
Ataques de enrutamiento
Estos ataques no están relacionados directamente con problemas de seguridad en 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 usarse 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 realizar doble gasto.
Explotación de vulnerabilidades en contratos inteligentes
Los contratos inteligentes son escritos por humanos, y los humanos cometen errores.
El costo de los errores de código
Se pueden encontrar diversas vulnerabilidades en los contratos inteligentes. Puede ser un problema complejo difícil de detectar, o simplemente un error de tipeo en el código. De cualquier forma, cualquier falla puede significar la pérdida de millones de dólares.
En un informe del 30 de junio de 2023, la empresa de seguridad Web3 Beosin reportó que el valor total de criptomonedas perdidas por fraudes, hacks y estafas en el primer semestre de 2023 fue de US$ 656 millones. La mayoría (56%) de las criptomonedas robadas se debió a vulnerabilidades en contratos inteligentes.
No solo las vulnerabilidades en los contratos inteligentes pueden provocar hacks en la blockchain, sino también el lenguaje en 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 utilizado para escribir contratos inteligentes en 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 white hats 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, dificultando su funcionamiento y ralentizando la transferencia de datos, las actualizaciones de la blockchain y la creación de nuevos bloques en la cadena.
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, cifrado con claves privadas y públicas. Estas claves están vinculadas mediante un algoritmo matemático. Si conoces 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 clave pública – pero no al revés.
Las claves privadas dan 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 la criptomoneda asociada es a través de una frase semilla, que puede ser robada simplemente sustrayendo un papel con el código mnemotécnico, o mediante otros métodos como ingeniería social y ataques de phishing.
Para proteger de forma segura 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 en cuenta que la blockchain actualmente enfrenta muchas amenazas, incluyendo todos los ataques de alto perfil mencionados y problemas en redes específicas, como errores en el código, métodos de cifrado y más. Los hackers buscan constantemente estas brechas e intentan aprovecharlas identificando vulnerabilidades en contratos inteligentes, explotando debilidades de la 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 + epsilon: según Vitalik Buterin, es uno de los problemas más preocupantes en redes PoW, e implica ofrecer una especie de soborno a otros participantes de la red a cambio de su apoyo a cambios propuestos en 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 que hemos visto – mejorar continuamente los mecanismos de seguridad de las redes descentralizadas. La experiencia demuestra que, cuanto mayor es el nivel de protección, más sofisticados se vuelven los métodos que mineros y hackers desarrollan para eludirla. Es una batalla que probablemente nunca termine. En el mundo financiero tradicional, se hackean cajeros automáticos, se roban tarjetas y se asaltan bancos. No existe una garantía de seguridad al 100%.