El desastre en el que acabó DAO el pasado junio parece haber puesto a todos los desarrolladores muy alerta ante cualquier posible error en el código de los contratos inteligentes, pues ahora han descubierto un fallo en el contrato de los activos digitales del acelerador virtual y plataforma de financiamiento colectivo EtherCamp, antes de que la vulnerabilidad pudiera ser explotada.
Zack Coburn, desarrollador de Etherboost, un centro de comercio descentralizado, y de Firstblood, una plataforma de recompensas en deportes electrónicos, dio con el fallo en días recientes y advirtió al fundador y CEO de EtherCamp, Roman Mandeleil, sobre un error en la función transferFrom del contrato del activo digital de la plataforma que, de explotarse con malos fines, podría restablecer el saldo de una cuenta de usuario.
Hasta la fecha, EtherCamp ha sido una plataforma de Ethereum que permite el análisis de contratos inteligentes, explora su blockchain y además funciona como acelerador para startups, donde varios equipos (llamados ‘campamentos’) compiten cada cinco semanas con sus proyectos por la posibilidad de ganar cincuenta mil dólares. Los proyectos son evaluados por los miembros de la comunidad, quienes votan por sus proyectos favoritos utilizando los activos digitales Hacker Gold (HKG).
El HKG, más que un depósito de valor (cómo suele verse a los activos digitales), está diseñado para otorgar reputación a los campamentos, adquirir las monedas emitidas por las startups y dar derecho de voto preferencial sobre cómo los fondos serán utilizados. Su venta multitudinaria ya se llevó a cabo a fines de 2016, distribuyéndose entre los participantes sin que nadie sospechase aún sobre el fallo incorporado.
Pero quizás lo más sorprendente de esta historia sea descubrir lo delicados que son los contratos inteligentes cuando a exactitud se refiere, ya que este fallo existe tan sólo porque una muy pequeña parte del código alteró su orden, de modo que se lee “=+” en lugar de “+=”.
Este pequeño detalle ha afectado a todas las fichas HKG, por lo que Coburn ha recomendado crear un nuevo contrato que corrija el error y restaure todos los saldos de las cuentas a un punto anterior a la aparición del error. Y la posibilidad que ha revelado sobre la construcción de contratos inteligentes ya llamó la atención de Vitalik Buterin, quien se comprometió a revisar los lenguajes de programación de Ethereum y eliminar la función que permitiría un nuevo surgimiento de este fallo en otros contratos.
Vitalik Buterin
Creador
Esta no es la primera y probablemente tampoco será la última vez en que nuevas vulnerabilidades se evidencien en los contratos inteligentes. Sin embargo, es una que demuestra que la plataforma en la que se están escribiendo estos contratos posee ambigüedades en su lenguaje de programación, que aumentan la posibilidad de error a la hora de escribir contratos inteligentes y dificultan la creación segura de éstos.
Tan solo el pasado noviembre se descubrieron nuevos errores en los contratos de Ethereum que, pese a tener fácil solución, revelan muy bien que esta es una tecnología muy joven que aún se encuentra en proceso de desarrollo. Aún así, su potencial sigue atrayendo a grandes compañías y sectores como Deloitte, el mercado asegurador londinense y Microsoft, que de hecho formó un grupo de trabajo para mejorar la seguridad de estas aplicaciones.
Por los momentos, los titulares de activos HKG y las casas de cambio deberán estar alertas a declaraciones por parte del equipo de EtherCamp sobre las acciones a tomar mientras trabajan para corregir este defecto cuanto antes.