Compartir este artículo

Entendiendo el ataque DAO

El estratega de blockchain David Siegel ofrece una descripción general paso a paso del ataque a The DAO para periodistas y miembros de los medios.


Lo básico

La red Ethereum es una red de computadoras que ejecutan la blockchain de Ethereum . Esta blockchain permite intercambiar tokens de valor, llamados ether, que actualmente es la segunda Criptomonedas más popular después de Bitcoin. Ethereum también permite escribir y colocar en la red contratos inteligentes: código de propósito general que se ejecuta en todas las computadoras de la red (actualmente más de 6000). Las personas ejecutan estos programas enviándoles ether.

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de The Protocol hoy. Ver Todos Los Boletines

A DAO es una Organización Autónoma DescentralizadaSu objetivo es codificar las reglas y el aparato de toma de decisiones de una organización, eliminando la necesidad de documentos y personas en el gobierno, creando una estructura con control descentralizado.

Así es como funciona una DAO:

  • Un grupo de personas escribe los contratos inteligentes (programas) que ejecutarán la organización.
  • Hay un período de financiación inicial, en el que las personas agregan fondos a la DAO comprando tokens que representan propiedad; esto se llama crowdsale u oferta inicial de monedas (ICO) para brindarle los recursos que necesita.
  • Una vez finalizado el período de financiación, la DAO comienza a operar.
  • La gente luego puede hacer propuestas a la DAO sobre cómo gastar el dinero, y los miembros que han comprado pueden votar para aprobar estas propuestas.

Es importante comprender que se ha tenido mucho cuidado para no convertir estos tokens en acciones de capital; son más bien contribuciones que otorgan a las personas derecho a voto, pero no propiedad. En la mayoría de los casos, una DAO no pertenece a nadie; es simplemente software que se ejecuta en la red Ethereum .

La primera DAO es Bitcoin , que se rige por consenso entre su equipo CORE y su red de minería. Todas las demás DAO se han lanzado en la plataforma Ethereum .

"El DAO” es el nombre de un DAO particular, concebido y programado por el equipo detrás de la startup alemana Slock.it, una empresa que construye “cerraduras inteligentes” que permiten a las personas compartir sus cosas (automóviles, barcos, apartamentos) en una versión descentralizada de Airbnb.

La DAO se lanzó el 30 de abril de 2016, con un plazo de financiación de 28 días.

Por alguna razón, The DAO fue popular, recaudando más de 100 millones de dólares para el 15 de mayo. Al finalizar el periodo de financiación, The DAO se convirtió en el mayor crowdfunding de la historia, con más de 150 millones de dólares recaudados entre más de 11 000 miembros entusiastas. The DAO recaudó mucho más dinero del que sus creadores esperaban.

Se puede decir que el marketing fue mejor que la ejecución, ya que durante la venta colectiva, varias personas expresaron su preocupación de que el código era vulnerable a ataques.

Una vez finalizada la venta colectiva, se debatió ampliamente la posibilidad de abordar primero las vulnerabilidades antes de empezar a financiar propuestas. En particular, Stephan Tual, ONE de los creadores de The DAO, anunció el 12 de junioque se había encontrado un "error de llamada recursiva" en el software pero que "ningún fondo de la DAO estaba en riesgo".

En ese momento, más de 50 propuestas de proyectos estaban esperando que los poseedores de tokens de The DAO votaran sobre ellas.

Es importante reiterar que la red Ethereum no presenta estos errores y ha funcionado a la perfección en todo momento. Todos los sistemas en red son vulnerables a diversos tipos de ataques. La red Ethereum , que gestiona (dependiendo del precio) alrededor de mil millones de dólares en ether, no ha sido hackeada y ejecuta continuamente muchos otros contratos inteligentes.

Cualquiera que escriba un contrato inteligente sabe que si puede mover una gran cantidad de efectivo, estará sujeto a ataques. Esta vulnerabilidad en particular se descubrió recientemente en otro sistema, llamado Maker DAO, y se neutralizó rápidamente porque dicho DAO aún estaba en pruebas.

Mucha gente cree que probar y certificar contratos inteligentes será fundamental para mantener la seguridad del ecosistema Ethereum . Encontrará varios servicios de validación de contratos inteligentes en DecentralStation.com.

El hack de DAO

Desafortunadamente, mientras los programadores trabajaban para solucionar este y otros problemas, un atacante desconocido comenzó a usar este enfoque para empezar a drenar el ether de The DAO recaudado de la venta de sus tokens.

Para el sábado 18 de junio, el atacante logró drenar más de3,6 m de éterEn una "DAO hija" con la misma estructura que The DAO. El precio de Ether bajó de más de $20 a menos de $13.

Varias personas intentaron dividir The DAO para evitar que se tomara más ether, pero no lograron los votos necesarios en tan poco tiempo. Como los diseñadores no esperaban tanto dinero, todo el ether estaba en una sola dirección (mala idea), y creemos que el atacante se detuvo voluntariamente tras enterarse de la propuesta de bifurcación (ver más abajo). De hecho, ese ataque, u otro ONE, podría continuar en cualquier momento.

Los contratos inteligentes están concebidos como acuerdos independientes, no sujetos a la interpretación de entidades o jurisdicciones externas. El código en sí mismo pretende ser el árbitro definitivo del acuerdo que representa. Pero, por supuesto, esa es una perspectiva idealista (criptoanarquista).

Incluso antes del ataque, varios abogados expresaron su preocupación por que The DAO se extralimitara en su mandato de financiación colectiva e infringiera las leyes de valores de varios países. Los abogados también señalaron a sus creadores como posibles responsables de cualquier problema que pudiera surgir, y varios expresaron su preocupación por que los poseedores de tokens de The DAO estuvieran asumiendo una responsabilidad que probablemente desconocían. The DAO se encuentra en una zona gris de legislación y regulación.

Debido a que el DAO secundario tiene la misma estructura, limitaciones y vulnerabilidades que el DAO principal, no se puede acceder al éter en este DAO secundario recién creado durante 28 días, ya que ese es el período de financiación inicial.

Todos pueden ver el ether en este DAO secundario: cualquier intento de canjearlo activará las alarmas y las investigaciones. Es posible que el atacante nunca logre canjearlo ni gastarlo.

Es muy posible que el atacante tuviera una posición corta importante en ether al momento del ataque, la cual retiró después de que el ether se redujera aproximadamente a la mitad. Es posible que el atacante ya hubiera ganado dinero, independientemente del ether presente en la DAO secundaria.

La Fundación Ethereum podría tomar medidas para anular el ether en esta DAO. Ahí es donde la cosa se complica.

La propuesta de bifurcación suave

La DAO contiene aproximadamente el 15% de todo el ether, por lo que una falla de la DAO tiene un impacto negativo en la red Ethereum y su Criptomonedas.

Cabe destacar que decenas de startups trabajan en DAO o productos de gobernanza, muchos contratos inteligentes presentan vulnerabilidades similares y el desarrollo de software complejo mediante contratos inteligentes aún se encuentra en sus primeras etapas. Todos los involucrados tienen interés en el futuro.

Todas las miradas están puestas en The DAO y la Fundación Ethereum , esperando una resolución que permita que el ecosistema continúe desarrollándose como antes.

Para comprender qué sucede a continuación, es necesario comprender los fundamentos de la cadena de bloques: una red de nodos organiza las transacciones en bloques y estos en una sola cadena que representa la "verdad" de lo sucedido. Si dos transacciones en conflicto ocurren aproximadamente al mismo tiempo, la red resuelve este conflicto seleccionando una y rechazando la otra, de modo que todos los nodos tengan la misma copia del libro mayor distribuido.

La única manera de reescribir la historia sería que al menos el 51% de todos los nodos aceptaran tal colusión, algo que nunca ha sucedido en la historia de Bitcoin o Ethereum. El objetivo de una red descentralizada es que ONE tenga el poder de hacerlo, o la propia red se vuelve poco fiable.

En 17 de junioVitalik Buterin de la Fundación Ethereum emitió una actualización crítica, diciendo que la DAO estaba bajo ataque y que había encontrado una solución:

Se ha propuesto una bifurcación de software (SIN RETROCESO; ninguna transacción o bloque será "revertido"), lo que hará que cualquier transacción que realice llamadas/códigos de llamada/llamadas delegadas que reduzcan el saldo de una cuenta con el código hash0x7278d050619a624f84f51987149ddb439cdaadfba5966f7cfaea7ad44340a4ba (es decir, la DAO y los hijos) lleven a que la transacción (no solo la llamada, la transacción) sea inválida...

En esto, Buterin afirma específicamente que no propone reescribir ningún bloque, sino solo instalar un "interruptor" en el código básico de Ethereum que evita mover ether fuera del DAO o sus hijos.

En realidad, se trata de una solución única (llamada “bifurcación”) para un evento único que sella esos éteres en esa dirección para siempre.

Buterin continuó:

Los mineros y los grupos de minería deberían reanudar las transacciones con normalidad, esperar el código de la bifurcación suave y estar listos para descargarlo y ejecutarlo si están de acuerdo con este camino a seguir para el ecosistema Ethereum . Los poseedores de tokens DAO y los usuarios de Ethereum deberían mantener la calma. Los exchanges deberían sentirse seguros al reanudar la negociación de ETH.

En otras palabras, se creará una lista negra en el código de Ethereum para KEEP que el delincuente reclame su premio. En este escenario de "congelación de activos", Buterin solicita un debate sobre cómo ayudar a los poseedores de tokens DAO a recuperar su inversión inicial.

Esta propuesta “Deus ex machina” aparentemente inocua y bien intencionada (que aún debe ser adoptada por la mayoría de los nodos de la red Ethereum para que entre en vigor) ha abierto una enorme caja de Pandora.

El atacante responde... ¿o no?

Llamaré al atacante un hombre solitario, aunque no tengo idea si lo es.

Lo que pasó después fue interesante. En uncarta abierta En una carta dirigida a la comunidad de The DAO y Ethereum , el atacante supuestamente afirmó que su "recompensa" era legal y amenazó con emprender acciones legales contra cualquiera que intentara invalidar su trabajo. Varias personas señalaron que la firma criptográfica de este mensaje no era válida; podría ser falsa.

Pero está bien escrito y, desde cierto punto de vista, bien razonado: la premisa de los contratos inteligentes es que son sus propios árbitros y que nada fuera del código puede “cambiar las reglas” de la transacción.

Más tarde, a través de un intermediario, el atacante afirmó que pondría fin al “robo” organizado de su propiedad recompensando a los mineros (nodos) que no estuvieran de acuerdo con la bifurcación suave propuesta, diciendo:

"Pronto tendremos un contrato inteligente para recompensar a los mineros que se opongan a la bifurcación suave y minen la transacción. 1 millón de ETH + 100 BTC se compartirán con los mineros".

Está claro que se trata de un sistema dinámico complejo.

Estos mensajes del atacante no se pueden verificar, por lo que tendremos que esperar y ver qué sucede.

La propuesta de bifurcación dura

Otra propuesta es más agresiva: pedir a los mineros que deshagan completamente el robo y devuelvan todo el ether a The DAO, donde los poseedores de tokens podrán canjearlo automáticamente, poniendo así fin a The DAO.

Como lo expresa Stephan Tualen su blog

Una bifurcación dura posterior podría incluso devolver todo el ether, incluyendo el saldo extra de la DAO y los fondos robados, a un contrato inteligente. Este contrato inteligente contendría una sola función: retirar().

Esto permitiría a todos los que participaron en la DAO retirar sus fondos: gracias al apoyo de los mineros, y como hasta ahora no se había gastado nada, no se perdería nada."

Esto tiene el efecto de reescribir las reglas de ejecución de la cadena de bloques, algo que se supone imposible. ¿Deberíamos dejar pasar esa regla solo por ONE vez para que el proyecto Ethereum vuelva a encarrilarse?

Los chicos de Slock.it y la mayoría de los poseedores de tokens DAO estarían agradecidos si lo hiciéramos.

Respuestas a la bifurcación suave

Vista en sí misma, la propuesta es razonable. Es una solución puntual a un problema puntual. Pero mucha gente no lo ve así.

Puedes leer elrespuesta masiva en Reddit, que intentaré resumir:

La confiabilidad de la red es sagrada.

Como lo expresó una persona en Reddit:

La participación de la fundación Ethereum en la DAO ha sido y es un error. En mi opinión, Ethereum debería ser la infraestructura fundamental sobre la que se espera que florezcan numerosos proyectos y experimentos, y para que prosperen, necesitan una base sólida e íntegra ante los desafíos. La propuesta de bifurcación dura es una concesión que arruina esa integridad e indica que proyectos como la DAO pueden influir en la base subyacente para su propio beneficio. Para mí, esto es totalmente inaceptable y se aleja de los principios que me llevaron a Ethereum.

La bifurcación dura es una opción válida, pero debería reservarse para situaciones que requieran modificaciones de emergencia del propio protocolo Ethereum , y no para proyectos que se ejecuten en él.

El hecho de que la Fundación Ethereum haya estado involucrada y promovida el proyecto The DAO ha sido un error y solo usurpa la confianza que la gente tiene en Ethereum como infraestructura fundamental para otros proyectos.

Espero que corrijan este error.

ONE intervino:

Hice un contrato incorrecto en los primeros días que ETH estuvo en línea y perdí 2000 ETH . ¿Puedo recuperarlos? ¡Gracias!

Y por último:

Ethereum funcionó exactamente como se esperaba. No creo que el software deba actualizarse cuando funciona exactamente como se esperaba. Usted asume los riesgos de su inversión. Si no comprende su inversión, asume un riesgo desconocido. Cualquier otra cosa es un rescate por parte de una autoridad central, es decir, la antítesis del mundo de las Cripto . De forma similar, esta es la razón por la que se permitió la quiebra de Lehman Brothers: porque el trato es el trato, y si se flexibilizan las reglas para favorecer a un jugador en particular, todos los demás también querrán un trato especial.

Demasiado grande para quebrar

Tan solo un mes después de Lehman Brothers, otros bancos recibieron un trato especial, y usted mismo podrá decidir si fue una buena idea; es bastante similar a la situación actual. La DAO no es una isla.

Se considera "demasiado grande para quebrar" desde la perspectiva del ecosistema Ethereum . Cabe destacar que varias personas de la Fundación Ethereum son titulares de tokens DAO y también ocupan puestos de asesoramiento en la DAO. Incluso Gavin Wood, ONE de los fundadores originales de Ethereum , apoyó la bifurcación en una publicación de blog.

Desde esta perspectiva, es posible que sea necesario rescatar otros grandes proyectos y que la Fundación Ethereum , tras haber sentado un precedente una vez, vuelva a pedir a los mineros que reescriban la historia.

La analogía con los rescates bancarios es notable: los bancos pudieron asumir enormes riesgos con la esperanza de obtener grandes beneficios, y cuando esas operaciones fracasaron, los contribuyentes los rescataron (excepto al pobre Lehman Brothers). Esta asimetría de riesgos se considera generalmente una mala manera de incentivar a los participantes del mercado.

Esos son los dos extremos, pero la mayoría de la gente cae en ONE u otro. El largo brazo de la ley, por no hablar del recaudador de impuestos.

La discusión anterior asume que operamos en el vacío, en un espacio de criptoanarquía, donde las leyes no se aplican. Sin embargo, la gente ha invertido dinero real y las leyes reales pueden y se aplicarán en este caso.

De hecho, todas las partes aquí pueden tener reclamaciones legítimas que podrían tardar años en resolverse en tribunales de todo el mundo.

¿Quién está en riesgo?

Aunque tuvieron mucho cuidado de no crear garantías y de asegurarse de que la gente conociera los riesgos, aún podrían ser considerados responsables. Si los titulares de tokens de la DAO pierden la mayor parte de su inversión de más de 150 millones de dólares, es probable que se presente una demanda colectiva contra los originadores.

Otras DAO


Algunas personas han tomado el contrato inteligente de The DAO al pie de la letra para implementar otras DAO. En caso de una bifurcación dura, todos los ethers de cualquier DAO que utilice los contratos inteligentes de The DAO 1.0 se transferirán a una dirección de reembolso, que se dividirá entre los poseedores de tokens de la DAO. Por lo tanto, los poseedores de tokens de la DAO podrían terminar recibiendo más de lo que aportaron. Esto sin duda enfurecerá a quienes han invertido su propio dinero en sus propias DAO utilizando el código de The DAO 1.0.

Titulares de tokens DAO


Como inversores, y sin la protección de una corporación, los más de 11 000 titulares de tokens DAO podrían ser considerados socios generales del fondo. En ese caso, el atacante podría demandar a cada uno de ellos en sus respectivas jurisdicciones, alegando que representan a la entidad que se apoderó de su propiedad legítima.

Los Intercambios


No mucho después del período de financiación inicial, varios intercambios de Criptomonedas comenzaron a crear Mercados en tokens DAO.

Como parte de la cadena, cualquiera que haya comprado tokens DAO en cualquier plataforma de intercambio puede demandarla por vender inversiones fraudulentas. Esto podría llegar a ser muy grave, llegando incluso a infringir la ley de valores, o simplemente podría ser responsable de las ganancias obtenidas con los tokens.

Dado que varias bolsas tienen mucho efectivo, podrían estar entre los primeros objetivos.

La Fundación Ethereum


La Fundación Ethereum tiene mucho en juego. Quieren que la red sea sólida, que soporte miles de millones de dólares en comercio y que sea "el sistema operativo del futuro".

Pero ahora están entre la espada y la pared: si no hacen nada, la red Ethereum sufre un revés del que podría tardar años en recuperarse; si intervienen, sientan un precedente peligroso que erosiona el contrato social que establecieron con su red de nodos independientes.

No diseñaron la red Ethereum para que fuera juez y jurado en caso de que una o más partes resultaran perjudicadas.

Mineros y nodos


Los más de 6000 nodos completos de Ethereum pueden ser responsables de cualquier bifurcación por la que voten.

Si se considera que el atacante adquirió sus ethers gracias a una "característica" de un contrato inteligente, podría (y ya ha amenazado con) demandar a cualquiera de los mineros que intenten arrebatarle lo que considera legítimamente suyo. También podría demandar a la Fundación Ethereum si desarrolla el software que implementa la bifurcación.

Por otro lado, los poseedores de tokens DAO podrían demandar a los nodos que no voten a favor de la bifurcación, alegando que no están haciendo lo correcto. Por otro lado, a quienes gestionan nodos les gusta el dinero, y podrían recibir dinero del atacante para no bifurcar. Es muy posible que los gobiernos intervengan e intenten realizar grandes cambios en la gobernanza del sistema Ethereum .

El atacante


Es posible que el atacante ya haya obtenido una suma sustancial mediante la manipulación del mercado, lo cual es ilegal en muchas jurisdicciones. También podría tener una gran deuda tributaria. Obviamente, existe un gran incentivo para que la comunidad Aprende su identidad y lo desenmascare.

Probablemente haya suficiente información disponible para que la gente pueda descubrir quién es; quizá sea solo cuestión de tiempo antes de que lo sepan.

Las secuelas

Parece que en este punto The DAO morirá y que los poseedores de tokens DAO recuperarán entre el 0% y el 100% de su ether.

Se puede decir con seguridad que los chicos de Slock.it tendrán mucho trabajo por un tiempo, es posible que no consigan financiación para su proyecto (me han dicho que pusieron BIT de su propio dinero en The DAO) y es posible que tengan que hablar con abogados durante meses.

La DAO todavía está sujeta a otro ataque similar.

Vitalik puede proponer una solución basada en Ethereum, pero los nodos deben decidir. No está claro cuál de estos caminos tomarán. Muchos dicen que «no hacer nada es quizás la peor opción». Depende de la postura en la que te encuentres. Hay terreno resbaladizo por todas partes.

Hay otro problema: la Fundación Ethereum está en camino de cambiar a un nuevo mecanismo de consenso llamado "prueba de participación", y en ese escenario, cualquiera que posea el 14% de todo el ether tendrá un tremendo control sobre la futura cadena de bloques.

De hecho, Vitalik ha pedido que los proyectos tengan un límite de unos 10 millones de dólares, para ayudar a contener la magnitud de errores no deseados.

También es muy probable que haya demandas. Podríamos presenciar un caos total, con demandas que se extenderían durante muchos años. O podríamos presenciar un final bastante limpio: Ethereum continúa y el atacante nunca más aparece.

Aunque apostaría 5 ethers a que encontrarán al atacante en uno o dos meses. Aunque la letra y el espíritu de los contratos inteligentes es que "los contratos inteligentes mandan", y el estado de derecho no se aplica, en este caso, la mayoría de la gente preferiría una segunda oportunidad. Supongo que veremos la aplicación de diversas normas legales.

He intentado ceñirme a los hechos y ahora ofreceré una Opinión simple: esta situación se resolverá bien si el atacante simplemente compra un montón de ether y luego acepta trabajar con la gente de The DAO para devolver el dinero a todos los poseedores de tokens y disolver The DAO por completo.

El atacante habrá ganado algo de dinero, habrá dejado en claro su punto de vista, no habrá abogados involucrados, todos habremos aprendido una dura lección y la Fundación Ethereum podrá comenzar a planificar un futuro más seguro y resiliente.

Resumen

Creo que podemos decir que este evento marca el comienzo de una nueva era de la blockchain pública de Ethereum.

Si bien el enfoque ágil de "preparados, fuego, apunten" generalmente funciona mejor con software nuevo, puede ser peligroso cuando se cargan 150 millones de dólares en la recámara.

Ethereum se presentó como una computadora de propósito general y precursora de un nuevo modelo descentralizado para la informática y la sociedad. Veremos, un BIT antes de lo esperado, cómo se desarrolla todo esto en el mundo real.

Algunos recursos:

Esta publicación apareció originalmente enMedioy se ha vuelto a publicar con el permiso del autor.

David Siegel es un estratega y orador de blockchain, fundador deKryptodesign.comy curador deDecentralStation.com, un lugar para Aprende sobre blockchain.

Descargo de responsabilidad: Siegal posee una pequeña cantidad de tokens DAO.


Picture of CoinDesk author David Siegel