Se encuentran bugs en el compilador de contratos inteligentes de Ethereum, pero el equipo minimiza las preocupaciones

Una publicación del 8 de enero publicada por la Fundación Ethereum (EF) reveló que los desarrolladores están trabajando en una nueva implementación del compilador Vyper, debido a "varios graves bugs" en la versión existente. El equipo de Vyperlang respondió señalando que los contratos inteligentes existentes de Vyper no se vieron afectados por estos bugs.

Vyper es un lenguaje de programación alternativo para Ethereum originalmente concebido por Vitalik Buterin. Se centra en ser lo más legible por humanos posible, incluso a costa de perder algunas de las características más avanzadas que se encuentran en Solidity, el idioma principal.

Si bien inicialmente forma parte de la stack principal de códigos Ethereum (ETH), desde entonces se ha escindido en un repositorio independiente después de una auditoría preliminar de octubre de 2019 por Consensys Diligence. El informe encontró 31 problemas con el compilador Vyper, el software que traduce el idioma en código de computadora para la máquina virtual Ethereum (EVM).

Los desarrolladores de la Fundación Ethereum explicaron en su publicación de blog cómo gradualmente se desilusionaron con los mantenedores de Vyper:

“Después de unos meses de trabajo, estábamos escépticos de que la base de código de Python probablemente cumpliera con la idea que Vyper prometió. La base de código contenía una cantidad significativa de deuda técnica y arquitectónica, y desde nuestra perspectiva no parecía que los mantenedores existentes estuvieran enfocados en arreglar esto".

Incluso antes del informe, el equipo de EF comenzó a trabajar en un nuevo compilador Vyper basado en el lenguaje Rust. La decisión fue motivada por una mayor portabilidad a EWASM, una nueva implementación de máquina virtual que reemplaza al EVM que se presentará con Ethereum 2.0.

Los bugs del compilador no son críticos, argumentan los mantenedores de Vyper

Los bugs encontrados en el compilador Vyper fueron especialmente significativos debido a su uso en el contrato de depósito Ethereum 2.0, un componente crítico del sistema de Prueba de Participación (PoS).

Sin embargo, los desarrolladores de Vyper aclararon en un hilo de Twitter que Runtime Verification había realizado una auditoría separada para el contrato en sí, que no encontró bugs no corregidos. Utilizó el código de máquina compilado del contrato para realizar el análisis, lo que significa que se habría detectado cualquier anomalía introducida por el compilador.

Además, el equipo de Vyperlang lanzó una actualización el 7 de enero, alegando haber solucionado más del 75 por ciento de los bugs descritos por la auditoría de Consensys.

El desarrollo de las versiones Rust y Python de Vyper continuará, aunque los desarrolladores de EF mantienen la esperanza de que ambas implementaciones funcionen para un solo lenguaje Vyper, un objetivo que probablemente requiera una estrecha cooperación entre los dos equipos.

Sigue leyendo: