Estafas y misterios6 min de lecturaEthereum (ETH)

El atraco a Fomo3D: Cómo un jugador colapsó Ethereum durante 3 minutos para llevarse 3 millones de dólares

En agosto de 2018, el juego Fomo3D acumuló un bote de 10.469 ETH que parecía imposible de ganar. Un atacante anónimo descubrió que no necesitaba hackear el código: bastaba con asfixiar la blockchain de Ethereum durante 3 minutos mediante block stuffing.

El atraco a Fomo3D: Cómo un jugador colapsó Ethereum durante 3 minutos para llevarse 3 millones de dólares

Resumen clave en 3 puntos

  • El detonante / ParadojaEn el verano de 2018, el juego de lotería Fomo3D acumuló un bote de 10.469 ETH (3 millones de dólares) destinado a la última persona que comprara una llave antes de que el reloj de 24 horas llegara a cero.
  • El punto de inflexiónCon miles de bots comprando llaves cada 30 segundos, un atacante compró una llave en el bloque 6191896 y saturó la red con transacciones de 500 Gwei ejecutando assert(false).
  • El legado históricoAl monopolizar el 100% del en 13 bloques consecutivos de Ethereum, bloqueó a todos los competidores durante tres minutos, permitiendo que el contador expirara y cobrando 3 millones con solo 11.000$ en tarifas.

Cronología de los hechos

Julio de 2018Lanzamiento viral de Fomo3D

Team JUST lanza un de lotería autónoma que desata una fiebre millonaria y satura las comisiones de Ethereum.

22 de agosto de 2018 14:40Bloque 6191896: La compra de la llave dorada

El atacante (0x18e1...) compra una llave a menos de 3 minutos de finalizar el reloj, colocándose como líder provisional.

22 de agosto de 2018 14:41Asedio por Block Stuffing (13 bloques)

Inunda los bloques 6191897 a 6191908 con transacciones de 500 Gwei ejecutando assert(), consumiendo los 8M de de cada bloque.

22 de agosto de 2018 14:44El reloj llega a 00:00:00

Por primera vez en la historia, el contador expira y el contrato transfiere 10.469,66 ETH (3M$) a la billetera del atacante.

ConsecuenciasNacimiento de EIP-1559 y la era MEV

El exploit expone la vulnerabilidad de las subastas de , acelerando la reforma de tarifas EIP-1559 y el estudio de MEV.

1. El Ponzi perpetuo: Un bote inalcanzable de 10.000 ETH

En julio de 2018, un colectivo anónimo de programadores conocido como 'Team JUST' desplegó Fomo3D, un juego sobre Ethereum que cautivó a la comunidad cripto mundial. Su premisa era un experimento perverso de teoría de juegos.

En la interfaz brillaba un reloj con una cuenta atrás de 24 horas. Cada vez que un usuario compraba una 'llave' (Key) con ETH, se sumaban 30 segundos al cronómetro (con un tope de 24 horas), mientras que los fondos se repartían entre dividendos y un bote central.

El premio final era colosal: la última persona que comprara una llave antes de que el contador llegara a 00:00:00 se llevaría todo el dinero acumulado: 10.469 ETH (unos 3 millones de dólares en 2018, decenas de millones hoy). Como miles de personas y bots compraban llaves cada pocos segundos, el reloj llevaba meses congelado cerca de las 24 horas. Parecía un juego diseñado para no terminar jamás.

2. El cambio de perspectiva: Atacar la blockchain, no el código

Mientras decenas de auditores examinaban en vano el código Solidity de Fomo3D buscando vulnerabilidades de , un jugador anónimo descubrió un vector de ataque mucho más profundo: el juego no dependía del contrato, sino del mecanismo de subasta de de Ethereum.

En 2018, los bloques de Ethereum tenían un límite de 8 millones de y se minaban cada 14 segundos. Los mineros ordenaban las transacciones de mayor a menor precio de (Gas Price).

El atacante calculó que si el reloj bajaba de tres minutos, no necesitaba competir contra otros jugadores: bastaba con comprar una última llave y comprar el 100% del espacio de de los siguientes 13 bloques de Ethereum mediante una técnica llamada 'Block Stuffing'**, impidiendo que cualquier otra transacción rival pudiera procesarse a tiempo.

3. La bomba de assert() y el bloqueo de 13 bloques

La tarde del 22 de agosto de 2018, el volumen de compras decayó brevemente y el reloj cayó por debajo de los tres minutos. En el bloque 6191896, la billetera del atacante (0x18e1...) compró una llave y se colocó en primera posición.

De inmediato, un bot automatizado disparó una ráfaga masiva de transacciones hacia varios contratos inteligentes propios diseñados específicamente para ejecutar la instrucción assert(false).

A diferencia de require(), que devuelve el sobrante cuando una condición falla, el assert() de aquella época consumía obligatoriamente el 100% de todo el asignado a la transacción. El atacante configuró cada transacción con 4,2 millones de y ofreció una tarifa desorbitada de 500 Gwei (25 veces superior a la media de la red).

"El atacante no hackeó Fomo3D. Utilizó las reglas económicas de Ethereum para sobornar a los mineros e ignorar al resto del planeta durante 180 segundos."
— Informe forense de SECBIT Labs (2018)

Los mineros de Ethereum priorizaron de inmediato las transacciones ultra rentables de 500 Gwei del atacante. Dos o tres de estas transacciones llenaban por completo los 8 millones de de cada bloque. Desde el bloque 6191897 hasta el 6191908 (13 bloques consecutivos), la red quedó saturada. Miles de intentos de compra enviados por otros jugadores quedaron atascados en la mempool sin poder entrar en ningún bloque.

4. El reloj llega a cero: El cobro de los 3 millones

Durante casi tres minutos interminables, nadie pudo interactuar con Fomo3D. Al confirmarse el bloque 6191908, el contador del marcó 00:00:00 por primera y única vez en su historia.

El ejecutó su pago final de forma automática, transfiriendo 10.469,66 ETH directamente a la billetera del atacante.

El balance económico del ataque fue asombroso: el atacante gastó aproximadamente 11.000 dólares en comisiones de y compra de llaves (unos 2,76 ETH) para llevarse 3.000.000 de dólares limpios, logrando un retorno sobre la inversión de más del 27.000% en apenas 180 segundos.

5. El legado: El camino hacia EIP-1559 y MEV

El atraco a Fomo3D marcó un antes y un después en la seguridad de Web3. Lejos de quejarse, los creadores de Team JUST felicitaron al ganador, calificando el exploit como una aplicación magistral de la teoría de juegos descentralizada.

El suceso demostró a la comunidad internacional que las subastas de podían convertirse en armas de censura para secuestrar la lógica temporal de los contratos inteligentes.

Esta lección histórica aceleró el desarrollo de la propuesta EIP-1559 (que introdujo tarifas base variables para mitigar el block stuffing) y dio inicio formal a la era de la investigación de MEV (Maximal Extractable Value) en las finanzas descentralizadas.

Lecciones clave para inversores y creadores

Tecnología y arquitectura

Explotación de la capa de consenso frente a bugs de contratos

Un puede ser matemáticamente perfecto, pero vulnerable si sus reglas dependen de la inclusión temporal de transacciones en una red congestionable.

Mercado e inversión

Incentivos asimétricos y sobornos en subastas de gas

Cuando el premio (3M$) supera con creces el coste de monopolizar los bloques (11.000$), los atacantes racionales siempre pagarán más que los usuarios comunes para censurar la red.

Filosofía y descentralización

El código es ley y la fría lógica de la teoría de juegos

Los propios creadores de Team JUST felicitaron al atacante, demostrando la naturaleza implacable de los protocolos descentralizados donde mandan los incentivos económicos.

La siguiente pregunta

Historias para seguir leyendo

Explora el tema a través de otros casos y contextos.

Fuentes y referencias

  1. [1]Fuente 1: Etherscan: Fomo3D Round 1 Winning Block & Transaction Record (0xa169578...)Etherscan Developer Platform · 2018-08-22
  2. [2]Fuente 2: Ethereum Improvement Proposals (EIPs): Gas Limit & Network Congestion MechanicsEthereum Core Developers · 2021-08-05
  3. [3]Fuente 3: Fomo3D: Autonomous Ethereum Ponzi Game Mechanics and ExploitsWikimedia Foundation · 2023-12-10
  4. [4]Fuente 4: Alert: Will Fomo3D destroy Ethereum?Ethereum Research · 2018-07-23