Compartir este artículo

EVM 2.0: Dentro de la carrera para reemplazar el corazón de Ethereum

La máquina virtual que permite a Ethereum calcular todo de manera descentralizada está recibiendo una revisión masiva.

En el corazón de Ethereum se encuentra una computadora virtual.

Almacenada en decenas de miles de nodos que conforman la plataforma, la máquina virtual Ethereum , o EVM, es responsable de ejecutar los innumerables tokens, dapps, DAO y gatitos digitales que componen la cadena de bloques.

CONTINÚA MÁS ABAJO
No te pierdas otra historia.Suscríbete al boletín de Crypto Long & Short hoy. Ver Todos Los Boletines

Es un motor sobre el cual opera la totalidad de Ethereum , y habla un lenguaje llamado "bytecode EVM": cadenas de información sin procesar de 256 BIT que pueden generar cualquier ecuación concebible (siempre que se encuentre dentro del límite autoimpuesto de la plataforma, GAS).

Suena poderoso e importante, ¿verdad? ¿Algo con lo que no hay que meterse demasiado?

Sin embargo, esa parte integral de la infraestructura de Ethereum se está preparando para una reescritura completa.

"Diría que no se le dedicó mucho pensamiento de diseño al principio", declaró Lane Rettig, desarrollador de Ethereum , a CoinDesk sobre la EVM. "Era como una herramienta —una navaja suiza, así la describiría—, hace muchas cosas, pero no excepcionalmente bien".

Como tal, la EVM actual será reemplazada por una nueva máquina virtual llamada eWASM.

EWASM es simplemente la versión de Ethereum del código WASM (que significa WebAssembly), creado por el World Wide Web Consortium (W3C), el equipo de desarrolladores responsable de mantener y estandarizar la web.

"Hay muchos ingenieros altamente remunerados y con mucha experiencia, y miles de horas de ingeniería profesional invertidas en la concepción del conjunto de construcción [WASM], en comparación con EVM", afirmó Rettig, quien contribuye al desarrollo de eWASM.

De hecho, eWASM permitirá a los desarrolladores codificar en múltiples lenguajes de programación, no solo en el lenguaje específico de Ethereum, Solidity, y se dice que también vendrá con una serie de mejoras de rendimiento.

Y para dar mayor credibilidad a la decisión, Ethereum se unirá a varios competidores, incluidos EOS, TRON y Cardano, quienes han implementado (o planean implementar) máquinas virtuales específicas del proyecto para manejar la computación descentralizada utilizando el código WASM.

Para Ethereum, el cambio está programado para ejecutarse junto con un par de actualizaciones adicionales, ahora conocidas como "Shasper", que incluyen la fragmentación de la solución de escalado y la reescritura de minería Casper, en los próximos años. Y aunque no se ha fijado un plazo exacto para el cambio, el desarrollo de eWASM avanza rápidamente y se prepara para el lanzamiento de su red de pruebas en Devcon 4, la conferencia para desarrolladores de Ethereum , que se celebrará en Praga en octubre.

Al hablar sobre la decisión de reemplazar la máquina existente, Rettig resumió:

"Ethereum está en un punto en el que está pasando de ser un proyecto casero personalizado y torpe que hemos estado usando en nuestra FARM a un verdadero auto de carreras que podemos usar en la carretera y abrir".

Una forma 'verrugosa'

Detrás de este cambio está la comprensión de que, si bien la EVM es una Tecnología innovadora (que por primera vez ofrece una solución para la computación descentralizada resistente a ataques), no es tan limpia como podría ser.

Por ejemplo, la mayoría de los desarrolladores de dapps programan en Solidity de Ethereum, un lenguaje de programación de alto nivel que se compila automáticamente en un formato compatible con código de bytes EVM.

Rettig dijo que debido a que la EVM se basa en "instrucciones muy grandes y amplias", incluso los cálculos más pequeños, como la aritmética básica, necesitarían convertirse en cadenas de 256 BIT (un proceso complejo para matemáticas simples) para que la EVM pueda procesarlos.

Esta es solo una de varias operaciones integradas en el código del sistema que, según Rettig, no deberían estar presentes. Otra incluye la popular función hash SHA-3.

Por esta razón Rettig describe la EVM como "verrugosa".

Y Nick Johnson, un desarrollador CORE de Ethereum , estuvo de acuerdo y le dijo a CoinDesk que cuando se unió a Ethereum, fue inmediatamente obvio para él que el EVM fue construido por desarrolladores con un profundo conocimiento de la informática, pero sin mucha experiencia en la creación de productos ampliamente utilizables.

Como herramienta, enfatizó Johnson, el EVM ha sido "optimizado para la pureza teórica, en lugar del uso práctico".

"Tiene estos enormes registros, pero son todos iguales, y es muy consistente internamente, etc.", dijo, "pero no está diseñado para una implementación en el mundo real".

'Más cerca del metal'

El código WASM, por otro lado, fue creado con la producción en mente.

En ONE, dijo Rettig, está construido "más cerca del metal", lo que significa que el código que ejecuta es cercano a las instrucciones reales del hardware, por lo que se requiere menos esfuerzo para traducir diferentes lógicas de codificación.

"Las instrucciones imitan con gran precisión las instrucciones reales del hardware", continuó Rettig. "Estas instrucciones pueden corresponderse directamente con las instrucciones que ejecutan los dispositivos, lo que, en teoría, permite obtener mejoras de rendimiento muy interesantes".

Por ejemplo, los desarrolladores que trabajen con Ethereum podrán codificar usando múltiples lenguajes, cualquiera con el que se sientan más cómodos, incluidos aquellos con beneficios de seguridad adicionales.

Otra ventaja clave —que según Rettig algunos desarrolladores citan como la "motivación clave detrás de eWASM"— es que potencialmente elimina lo que se llama una "precompilación".

Dado que la EVM se compone de código complejo, ciertas operaciones deben compilarse dentro del sistema; de lo contrario, superarían los costos de GAS asociados. Para que estas operaciones estén disponibles en la red, se requieren actualizaciones de todo el sistema (bifurcaciones duras), llamadas precompilaciones. Estas actualizaciones han demostrado ser arriesgadas y complejas de orquestar.

Sin embargo, con eWASM, los desarrolladores sostienen que las operaciones pueden simplemente escribirse como contratos inteligentes e implementarse, omitiendo el escenario de bifurcación dura.

"Con eWASM, es lo suficientemente eficiente para realizar tareas de cómputo como para que la mayoría de esas precompilaciones puedan eliminarse y reemplazarse únicamente con contratos de eWASM", dijo Johnson.

Corazón roto

Aun así, como cualquier cambio sustancial en un ecosistema descentralizado, el impulso para desestimar el EVM no está exento de críticos.

Por un ONE , el desarrollador CORE de Ethereum, Greg Colvin, quien se ha dedicado al mantenimiento de EVM durante años, se muestra reacio a dejar de lado el código antiguo.

Colvin había estado diseñando él mismo una versión mejorada del código EVM, llamada EVM 1.5, que originalmente se concibió como el futuro de la máquina virtual Ethereum . Sin embargo, sin previo aviso, la Fundación Ethereum, una organización sin fines de lucro, le cortó la financiación.

"Estaba enojado", dijo Colvin, quien ayudó a formar el grupo.Consejo de magos de EthereumTras la experiencia, un grupo de discusión dedicado a fomentar la competencia técnica de Ethereum comentó a CoinDesk: "Pensé: 'Espera, no me pagarás $8.40 por hora cuando ya has reducido mis horas de 35 a 20, así que ¿por qué hago esto?'. Y durante el resto del año ya no pude permitirme dedicar mi tiempo como voluntario".

Sin embargo, la razón de Colvin para oponerse a aWASM no es sólo el orgullo.

Según él, eWASM también presenta problemas técnicos. Por ejemplo, dado que eWASM admite múltiples idiomas, el código depende en gran medida de lo que se conoce como "compiladores", algo que, según Colvin, podría ser un punto de fallo único para los atacantes.

Tampoco está convencido de que los contratos inteligentes eWASM puedan reemplazar la necesidad de precompilaciones.

Además, Colvin tiene otras críticas orientadas al diseño con las que incluso Rettig coincide. Según ambos desarrolladores, por alguna razón, la tecnología más ineficiente suele prevalecer. Tomemos como ejemplo Javascript, ONE de los lenguajes de programación más utilizados, pero conocido por su aspecto particularmente feo.

"Parece haber un patrón en la Tecnología y la informática según el cual las cosas mejor diseñadas no sólo no necesariamente WIN, sino que parecen no tener un buen desempeño", argumentó Rettig.

Sin mencionar que, según Colvin, a pesar de todo el trabajo de desarrollo detrás de WASM, el código aún no ha sido probado completamente.

Colvin le dijo a CoinDesk:

"No entendía por qué queríamos ser pioneros en un experimento, cuando ya éramos pioneros en nuestro propio experimento".

Imprevisibilidad

Dejando a un lado los conflictos, eWASM está ganando fuerza entre muchos desarrolladores de Ethereum .

De hecho, el plan es implementarlo como una red de prueba antes de la conferencia de desarrolladores de Ethereum , Devcon4, en noviembre.

Sin embargo, eso no significa que la nueva máquina virtual se implementará pronto.

Dado que eWASM se lanzará primero en un fragmento o cadena lateral antes de reemplazar la propia EVM, su lanzamiento está estrechamente ligado a la actualización de Shasper. En cuanto a los plazos, esto significa que los desarrolladores deberán completar la investigación que sustenta dichos cambios antes de pasar a eWASM.

Desafortunadamente, el progreso de este tipo de investigación puede ser impredecible.

De hecho, la ambigüedad involucrada en las actualizaciones de código de este tipo ha sido una fuente de confusión para un amplio grupo de desarrolladores de Ethereum que trabajan en la plataforma.

"Si estás en proceso de crear un nuevo cliente, hay mucha confusión: ¿Debería crear eWASM? ¿Debería crear EVM? ¿Debería crear ambos? ¿Debería crear algo diferente?", declaró Rettig a CoinDesk.

La falta de claridad fue una de las principales frustraciones para Colvin, porque cuando se trata del EVM actual, hay algunos problemas de rendimiento que serían fáciles de mejorar, pero que han quedado postergados por el cambio repentino en la hoja de ruta.

"Ha sido una frustración para mí durante un tiempo. eWASM estaba claramente en el horizonte, pero sin demasiados recursos, EVM 1.5 estaba NEAR . Y ahora, todavía es factible, pero se retrasó; se desperdició un año entero", dijo Colvin a CoinDesk.

¿Cuanto más, mejor?

Aun así, tanto Rettig como Colvin admiten que esta incertidumbre es sólo una parte de contribuir a un proyecto de código abierto sin ningún liderazgo central.

"El aspecto comunitario es muy importante. Si esto fuera una empresa, ya me habría ido", dijo Colvin a CoinDesk.

Además, Rettig se QUICK a argumentar que cuando se trata de mejoras de Ethereum , no hay trabajo desperdiciado.

De hecho, continuó, debido a la naturaleza de la actualización de fragmentación (que divide Ethereum en fragmentos más pequeños y manejables), eventualmente se podrían soportar múltiples máquinas virtuales en Ethereum.

Sobre Ethereum actualizado, Rettig dijo: "No existe un único Ethereum, no existe una única hoja de ruta, no existe una única autoridad, es una comunidad, es una familia de tecnologías y no creo que el futuro sea sólo una cadena para gobernarlas a todas".

En consonancia con esto, eWASM también abrirá nuevos niveles de interoperabilidad. Por un ONE, está desarrollado en un lenguaje estandarizado para la World Wide Web, por lo que añadir compatibilidad en el navegador con un cliente ligero de Ethereum sería trivial.

Y también podría allanar el camino para una interoperabilidad no descubierta entre diferentes cadenas de bloques.

"Quizás tengamos fragmentación cuadrática por aquí, y Plasma por aquí, y quizás se superpongan en algunos puntos, y quizás tengamos una cadena Dfinity que se comunica con una cadena Ethereum que se comunica con Bitcoin a través de Cosmos y Polkadot", dijo Rettig, sugiriendo:

"Simplemente no lo sabemos, así que no te obsesiones con la hoja de ruta canónica oficial, sea cual sea".

Corazón de papelimagen vía Shutterstock

Rachel-Rose O'Leary

Rachel-Rose O'Leary es programadora y escritora en Dark Renaissance Technologies. Fue redactora principal de tecnología para CoinDesk entre 2017 y 2018, cubriendo temas de Privacidad y Ethereum. Tiene formación en arte digital y filosofía, y escribe sobre Cripto desde 2015.

Rachel-Rose O'Leary