Profundidad de análisis de la Máquina virtual de Ethereum EVM
La relación entre EVM y Solidity
El desarrollo de contratos inteligentes es una habilidad central para los ingenieros de blockchain. Aunque los desarrolladores suelen escribir contratos en lenguajes de alto nivel como Solidity, la EVM no puede ejecutar directamente este código. Necesita compilar el código en instrucciones de bajo nivel que la máquina virtual pueda entender ( código de operación/código de bytes ). Actualmente existen herramientas que pueden completar automáticamente este proceso de conversión, aliviando la carga de los desarrolladores para entender los detalles de la compilación.
Aunque la compilación introduce algunos costos, los ingenieros familiarizados con la codificación de bajo nivel pueden incrustar directamente códigos de operación en Solidity para lograr la máxima eficiencia y reducir el consumo de gas. Por ejemplo, un conocido protocolo de intercambio de NFT utiliza en gran medida ensamblador en línea para minimizar el gasto de gas de los usuarios.
Diferencias entre el estándar EVM y su implementación
EVM como "capa de ejecución", es el entorno en el que se ejecutan los códigos de operación de los contratos inteligentes compilados. El bytecode definido por EVM se ha convertido en un estándar de la industria. Ya sea en redes de segunda capa de Ethereum o en otras blockchains independientes, siempre que sean compatibles con el estándar EVM, los desarrolladores pueden desplegar contratos inteligentes de manera eficiente en múltiples redes.
A pesar de seguir el mismo estándar de código de bytes, la implementación específica de EVM puede variar considerablemente. Por ejemplo, un cliente de Ethereum implementó el estándar EVM en el lenguaje Go, mientras que un equipo de una fundación mantiene una implementación en C++. Esta diversidad ofrece espacio para optimizaciones de ingeniería y implementaciones personalizadas.
El auge de la tecnología EVM paralela
Históricamente, la comunidad de blockchain se ha centrado principalmente en la innovación de los algoritmos de consenso, y algunos proyectos conocidos han recibido más atención por su mecanismo de consenso que por su capa de ejecución. Aunque estos proyectos también han innovado en la capa de ejecución, a menudo se malinterpreta que sus mejoras de rendimiento provienen únicamente del algoritmo de consenso.
De hecho, las blockchains de alto rendimiento necesitan innovar simultáneamente en el algoritmo de consenso y en la capa de ejecución. Para las blockchains EVM que solo mejoran el algoritmo de consenso, aumentar el rendimiento a menudo requiere un soporte de hardware más potente. Por ejemplo, una conocida cadena inteligente que maneja bloques con un límite de gas de 2000 TPS necesita una configuración que sea varias veces superior a la de un nodo completo de Ethereum. Otra red que afirma soportar hasta 1000 TPS, su rendimiento real a menudo no cumple con las expectativas.
La necesidad del procesamiento en paralelo
En los sistemas de blockchain tradicionales, las transacciones se ejecutan de manera secuencial, similar a una CPU de un solo núcleo. Aunque este enfoque es simple y tiene una baja complejidad del sistema, es difícil de soportar una base de usuarios a gran escala. Cambiar a una máquina virtual de estilo CPU multinúcleo puede procesar múltiples transacciones simultáneamente, aumentando significativamente el rendimiento.
La ejecución paralela ha traído algunos desafíos de ingeniería, como manejar transacciones concurrentes que escriben en el mismo contrato. Esto requiere nuevos mecanismos para resolver conflictos potenciales. Sin embargo, la ejecución paralela de contratos inteligentes no relacionados puede aumentar el rendimiento de manera proporcional al número de hilos de procesamiento.
Innovación de EVM en paralelo
EVM paralelo representa una serie de innovaciones diseñadas para optimizar la capa de ejecución de la blockchain. Tomando como ejemplo un proyecto, sus innovaciones clave incluyen:
Ejecución de transacciones en paralelo: se utiliza un algoritmo de ejecución paralela optimista que permite procesar múltiples transacciones simultáneamente. El sistema comienza las transacciones desde el mismo estado inicial, rastrea las entradas y salidas, y genera resultados temporales. Se decide si se ejecuta en paralelo la siguiente transacción mediante la verificación de las dependencias entre transacciones.
Ejecución diferida: En el mecanismo de consenso, los nodos primero alcanzan un consenso sobre el orden de las transacciones, sin ejecutarlas de inmediato. La ejecución se retrasa a un canal independiente, maximizando el uso del tiempo de bloque y mejorando la eficiencia general.
Base de datos de estado personalizada: optimiza el almacenamiento y acceso al estado al almacenar directamente el árbol de Merkle en SSD. Este método minimiza el efecto de amplificación de lectura, acelera la velocidad de acceso al estado y hace más eficiente la ejecución de contratos.
Mecanismo de consenso de alto rendimiento: Mejorado a partir de HotStuff, soporta la sincronización de cientos de nodos globales, con una complejidad de comunicación lineal. Utiliza votación en pipeline, permitiendo que diferentes etapas se superpongan, reduciendo la latencia y mejorando la eficiencia.
Desafíos de la EVM en paralelo
La ejecución paralela introduce conflictos de estado potenciales, que requieren una verificación de conflictos antes o después de la ejecución. Por ejemplo, cuando múltiples transacciones paralelas interactúan con el mismo grupo de transacciones, se necesita un mecanismo cuidadoso de detección y resolución de conflictos.
Además de las diferencias en la implementación técnica, los equipos a menudo también necesitan rediseñar el rendimiento de lectura y escritura de la base de datos de estado, y desarrollar algoritmos de consenso compatibles.
Los proyectos de EVM en paralelo enfrentan dos grandes desafíos: el riesgo de que Ethereum absorba sus innovaciones tecnológicas a largo plazo y el problema de la centralización de nodos. El desarrollo rápido del ecosistema es clave para mantener una ventaja competitiva. La descentralización de nodos requiere encontrar un equilibrio entre operaciones sin permiso, sin confianza y alto rendimiento.
Visión general del proyecto EVM paralelo
Actualmente, el panorama de EVM en paralelo incluye múltiples cadenas de bloques de Layer 1, posibles soluciones de Layer 2, y capas compatibles con EVM basadas en otras cadenas de bloques públicas. Los proyectos existentes se pueden clasificar en tres categorías:
Red Layer 1 compatible con EVM que soporta la ejecución paralela a través de actualizaciones tecnológicas
Red Layer 1 compatible con EVM que utiliza ejecución paralela desde su diseño inicial
Red de Layer 2 que utiliza tecnología de ejecución paralela no EVM
Introducción a proyectos representativos
El proyecto A tiene como objetivo resolver el problema de escalabilidad mediante la optimización de la ejecución paralela de la Máquina virtual de Ethereum, con el objetivo de alcanzar 10,000 TPS. Se ha completado una gran financiación y el equipo fundador proviene de los principales creadores de mercado. La red de prueba interna se ha lanzado y estará disponible para el público pronto.
El proyecto B se centró inicialmente en la infraestructura de aplicaciones de intercambio, y recientemente se actualizó a un EVM paralelo de alto rendimiento, aumentando el TPS a 12,500. La red de prueba ya está en línea, soportando la migración de aplicaciones EVM con un solo clic. También se lanzó un marco de código abierto que admite la adopción de Layer 2 utilizando tecnología de procesamiento paralelo.
El proyecto C mejora el rendimiento y la eficiencia de ejecución al construir un sistema de doble máquina virtual EVM++(EVM + WASM). El equipo central proviene de un conocido proyecto de blockchain. La red de prueba pública ya está en línea y se ha iniciado el plan de incentivos ecológicos.
El proyecto D es una red Layer 1 compatible con EVM construida sobre un SDK determinado, diseñada específicamente para DeFi. Recientemente se anunció un plan de desarrollo para introducir tecnología EVM paralela para mejorar el rendimiento.
El proyecto E es la primera solución que logra compatibilidad con EVM en una cadena pública de alto rendimiento. Soporta a los desarrolladores de Solidity para desplegar DApps con un solo clic, disfrutando de un alto rendimiento y bajas tarifas de gas. Envuelve las transacciones EVM como transacciones nativas, con un TPS que supera los 2,000.
El proyecto F es una solución modular y general de Layer 2 soportada por una máquina virtual de una determinada cadena pública. Se liquida en Ethereum, utilizando ETH como gas, pero la capa de ejecución opera en ese entorno de máquina virtual. Recientemente completó una gran financiación y la red principal estará disponible para los desarrolladores pronto.
El proyecto G es una red Layer 2 modular de VM, que soporta la introducción de máquinas virtuales de alto rendimiento en el ecosistema principal de Layer 2. Se puede utilizar Ethereum o Bitcoin como capa de liquidación, y la capa de ejecución puede usar múltiples máquinas virtuales paralelas.
Conclusión
Con el desarrollo de la tecnología blockchain, la optimización de la capa de ejecución y los algoritmos de consenso son igualmente importantes. Innovaciones como la EVM en paralelo ofrecen soluciones prometedoras para aumentar el rendimiento y la eficiencia, lo que se espera que haga que la blockchain sea más escalable y apoye una gama más amplia de casos de uso. El desarrollo de estas tecnologías continuará impulsando el progreso del ecosistema blockchain.
Esta página puede contener contenido de terceros, que se proporciona únicamente con fines informativos (sin garantías ni declaraciones) y no debe considerarse como un respaldo por parte de Gate a las opiniones expresadas ni como asesoramiento financiero o profesional. Consulte el Descargo de responsabilidad para obtener más detalles.
10 me gusta
Recompensa
10
7
Compartir
Comentar
0/400
SandwichDetector
· hace21h
La máquina de minería de carbón finalmente tendrá multihilo.
Ver originalesResponder0
SerumSquirrel
· 07-22 18:54
EVMtqlalcista啊
Ver originalesResponder0
ChainComedian
· 07-22 18:53
¿Con este rendimiento? ¿Aún se habla de innovación?
Ver originalesResponder0
SatoshiHeir
· 07-22 18:50
Es necesario señalar que lo que se llama paralelismo no es más que una mala imitación de Vitalik Buterin.
Ver originalesResponder0
CounterIndicator
· 07-22 18:47
¡Entendido! La cadena única se convierte en un cuello de botella, ¡es necesario hacerlo en paralelo!
Ver originalesResponder0
LiquidationTherapist
· 07-22 18:46
La EVM paralela es realmente buena.
Ver originalesResponder0
pvt_key_collector
· 07-22 18:40
¿Todavía estás bloqueando el rendimiento? La cadena ya está muerta.
Análisis técnico de EVM en paralelo: nuevas oportunidades y desafíos en la Cadena de bloques
Profundidad de análisis de la Máquina virtual de Ethereum EVM
La relación entre EVM y Solidity
El desarrollo de contratos inteligentes es una habilidad central para los ingenieros de blockchain. Aunque los desarrolladores suelen escribir contratos en lenguajes de alto nivel como Solidity, la EVM no puede ejecutar directamente este código. Necesita compilar el código en instrucciones de bajo nivel que la máquina virtual pueda entender ( código de operación/código de bytes ). Actualmente existen herramientas que pueden completar automáticamente este proceso de conversión, aliviando la carga de los desarrolladores para entender los detalles de la compilación.
Aunque la compilación introduce algunos costos, los ingenieros familiarizados con la codificación de bajo nivel pueden incrustar directamente códigos de operación en Solidity para lograr la máxima eficiencia y reducir el consumo de gas. Por ejemplo, un conocido protocolo de intercambio de NFT utiliza en gran medida ensamblador en línea para minimizar el gasto de gas de los usuarios.
Diferencias entre el estándar EVM y su implementación
EVM como "capa de ejecución", es el entorno en el que se ejecutan los códigos de operación de los contratos inteligentes compilados. El bytecode definido por EVM se ha convertido en un estándar de la industria. Ya sea en redes de segunda capa de Ethereum o en otras blockchains independientes, siempre que sean compatibles con el estándar EVM, los desarrolladores pueden desplegar contratos inteligentes de manera eficiente en múltiples redes.
A pesar de seguir el mismo estándar de código de bytes, la implementación específica de EVM puede variar considerablemente. Por ejemplo, un cliente de Ethereum implementó el estándar EVM en el lenguaje Go, mientras que un equipo de una fundación mantiene una implementación en C++. Esta diversidad ofrece espacio para optimizaciones de ingeniería y implementaciones personalizadas.
El auge de la tecnología EVM paralela
Históricamente, la comunidad de blockchain se ha centrado principalmente en la innovación de los algoritmos de consenso, y algunos proyectos conocidos han recibido más atención por su mecanismo de consenso que por su capa de ejecución. Aunque estos proyectos también han innovado en la capa de ejecución, a menudo se malinterpreta que sus mejoras de rendimiento provienen únicamente del algoritmo de consenso.
De hecho, las blockchains de alto rendimiento necesitan innovar simultáneamente en el algoritmo de consenso y en la capa de ejecución. Para las blockchains EVM que solo mejoran el algoritmo de consenso, aumentar el rendimiento a menudo requiere un soporte de hardware más potente. Por ejemplo, una conocida cadena inteligente que maneja bloques con un límite de gas de 2000 TPS necesita una configuración que sea varias veces superior a la de un nodo completo de Ethereum. Otra red que afirma soportar hasta 1000 TPS, su rendimiento real a menudo no cumple con las expectativas.
La necesidad del procesamiento en paralelo
En los sistemas de blockchain tradicionales, las transacciones se ejecutan de manera secuencial, similar a una CPU de un solo núcleo. Aunque este enfoque es simple y tiene una baja complejidad del sistema, es difícil de soportar una base de usuarios a gran escala. Cambiar a una máquina virtual de estilo CPU multinúcleo puede procesar múltiples transacciones simultáneamente, aumentando significativamente el rendimiento.
La ejecución paralela ha traído algunos desafíos de ingeniería, como manejar transacciones concurrentes que escriben en el mismo contrato. Esto requiere nuevos mecanismos para resolver conflictos potenciales. Sin embargo, la ejecución paralela de contratos inteligentes no relacionados puede aumentar el rendimiento de manera proporcional al número de hilos de procesamiento.
Innovación de EVM en paralelo
EVM paralelo representa una serie de innovaciones diseñadas para optimizar la capa de ejecución de la blockchain. Tomando como ejemplo un proyecto, sus innovaciones clave incluyen:
Ejecución de transacciones en paralelo: se utiliza un algoritmo de ejecución paralela optimista que permite procesar múltiples transacciones simultáneamente. El sistema comienza las transacciones desde el mismo estado inicial, rastrea las entradas y salidas, y genera resultados temporales. Se decide si se ejecuta en paralelo la siguiente transacción mediante la verificación de las dependencias entre transacciones.
Ejecución diferida: En el mecanismo de consenso, los nodos primero alcanzan un consenso sobre el orden de las transacciones, sin ejecutarlas de inmediato. La ejecución se retrasa a un canal independiente, maximizando el uso del tiempo de bloque y mejorando la eficiencia general.
Base de datos de estado personalizada: optimiza el almacenamiento y acceso al estado al almacenar directamente el árbol de Merkle en SSD. Este método minimiza el efecto de amplificación de lectura, acelera la velocidad de acceso al estado y hace más eficiente la ejecución de contratos.
Mecanismo de consenso de alto rendimiento: Mejorado a partir de HotStuff, soporta la sincronización de cientos de nodos globales, con una complejidad de comunicación lineal. Utiliza votación en pipeline, permitiendo que diferentes etapas se superpongan, reduciendo la latencia y mejorando la eficiencia.
Desafíos de la EVM en paralelo
La ejecución paralela introduce conflictos de estado potenciales, que requieren una verificación de conflictos antes o después de la ejecución. Por ejemplo, cuando múltiples transacciones paralelas interactúan con el mismo grupo de transacciones, se necesita un mecanismo cuidadoso de detección y resolución de conflictos.
Además de las diferencias en la implementación técnica, los equipos a menudo también necesitan rediseñar el rendimiento de lectura y escritura de la base de datos de estado, y desarrollar algoritmos de consenso compatibles.
Los proyectos de EVM en paralelo enfrentan dos grandes desafíos: el riesgo de que Ethereum absorba sus innovaciones tecnológicas a largo plazo y el problema de la centralización de nodos. El desarrollo rápido del ecosistema es clave para mantener una ventaja competitiva. La descentralización de nodos requiere encontrar un equilibrio entre operaciones sin permiso, sin confianza y alto rendimiento.
Visión general del proyecto EVM paralelo
Actualmente, el panorama de EVM en paralelo incluye múltiples cadenas de bloques de Layer 1, posibles soluciones de Layer 2, y capas compatibles con EVM basadas en otras cadenas de bloques públicas. Los proyectos existentes se pueden clasificar en tres categorías:
Introducción a proyectos representativos
El proyecto A tiene como objetivo resolver el problema de escalabilidad mediante la optimización de la ejecución paralela de la Máquina virtual de Ethereum, con el objetivo de alcanzar 10,000 TPS. Se ha completado una gran financiación y el equipo fundador proviene de los principales creadores de mercado. La red de prueba interna se ha lanzado y estará disponible para el público pronto.
El proyecto B se centró inicialmente en la infraestructura de aplicaciones de intercambio, y recientemente se actualizó a un EVM paralelo de alto rendimiento, aumentando el TPS a 12,500. La red de prueba ya está en línea, soportando la migración de aplicaciones EVM con un solo clic. También se lanzó un marco de código abierto que admite la adopción de Layer 2 utilizando tecnología de procesamiento paralelo.
El proyecto C mejora el rendimiento y la eficiencia de ejecución al construir un sistema de doble máquina virtual EVM++(EVM + WASM). El equipo central proviene de un conocido proyecto de blockchain. La red de prueba pública ya está en línea y se ha iniciado el plan de incentivos ecológicos.
El proyecto D es una red Layer 1 compatible con EVM construida sobre un SDK determinado, diseñada específicamente para DeFi. Recientemente se anunció un plan de desarrollo para introducir tecnología EVM paralela para mejorar el rendimiento.
El proyecto E es la primera solución que logra compatibilidad con EVM en una cadena pública de alto rendimiento. Soporta a los desarrolladores de Solidity para desplegar DApps con un solo clic, disfrutando de un alto rendimiento y bajas tarifas de gas. Envuelve las transacciones EVM como transacciones nativas, con un TPS que supera los 2,000.
El proyecto F es una solución modular y general de Layer 2 soportada por una máquina virtual de una determinada cadena pública. Se liquida en Ethereum, utilizando ETH como gas, pero la capa de ejecución opera en ese entorno de máquina virtual. Recientemente completó una gran financiación y la red principal estará disponible para los desarrolladores pronto.
El proyecto G es una red Layer 2 modular de VM, que soporta la introducción de máquinas virtuales de alto rendimiento en el ecosistema principal de Layer 2. Se puede utilizar Ethereum o Bitcoin como capa de liquidación, y la capa de ejecución puede usar múltiples máquinas virtuales paralelas.
Conclusión
Con el desarrollo de la tecnología blockchain, la optimización de la capa de ejecución y los algoritmos de consenso son igualmente importantes. Innovaciones como la EVM en paralelo ofrecen soluciones prometedoras para aumentar el rendimiento y la eficiencia, lo que se espera que haga que la blockchain sea más escalable y apoye una gama más amplia de casos de uso. El desarrollo de estas tecnologías continuará impulsando el progreso del ecosistema blockchain.