Un fraude con “contratos inteligentes”

17/12/2017

Socio Director S2 Grupo

2016-abril-OPI-S2Grupo-Miguel-Angel-JuanEl caso que relatamos hoy contiene todos los ingredientes para suscitar la discusión sobre la validez, ventajas o inconvenientes de los llamados “contratos inteligentes”. De hecho, puede hacernos dudar sobre el propio concepto de fraude. 

En un artículo anterior hablamos de “blockchain” y de la posibilidad de definir sobre esa base contratos inteligentes, de manera que el acuerdo entre partes queda reflejado en una especificación ejecutable; esto es, un programa que se puede ejecutar de manera automática siempre que se den las condiciones acordadas en un principio.

Hoy comentaremos un caso real de uno de estos contratos, que dio lugar a una empresa aparentemente muy prometedora que, sin embargo, acabó en uno de los fraudes más llamativos y famosos del mundillo de “blockchain”. ¿O no fue un fraude?

Una de las más conocidas redes basadas en “blockchain” es “ethereum”, cuya criptomoneda es “ether”. “Ethereum” soporta smart contracts (contratos inteligentes), cuya ejecución se activa enviando un pago en “ether”.

Uno de los posibles usos de contratos inteligentes es la implementación de DAOs. Un DAO es una Decentralized Autonomous Organization (Organización Autónoma Descentralizada) que, básicamente es un tipo de organización o empresa sin documentos ni directivos. La actuación de la organización se rige exclusivamente por las normas codificadas en los contratos inteligentes.

La forma en que se crea un DAO es la siguiente: un grupo de personas escriben los contratos inteligentes que determinan su forma de actuar, y se abre un período inicial de recogida de fondos, en el que la gente aporta “ether” a cambio de unos “tokens” que dan derecho a voto (esta etapa se llaman Initial Coin Offering, ICO).

Finalizado el ICO, se pone en funcionamiento el DAO y se proponen formas de utilizar los fondos obtenidos, de modo que aquellos que tienen “tokens” (derechos de voto), deciden por votación la aprobación de las propuestas.

Los “tokens” no son acciones del DAO, sino derechos de voto. El DAO no es propiedad de nadie. Simplemente, es un mecanismo para invertir los fondos recaudados, regulado por los contratos inteligentes que la definen y por la voluntad de los que tienen “token” de voto.

“Bitcoin” es la primera DAO que se creó. El resto de DAOs se han creado sobre la red “ethereum”. Es una manera peculiar de fundar y gestionar una organización, pero es algo a lo que nos tendremos que acostumbrar, a la vista de la evolución de la tecnología.

The DAO
En abril de 2016 se fundó una DAO en concreto, con el original nombre de “The DAO”, concebida y programada (recordemos que los smart contracts son programas), por el equipo de una start-up alemana llamada slock.it.

Su objeto era la creación de “llaves inteligentes” que permitieran a la gente compartir objetos físicos, como coches, casas o bicicletas, de manera similar a Airbnb. El éxito de la ICO fue abrumador y el DAO recaudó más de 150 millones de dólares.

Durante el período de financiación, se oyeron algunas voces cuestionando el nivel de seguridad de los contratos inteligentes del DAO. Sin embargo, se decidió seguir adelante con las propuestas pendientes de aprobación (las actuaciones de inversión de “The DAO”), y dejar para más adelante la resolución de las vulnerabilidades.

Por desgracia, antes de que se resolvieran estos problemas, un hacker anónimo utilizó la vulnerabilidad para extraer “ether” (equivalente a dinero) del DAO, y desviarlo a una estructura paralela (otra DAO diferente).

Concretamente, sacó 3.6 millones de “ether” delante de todo el mundo y sin correr ningún riesgo. A causa de esta acción, la cotización del “ether” bajó de 20 a 13 dólares. Y aquí es donde llegamos a la parte más interesante y curiosa.

No olvidemos que los smart contracts tienen como objetivo definir unas reglas del juego en un acuerdo entre las partes, que se ejecutan de manera autónoma, al margen de cualquier interpretación por entidades jurídicas externas. Es decir, son inapelables.

Pues bien, tras el ataque, una cantidad significativa de criptomonedas quedaron desviadas a una estructura paralela, a la vista de todos, pero sin posibilidad de que nadie, a excepción del atacante, pudiera recuperarlas.

Por otra parte, cualquier intento de cambiar los ”ether” por dinero convencional dispararía las alarmas y una investigación que, probablemente, permitiría identificar al atacante. Por tanto, es posible que éste nunca pueda canjear sus criptomonedas.

También es posible que el atacante se posicionara en corto contra los “ether” antes del ataque y obtuviera su beneficio por la devaluación causada por su acción. Nunca sabremos eso.

Respuesta y alternativas
A corto plazo, los responsables de “Ethereum” realizaron una actualización del software que, en la práctica, bloqueaba cualquier operación de retirada de fondos para el atacante, congelando de esta manera los fondos almacenados en la estructura paralela del DAO. Es decir, los fondos hackeados quedaban inaccesibles para todo el mundo.
A continuación, el atacante, supuestamente, escribió una carta abierta dirigida a “The DAO”, en la que reclamaba su recompensa, alegando que su acción, puesto que cumplía con las condiciones del contrato inteligente (no olvidemos que la vulnerabilidad es un error en el propio contrato), debía ser considerada legal, en términos de las condiciones establecidas en “Ethereum”.

Por otra parte, algunas voces propusieron deshacer las transacciones que permitieron el “robo” y dejar todo como estaba antes del ataque. Es muy improbable que esta propuesta consiga el 51% de los votos entre la comunidad de “Ethereum”, ya que va totalmente en contra de la fundamental autonomía de la plataforma. Digamos que atenta a sus “derechos fundamentales”.

En resumen, tenemos un supuesto robo que, sin embargo, cumple con el smart contract, un botín a la vista de todo el mundo, un bloqueo que impide a cualquiera apropiarse de los fondos, un atacante que reclama lo suyo con total descaro y una comunidad que duda entre traicionar sus principios y poner en peligro el futuro de la plataforma, o permitir que el “ladrón” se salga con la suya.
¿No es apasionante?

1 comentario en este artículo. Únase a la conversación.

  1. avatar
    Nicolas 18/12/2017 a las 22:31 - Reply

    Muy buen artículo, si los SC son tan vulnerables, pone en juego muchas otras industrias que apuestan a esta automatización de procesos comerciales, trazabilidad, intercambio de activos… me vuelvo al bitcoin.. :)

Deje una respuesta