Descargo de Responsabilidad
Este artículo ha sido traducido de su idioma original para su conveniencia. A pesar de que nos esforzamos por ser precisos, puede haber pequeños errores o diferencias en la interpretación. Para obtener la representación más precisa y verdadera, consulte la publicación original, disponible aquí
Agradecemos su comprensión y le animamos a consultar la fuente original para obtener información detallada.
Esta es la Parte II de una serie de post de Fuel Labs que cubre temas relacionados con la escalabilidad y la ejecución en Ethereum. Esta serie tiene como objetivo proporcionar información integral sobre los desafíos asociados a la mejora del rendimiento y la capacidad de Ethereum, así como las soluciones actuales que trabajan para hacerlo más eficiente y escalable para una adopción generalizada.
La capa de ejecución es responsable de ejecutar contratos inteligentes y procesar transacciones (consulte la Parte I de esta serie), lo que permite crear diversas aplicaciones y servicios dentro del ecosistema Ethereum. En los últimos años han surgido más de 60 cadenas de Capa 2 (L2) (en inglés), todas trabajando en diferentes soluciones para escalar la capa de ejecución de Ethereum.
En general, las L2 ofrecen las siguientes ventajas:
Tarifas más bajas: al minimizar las transacciones en cadena, las L2 pueden reducir las tarifas del gas, haciendo factibles las pequeñas transacciones y mejorando la experiencia del usuario.
Seguridad mejorada: la baja carga de transacciones puede proporcionar seguridad adicional, protegiendo los datos confidenciales y manteniendo al mismo tiempo la integridad de la cadena de bloques.
Barreras de entrada más bajas: los costos más bajos y el rendimiento mejorado pueden atraer a más desarrolladores y usuarios, fomentando un ecosistema vibrante en torno a Ethereum.
A pesar de las ventajas que ofrecen las L2, actualmente no son suficientes. Una tendencia problemática en el panorama actual es la búsqueda persistente de la compatibilidad con EVM. Muchas soluciones intentan replicar el EVM en diversos contextos, sin cuestionar fundamentalmente si este enfoque es óptimo para las necesidades modernas de blockchain. Aunque la compatibilidad con EVM ofrece ventajas en términos de familiaridad del desarrollador y soporte del ecosistema existente, también perpetúa muchas de las ineficiencias y limitaciones inherentes al diseño EVM original.
Si bien vemos la prominencia de las EVM L2, también vemos el reciente aumento en experimentos con VM alternativas para innovar la capa de ejecución. Echemos un vistazo a los beneficios de este tipo de soluciones y las oportunidades que existen para construir.
El panorama en la capa de ejecución de la tecnología blockchain ha evolucionado rápidamente con una oleada de nuevos marcos que ingresan al mercado. Estos incluyen varias máquinas virtuales (VM) (en inglés), marcos modulares y rollups.
Las máquinas virtuales de uso general como WASM y RISC-V ofrecen avances prometedores en el rendimiento de blockchain. WASM proporciona un entorno de ejecución más flexible y eficiente en comparación con EVM, admitiendo múltiples lenguajes de programación y velocidades de ejecución más rápidas.
Sin embargo, integrarlos en los ecosistemas blockchain plantea desafíos que requieren ajustes significativos en la infraestructura existente. Una de las mayores críticas a sistemas como WASM y RISC-V es que fueron diseñados como ISA o VM para el navegador, en lugar de para blockchains. Nunca fueron construidos para el tipo de procesamiento con medición de gas que utilizan las cadenas de bloques. El conjunto de instrucciones de WASM ni siquiera era determinista, lo que lo hacía inadecuado para la ejecución de blockchain. Además, estos sistemas pueden tener problemas con herramientas de depuración menos maduras, falta de seguridad de memoria integrada y vulnerabilidades inherentes a lenguajes que no son seguros para la memoria.
Más recientemente, estamos viendo el intento de adoptar máquinas virtuales de capa 1 como Solana Virtual Machine (SVM) y MoveVM en configuraciones rollup. El procesamiento de transacciones paralelas de SVM aumenta la eficiencia, pero presenta desafíos para garantizar la coherencia de las transacciones y gestionar las operaciones concurrentes, lo que puede afectar la estabilidad y aumentar la complejidad del desarrollo.
MoveVM (en inglés) introduce innovaciones en la gestión de recursos al tratar los activos digitales como entidades de primera clase con reglas estrictas contra la duplicación o pérdida. Diseñado con código originalmente destinado al proyecto blockchain Libra de Facebook, MoveVM ofrece familiaridad a los desarrolladores de ese ecosistema.
Sin embargo, la migración a MoveVM implica una curva de aprendizaje pronunciada para los desarrolladores acostumbrados a los modelos de VM tradicionales. MoveVM, al igual que SVM, son máquinas virtuales diseñadas inherentemente para arquitecturas monolíticas y no fueron diseñadas originalmente para Rollups, aunque se pueden aplicar e implementar en arquitecturas modulares. Tanto MoveVM como SVM utilizan diseños que implican un alto nivel de estado, donde el estado se acumula constantemente con el tiempo. Si bien SVM intenta abordar esto con soluciones a nivel de aplicación, como publicar únicamente pruebas de Merkle, todavía carece de una estrategia clara para gestionar el estado cada vez mayor de los contratos inteligentes. Esto pone de relieve por qué los entornos de ejecución arbitrarios son problemáticos para las cadenas de bloques. Las cadenas de bloques deben diseñarse con nodos completos como clientes. Diseñar teniendo en cuenta las limitaciones de los nodos completos garantiza el cumplimiento de la física informática correcta.
Los rollups, que dependen de la seguridad y la descentralización de Ethereum, mejoran significativamente la escalabilidad de Ethereum al actuar como capas de ejecución. La diversidad de opciones que ofrecen estos rollups sin duda ha impulsado la innovación y la competencia en el espacio. Pero persiste una cuestión importante; la mayoría de los rollups son simplemente una adaptación de diseños de propósito general o L1. Las implicaciones son que los rollups generalmente no están optimizados ni diseñados específicamente para rollups. Las arquitecturas rollup predominantes no logran resolver problemas específicos de los rollups, como la interoperabilidad entre diferentes L2.
La mayoría de los rollups tampoco abordan adecuadamente el problema del crecimiento de estado, lo que genera ineficiencias y mayores costos con el tiempo. De hecho, los rollups generalmente tienen los mismos problemas de estado que Ethereum. (en ingles) Abordar esta brecha es un área crucial en la que la mayoría de las soluciones L2 se quedan cortas, de ahí la necesidad de enfoques más especializados y optimizados.
“Los rollups no eliminan la necesidad de preocuparse por el tamaño del estado; de hecho, los rollups tienen problemas de tamaño de estado exactamente del mismo tipo que la propia cadena Ethereum”. - Vitalik Buterin. (en Ingles)
El estado actual del panorama de las capas de ejecución revela una oportunidad importante; Al diseñar un sistema especifico para abordar los desafíos únicos que enfrentan las cadenas de bloques modernas, podemos ir más allá de las limitaciones impuestas por las soluciones existentes, manteniendo al mismo tiempo la seguridad de Ethereum.
El objetivo final es construir un futuro en Ethereum, la red de seguridad más grande, donde puedan coexistir miles o incluso millones de cadenas de aplicaciones específicas. Construir para ese futuro requiere tanto una escalabilidad vertical máxima (para el rendimiento y la sostenibilidad del estado) como una escalabilidad horizontal (para la interoperabilidad). Para lograr tal objetivo, debemos reimaginar la ejecución de blockchain desde cero.
Necesitamos una capa de ejecución diseñada específicamente para equilibrar un alto rendimiento con requisitos mínimos de recursos. Es fácil crear un sistema que sea rápido, pero el verdadero desafío es construir uno que funcione eficientemente en hardware económico y de bajos recursos. Una capa de ejecución exitosa debe equilibrar un alto rendimiento con demandas computacionales mínimas, haciéndola accesible y sostenible para una gama más amplia de usuarios.
El debate entre arquitecturas de propósito general y arquitecturas específicamente diseñadas suscita un examen crítico de las funciones centrales de las cadenas de bloques. Existe un proceso de pensamiento predominante dentro del espacio de diseño de blockchain que refleja los sistemas informáticos tradicionales. y obliga a los desarrolladores a hacer concesiones que nos impiden aprovechar el verdadero potencial de blockchain.
Ahora tenemos la oportunidad de diseñar sistemas blockchain con una ejecución específica, es decir, abordar necesidades y objetivos específicos, en lugar de adaptar marcos existentes que no se crearon originalmente para el trabajo en cuestión.
La ejecución específicamente diseñada se trata de alineación, creando un entorno de ejecución que respalde los objetivos e ideales de la tecnología blockchain. Este enfoque reconoce que la capa de ejecución no es sólo un componente técnico de un sistema blockchain, sino una pieza fundamental que puede permitir o dificultar la realización de todo el potencial de blockchain.
A diferencia de los entornos de ejecución de propósito general, que pretenden ser versátiles y manejar una amplia gama de tareas, la ejecución específicamente diseñada se centra en resolver desafíos específicos relacionados con el rendimiento, la eficiencia y la escalabilidad. La creación de una capa de ejecución personalizada que satisfaga las necesidades específicas de los rollups u otras soluciones blockchain especializadas aborda las deficiencias de los entornos de propósito general. Esto significa crear una capa de ejecución personalizada para satisfacer las necesidades específicas de los rollups u otras soluciones blockchain especializadas.
Comenzar desde cero garantiza que cada aspecto del sistema esté optimizado para lograr eficiencia, rendimiento y escalabilidad, específicamente diseñado para su función en la ejecución de transacciones y contratos inteligentes. Los diseños enfocados permiten un manejo más efectivo de cuestiones como la minimización del estado, la interoperabilidad y la gestión de recursos, lo que en última instancia allana el camino para un entorno de ejecución más sólido y adaptable.
El uso de sistemas de propósito general para resolver tareas de blockchain causa innumerables dolores de cabeza a los desarrolladores. Los sistemas de propósito general también han resultado en una mala experiencia del usuario, herramientas fragmentadas y problemas de seguridad. Para resolver estas tareas específicas de blockchain, debemos repensar la arquitectura de ejecución desde cero. ¿La solución? Diseñar la herramienta adecuada para el trabajo.
Repensar nuestro enfoque de la capa de ejecución puede desbloquear nuevos niveles de rendimiento, accesibilidad y funcionalidad en las redes blockchain. Creemos que nuestro enfoque allanará el camino para una adopción más amplia de la tecnología blockchain y alcanzar su potencial transformador en diversas industrias y casos de uso.
En la siguiente parte de nuestra serie ¨Capa de ejecución¨ analizaremos más de cerca cómo Fuel implementa los principios de ejecución diseñada específicamente y las implicaciones para el futuro de Ethereum y el espacio Rollup. Examinaremos las características de FuelVM, nuestro enfoque para resolver desafíos de larga data en la capa de ejecución y las posibles implicaciones en el ecosistema Ethereum.