Ethereum Diccionario de Criptomonedas

¿Qué Era la DAO de Ethereum?

Que fue DAO

La Organización Autónoma Descentralizada (conocida como DAO por sus siglas en inglés) fue creada para operar como un fondo de capital de riesgo para las criptos y el espacio descentralizado. La falta de un ente centralizador reduce los costos y en teoría provee más control y acceso a los inversores.

A principios de mayo del 2016, algunos miembros de la comunidad de Ethereum anunciaron el comienzo de The DAO, que también se conoce como Génesis DAO. Fue construido como un contrato inteligente en el blockchain de Ethereum. El framework de codificación fue desarrollado en código abierto por el equipo Slick.it pero se implemento bajo el nombre de «The DAO» por los miembros de la comunidad de Ethereum. DAO tuvo un periodo de creación que mientras duró cualquiera podía enviar Ether a un monedero especial a cambio de tokens de DAO, en una escala de 1 a 100.

Como era de esperar el periodo de creación tuvo un éxito sin precedentes y consiguieron recaudar 12,7 millones de Ethers (con un valor de $150 millones en ese tiempo). Esto hizo que fuera el mayor crowdfund hasta la fecha. En un punto, cuando los Ethers valían $20 cada uno, lo total recaudado para DAO tenía una valuación de $250 millones.

Contenido

¿Como funcionaba DAO?

DAO fue un complejo contrato inteligente con muchas características y hubiera permitido a las compañías realizar propuestas para obtener fondos. Una vez que la propuesta era aprobada por uno de los curadores, los tenedores de los token DAO (también conocidos como inversores DAO) debían votar la propuesta. Si obtenían al menos un 20% de quórum los fondos eran liberados en el monedero de la compañía. El equipo de los curadores tenía la funciona de ser una línea de defensa contra todas las propuestas spam y colocar una visión humana en el proceso automatizado. La mayoría de los curadores eran miembros notables de la comunidad Ethereum.

Para que los inversores pudieran dejar la organización, en caso de que una propuesta perjudicial o de baja calidad sea aprobada, DAO fue creado con una puerta de salida conocía como la «función split». La función permitía a los usuarios revertir el proceso y recuperar los Ether que habían sido enviados al DAO. Si alguien decidiera hacer un split del DAO, luego podría crear sus propios DAO secundarios y aprobarían su propuesta de enviar Ethers a una dirección luego de un periodo de 28 días. También puedes dividirte con varios dueños de tokens DAO y comenzar a aceptar propuestas para el nuevo DAO.

El lanzamiento de DAO fue éxito y las propuestas fueron creadas y votadas, cuestiones de seguridad fueron planteadas durante las próximas semanas, hubo una gran convocatoria de la comunidad para una moratoria, pero se implemento y la mayoría de los problemas de seguridad no se abordaron lo suficientemente rápido.

El hackeo

El 18 de junio, miembros de la comunidad de Ethereum se dieron cuenta que los fondos se estaban agotando en el DAO y que el saldo total de ETH del contrato inteligente estaba bajando. Un total de 3,6 millones de Ethers (alrededor de $70 millones en ese entonces) fueron drenado por un hacker las primeras horas. El ataque fue posible debido a un exploit encontrando en la función de splitting. El atacante extrajo Ethers del contrato inteligente de DAO múltiples veces usando los mismos Tokens DAO. Esto fue posible debido a lo que se llama un exploit de llamada recursiva.

En este exploit, el atacante fue capaz de pedirle al contrato inteligente que le diera los Ethers de vuelta múltiples veces antes de que el contrato inteligente pudiera actualizar su propio balance. Hubo dos problemas principales que hicieron posible esto: el hecho de que cuando el contrato inteligente de DAO fue creado los desarrolladores no tuvieron en cuenta esta posibilidad de llamado recursivo y el hecho de que el el contrato inteligente primero envía los fondos ETH y luego actualiza su balance interno.

Hay que destacar que este problema no provino de Ethereum, sino de una aplicación creada sobre Ethereum. El código escrito para DAO tenía múltiples errores, y el exploit de la llamada recursiva era uno de ellos. Otra forma de ver esta situación es comparar Ethereum con internet y cualquier aplicación basada en Ethereum con un sitio web. Si el sitio web no funciona, no significa que la internet ha dejado de hacerlo, simplemente significa que el sitio tiene problemas.

El hacker se detuvo de seguir drenando los fondos por alguna razón desconocida, aun cuando podría haber continuado haciéndolo.

Pronto la comunidad de Ethereum y el equipo tomaron control de la situación y presentaron múltiples propuestas para lidiar con el exploit.

El soft fork

Con la intención de que el hacker no pudieran cobra los Ethers robados desde sus DAO secundarios luego de los 28 días, un soft fork fue votado y estuvo muy cerca de ser introducido. Unas pocas horas antes de que supuestamente fuera introducido unos pocos miembros de la comunidad encontraron un error en la implementación que abría un vector de ataque de denegación de servicio.

Este soft fork fue diseñado para poner en una lista negra todas las transacciones hechas de DAO y el hecho de que tal soft fork no sea posible de implementar significa que la cadena de bloques de Ethereum es inmune a la censura de transacciones.

El hard fork

Una solución más conclusiva fue puesta en votación, el hard fork. Este hard fork tenía la unica funcion de devolver todos los Ether tomados por el DAO a un contrato inteligente de reembolso. El nuevo contrato solo tenía una función, la de extracción. Los dueños del token DAO podrían pedir que se le envié 1 ETH por cada 100 DAO. Los inversores que habían pagado más de 1 ETH por 100 DAO podrían solicitar la diferencia a la dirección original. Era de esperarse que esta propuesta crear mucha controversia dentro de la comunidad Ethereum, que se dividió en dos grupos, los que apoyaban este hard fork y los que no.

Los anti hard fork tenían estos argumentos:

  • El código es ley. La declaración original de los términos y condiciones de DAO debe ser válido bajo cualquier circunstancia.
  • Las cosas que suceden en el blockchain son inmutables y nunca deberían cambiar independientemente de cuál sea el resultado.
  • Hay una pendiente resbaladiza y una vez que se modifica por una cuestión no existe mucho que impida que se vuelva a hacer por otros contratos.
  • La decisión de devolver el dinero es de corta vista y es posible que reduzca el valor de los ETH.
  • Es un rescate.

Los usuarios que apoyaban el hard fork argumentaban:

  • El código es una ley demasiado drástica de una declaración en el momento actual y los seres humanos deberían tener la ultima palabra del consenso social.
  • No se le puede permitir al hacker sacar provecho del exploit ya que es éticamente incorrecto y la comunidad debería intervenir.
  • El argumento de la pendiente resbaladiza no es válido ya que la comunidad no está comprometida con las decisiones pasadas, las personas pueden actuar de manera racional y justa en cada situación.
  • Sería problemático dejar un suministro tan grande de Ether en manos de un actor malicioso y podría dañar el valor de Ether.
  • Esto no es un plan de rescate, ya que no está recibiendo dinero de la comunidad, es solo un retorno de fondos para los inversores originales.
  • Se detendría una guerra en curso entre los hackers white hat y el hacker que desmoralizo a la comunidad, situación que posiblemente continuaría por muchos años.
  • El exploit fue lo suficientemente grande como para tomar medidas y revertirlo.
  • Si la comunidad actúa ahora, hará que las personas que no son éticas lo piensen dos veces antes de usar Ethereum como su plataforma de elección.
  • Un hard fork para devolver los fondos mantendrá a los reguladores y al sistema legal fuera de debate, nuestro lío, lo succionamos.

En orden de alcanzar un rápido consenso, la propuesta del hard fork fue votada y aprobada por los dueños de Ether, quienes debían enviar una transacción a la plataforma de votación. La opción ganó con la mayoría de los votos (89%) y tomó lugar durante el bloque 1920000 el 20 de julio del 2016.

A partir de aquí, el resto de la comunidad que no estaba conforme con esta decisión decidió crear Ethreum Classic.

Acerca del autor

Criptotario

Me llamo Martin, soy ingeniero y apasionado de las inversiones y la tecnología. Me gusta mucho leer libros y todo aquello que me haga mejorar día a día.

1 Comentario

Haz clic aquí para añadir un comentario