Share this article

DAO sin líder puesta a prueba tras la vulnerabilidad de Ethereum

Slock.it ha anunciado varias correcciones al código que sustenta a The DAO, una organización autónoma que ha recaudado más de 150 millones de dólares en ether.

The crowd

Una vulnerabilidad en la forma en que algunos desarrolladores están implementando Ethereum ha resultado en una solución de último momento para The DAO, una organización autónoma distribuida con más de $150 millones a su disposición para invertir en proyectos basados ​​en Ethereum.

Sin un líder o un equipo de seguridad formal para identificar y solucionar las potenciales amenazas a la seguridad, esa responsabilidad recae en una comunidad de código abierto compuesta por miembros que compraron derechos de voto en la organización con Ether como parte de su fase de creación.

Story continues
Don't miss another story.Subscribe to the Crypto Long & Short Newsletter today. See all newsletters

Aunque las identidades de algunos de los involucrados aún no están claras, el método mediante el cual se identificó y supuestamente se solucionó la vulnerabilidad constituye la primera prueba en el mundo real de la estructura y las técnicas de resolución de problemas de The DAO.

A través de la vid

El problema comenzó la semana pasada, cuando el usuario de GitHubcriseth"Señaló casualmente un terrible, terrible ataque a los contratos de billetera" que podría surgir de la forma en que algunos desarrolladores estaban implementando contratos inteligentes escritos con el lenguaje Solidity de Ethereum, según el fundador de Blockchain Foundation, Peter Vessenes.

El propio blog de VessenescorreoEl tema luego llamó la atención de un usuario de Reddit afiliado a Maker DAO, que se basa en la cadena de bloques Ethereum .

La vulnerabilidad, que permite a los atacantes vaciar un tipo particular de cuenta, fue probada con éxito por Maker DAO, según su correo, lo que a su vez llamó la atención de eththrowa, un usuario del foro de miembros de The DAO.

Eththrowaconfirmadoque la vulnerabilidad también existía en la implementación utilizada entonces por The DAO, que fue construida usando software de código abierto escrito por Slock.it, y es la organización autónoma distribuida más grande con aproximadamente 162 millones de dólares en ether actualmente a su disposición.

Fue esa publicación la que, finalmente, captó la atención del fundador de Slock.it, Stephen Tual. Él, junto con otros miembros del foro, respondió rápidamente y un día después publicó un LINK a una solución.

Ayer, Tualanunciadouna serie de actualizaciones al software del proyecto diseñadas para combatir la vulnerabilidad y otros vectores de ataque teóricos del juego no relacionados con la vulnerabilidad de "llamada recursiva", como se la denomina ahora.

En su publicación, Tual escribió:

Extendemos nuestra gratitud a la comunidad... quienes demostraron una vez más que un proceso de desarrollo abierto permite la rápida identificación, aislamiento y resolución de posibles vulnerabilidades y, en este caso, la mejora general de los patrones de diseño como parte de los lenguajes de programación.

Ningún fondo de la DAO estuvo en riesgo debido a la vulnerabilidad, según otro informe.correo.

Problema más amplio

Lanzada a principios de este año por una persona o grupo anónimo, The DAO está construida sobre un código abierto que permite a los usuarios votar colectivamente sobre cómo dispersar los fondos a proyectos que los miembros consideran dignos y recibir dividendos si el proyecto tiene éxito.

En este caso, la vulnerabilidad habría permitido que el receptor de esos dividendos "agotara muchas veces su derecho al invocar el contrato de forma recursiva", según eththrowa.

Pero como dejó claro la publicación de Vessenes del viernes, la amenaza de la llamada recursiva no se trataba solo de una debilidad en The DAO, sino de un problema más general con la forma en que algunos desarrolladores implementan contratos inteligentes escritos con el lenguaje de programación Solidity.

En un correo electrónico a CoinDesk, Vessenes proporcionó una descripción más técnica de la vulnerabilidad:

Todas las funciones públicas de Solidity que envían dinero o usan la función "call" en otro contrato pueden ser invocadas recursivamente por un receptor atacante. Bitcoin no funciona así, por lo que podría sorprender a los desarrolladores de Ethereum sin experiencia. La implicación práctica es que cada una de tus funciones (y, de hecho, todo tu contrato) debería ser "reentrante", es decir, deberían funcionar igual si se invocan partes de él antes de su finalización.

Las correcciones

Taylor Gerring, miembro de la Fundación Ethereum , declaró a CoinDesk que la descripción original del problema por parte de Vessenes era precisa. Sin embargo, añadió que la vulnerabilidad no requerirá cambios en el código base de Ethereum para solucionarse.

Más bien, la vulnerabilidad requiere un tipo diferente de implementación por parte de los desarrolladores.

En la entrevista, Gerring dijo que la vulnerabilidad "es una preocupación en la medida en que un programador Human puede crear este problema" pero "no es un problema inherente a Solidity o EVM [la máquina virtual Ethereum ]", el lenguaje de programación y los intérpretes de código que impulsan la red.

Vessenes incluyó dos posibles soluciones a la debilidad de la "llamada recursiva" en sucorreo.

Otras correcciones específicas del código de The DAO también anunciadas ayer por Slock.it están diseñadas para resolver posibles problemas que algunos hanseñalórespecto al modelo de gobernanza de la organización.

En concreto, se trata de correcciones a ciertos ataques teóricos de juegos, incluido el llamado "sesgo del sí", que resulta de un desincentivo para votar en contra. Las correcciones se han implementado mediante solicitudes de incorporación de cambios en GitHub.

Ahora depende de los 23.000 miembros votantes de la DAO aceptar los cambios o impulsar una solución alternativa.

Tualescribióen el blog Slock.it:

Este es un proyecto completamente de código abierto. A partir de hoy y durante un período de revisión de dos semanas, se anima a todos, incluidos los curadores, a revisar y participar en el lanzamiento.

Imagen de multitud víaShutterstock

Michael del Castillo

Michael, miembro a tiempo completo del equipo editorial de CoinDesk, cubre aplicaciones de Criptomonedas y blockchain. Sus artículos se han publicado en The New Yorker, Silicon Valley Business Journal y Upstart Business Journal. Michael no invierte en criptomonedas ni proyectos blockchain. Anteriormente, ha mantenido valores en Bitcoin (Ver: Regulación editorial). Correo electrónico: CoinDesk. Síguenos a Miguel: @delrayman

Picture of CoinDesk author Michael del Castillo