En esta lección
- descubrirás qué era The DAO y cómo un solo error vació un tercio de su dinero
- entenderás la reentrancy con un cajero que paga antes de actualizar tu saldo
- verás por qué el rescate dividió Ethereum en Ethereum y Ethereum Classic
¿Qué pasó con The DAO? El 17 de junio de 2016, un atacante desconocido aprovechó un error en The DAO, un fondo de inversión financiado de forma colectiva y gestionado solo por un contrato inteligente, para sacar unos 3,6 millones de ETH: cerca de un tercio de su dinero, que entonces valía unos 50–70 millones de dólares. El 20 de julio de 2016, Ethereum cambió su propia historia con un hard fork y devolvió las monedas a los inversores; la parte de la comunidad que rechazó el fork se quedó con la cadena original, conocida hoy como Ethereum Classic.
The DAO prometía un fondo sin gerentes, sin oficina y sin humanos que pudieran equivocarse. Resultó que los humanos simplemente se habían equivocado por adelantado: en el código.
¿Qué era The DAO?#
DAO significa "organización autónoma descentralizada". The DAO (sí, con "The" incluido) era un fondo construido como un contrato inteligente en Ethereum. Cualquiera podía enviar ETH y recibir tokens DAO. Luego, los poseedores de tokens votarían qué proyectos financiaba el fondo.
- La venta de tokens fue del 30 de abril al 28 de mayo de 2016.
- Reunió unos 12 millones de ETH: unos 150 millones de dólares de entonces y cerca del 14 % de todo el ether existente. Participaron más de 11.000 personas.
- Fue el mayor crowdfunding de la historia hasta ese momento. Todo el dinero estaba en un solo contrato.
Para proteger a los inversores minoritarios, The DAO tenía una función "split": quien no estuviera de acuerdo con la mayoría podía irse, llevarse su parte de ETH y pasarla a una nueva "DAO hija". Justo esa salida de emergencia se convirtió en la puerta de entrada del atacante.
¿Cómo funcionó el ataque? La reentrancy explicada fácil#
Imagina un cajero automático con una costumbre rara: cuando pides 100 dólares, primero te entrega el efectivo y solo después anota en su libreta que tu saldo ahora es cero. Si logras pulsar "retirar" otra vez en ese instante entre el pago y la anotación, la máquina sigue viendo tu saldo anterior… y vuelve a pagar. Y otra vez.
Eso es la reentrancy (reentrada), y es lo que le pasó a The DAO:
- El atacante creó su propio contrato y le pidió a The DAO separar su parte en una DAO hija.
- The DAO envió los ETH antes de actualizar el saldo del atacante.
- Al recibir los ETH se ejecutó código en el contrato del atacante, que de inmediato volvió a llamar a la función split: "reentró" en The DAO.
- The DAO revisó el saldo, siguió viendo el número viejo y volvió a pagar. El ciclo se repitió muchas veces dentro de las mismas transacciones.
No hubo un "hackeo" de película. El contrato hizo exactamente lo que decía su código. Solo que el código decía algo muy distinto de lo que sus autores querían decir.
¿Por qué el atacante no se fue con el dinero sin más?#
La DAO hija tenía las mismas reglas que su madre, y esas reglas bloqueaban el dinero unas cuatro semanas antes de que nadie pudiera retirarlo. El atacante era rico en el papel, pero estaba atascado en una sala de espera, y toda la comunidad de Ethereum pasó esas semanas discutiendo qué hacer.
Mientras tanto, un grupo de hackers voluntarios de "sombrero blanco" usó exactamente el mismo error para pasar el resto del dinero de The DAO a contratos seguros antes de que el atacante se llevara más. Defenderse de un asalto a un banco asaltándolo tú primero no aparece en ningún manual de seguridad… pero funcionó.
El hard fork: Ethereum contra Ethereum Classic#
Un hard fork es un cambio en las reglas de la blockchain que el software antiguo no acepta. El 20 de julio de 2016, en el bloque 1.920.000, Ethereum activó un cambio único: todo el ETH de The DAO y de sus DAO hijas pasó a un contrato de retiro sencillo, donde los inversores podían cambiar 100 tokens DAO por 1 ETH. En esta cadena, el botín del atacante simplemente desapareció de su dirección.
La mayor parte de la red (más del 85 % en una votación de la comunidad) siguió el fork. Una minoría se negó. Su argumento: una blockchain debe ser inmutable; si el código lo permitió, la transacción es válida y punto. "Code is law": el código es la ley. Siguieron operando la cadena original, que se convirtió en Ethereum Classic (ETC). Allí el ataque nunca se deshizo, así que el atacante conservó esas monedas.
El debate nunca terminó del todo:
- A favor del fork: el dinero era de miles de personas comunes, el robo era evidente y la red, todavía joven, quizá no habría sobrevivido al golpe.
- En contra del fork: si la comunidad puede reescribir la historia una vez, puede hacerlo de nuevo, bajo presión de gobiernos, grandes poseedores o cualquiera que grite lo bastante fuerte.
Cronología#
| Fecha | Qué pasó |
|---|---|
| 30 de abril de 2016 | Empieza la venta de tokens de The DAO |
| 28 de mayo de 2016 | La venta termina con unos 12 millones de ETH (~150 millones de USD de entonces) |
| mayo–junio de 2016 | Investigadores publican advertencias sobre debilidades en el diseño de The DAO |
| 17 de junio de 2016 | El atacante saca unos 3,6 millones de ETH a una DAO hija |
| junio–julio de 2016 | Los sombreros blancos rescatan el resto; la comunidad debate soft fork o hard fork |
| 20 de julio de 2016 | Hard fork en el bloque 1.920.000; la cadena original sigue como Ethereum Classic |
| 25 de julio de 2017 | La SEC de EE. UU. dice que los tokens DAO eran valores, pero no presenta cargos |
| 2022 | Una periodista nombra públicamente a un sospechoso; él lo niega y nadie fue acusado |
¿Quién fue el atacante?#
Oficialmente, nadie lo sabe. En 2022, la periodista cripto Laura Shin, mientras investigaba para su libro The Cryptopians, publicó en Forbes el nombre de una persona que, según ella, estaba detrás del ataque, basándose en un análisis de la blockchain hecho con Chainalysis. El hombre lo negó. A octubre de 2026, nadie ha sido acusado ni condenado, así que, legalmente, el atacante sigue siendo desconocido.
Señales de alerta que podías ver#
- Muchísimo dinero en código recién creado. 150 millones de dólares en un solo contrato que existía desde hacía unas semanas. Cuanto más grande es el botín, con más atención lo miran los mejores atacantes.
- Las advertencias ya eran públicas. Semanas antes del ataque, varios investigadores pidieron una pausa, y la debilidad de la "llamada recursiva" se discutía abiertamente. Quien solo leía el marketing no se enteró.
- Marketing de "sin humanos, sin riesgo". Quitar a los gerentes no elimina los errores: los traslada a un código que no se puede arreglar rápido.
- Sin una salida fácil. Tu dinero estaba tan seguro como la lógica del contrato, sin atención al cliente y sin botón de deshacer.
El riesgo de los contratos inteligentes es real
Cada vez que depositas criptomonedas en un protocolo DeFi, un pool o una bóveda, confías en su código. Una auditoría o un nombre famoso reducen el riesgo, pero nunca lo eliminan. No pongas en un solo contrato más de lo que puedes permitirte perder, y ten el máximo cuidado con protocolos nuevos que guardan grandes sumas.
Mitos comunes#
- "Hackearon Ethereum." No. La red Ethereum funcionó como estaba diseñada; el error estaba en un contrato construido encima.
- "El hard fork revirtió todas las transacciones." No. Solo movió el ETH de The DAO y de sus DAO hijas al contrato de retiro. Todo lo demás quedó igual.
- "Ethereum Classic es la cadena del hacker." No. Es la cadena de quienes, por principio, se negaron a cambiar la historia, aunque como efecto secundario el atacante conservó allí sus monedas.
Resumen
- The DAO reunió unos 12 millones de ETH en 2016; el 17 de junio un atacante sacó unos 3,6 millones.
- El error fue la reentrancy: el contrato pagaba antes de actualizar el saldo.
- Un bloqueo de unas cuatro semanas dio tiempo a la comunidad; el 20 de julio de 2016 un hard fork devolvió las monedas.
- La minoría que rechazó el fork se quedó con la cadena original: Ethereum Classic.
- Para ti: mucho dinero en código nuevo atrae a los atacantes; limita cuánto pones en un solo contrato.
¿Quieres saber más sobre cómo funcionan los contratos inteligentes? Mira la lección Ethereum y los contratos inteligentes.
Fuentes#
- Ethereum Foundation: Actualización crítica sobre la vulnerabilidad de The DAO (17/6/2016) (se abre en una pestaña nueva)
- Ethereum Foundation: Hard fork completado (20/7/2016) (se abre en una pestaña nueva)
- ethereum.org: Historia de Ethereum – el fork de The DAO (se abre en una pestaña nueva)
- SEC de EE. UU.: Informe de investigación sobre The DAO (2017) (se abre en una pestaña nueva)