EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. A diferencia de las máquinas virtuales comunes, EVM es un motor enfocado en el cómputo, que proporciona una abstracción de cálculo y almacenamiento. Ejecuta su propio conjunto de instrucciones en bytecode, que generalmente es compilado por Solidity.
EVM es una máquina de estados casi Turing completa. "Casi" es porque todos los pasos de ejecución consumen recursos limitados de Gas, evitando así la posibilidad de bucles infinitos que podrían detener toda la plataforma.
EVM no tiene función de programación, el módulo de ejecución de Ethereum extrae transacciones de los bloques y EVM es responsable de ejecutarlas secuencialmente. El proceso de ejecución modifica el estado mundial, y después de que se complete la ejecución de una transacción, se acumula el estado, alcanzando el último estado mundial después de completar el bloque. La ejecución del siguiente bloque depende estrictamente del estado mundial después de la ejecución del bloque anterior, por lo que el proceso de ejecución lineal de las transacciones de Ethereum no puede optimizarse bien para la ejecución en paralelo.
El protocolo de Ethereum establece que las transacciones se ejecutan en orden. Aunque la ejecución en orden asegura que las transacciones y los contratos inteligentes se puedan ejecutar en un orden determinista, garantizando la seguridad, en situaciones de alta carga, puede causar congestión en la red y retrasos, que es también la razón por la cual Ethereum tiene un gran cuello de botella en el rendimiento y necesita la escalabilidad de Layer2 Rollup.
El camino de la paralelización en Layer1 de alto rendimiento
La mayoría de las Layer1 de alto rendimiento diseñan sus propias soluciones de optimización basándose en la incapacidad de Ethereum para procesar en paralelo, centrándose principalmente en la optimización de la capa de ejecución, incluyendo la máquina virtual y la ejecución paralela.
Máquina virtual
EVM está diseñado como una máquina virtual de 256 bits, con el objetivo de facilitar el procesamiento del algoritmo hash de Ethereum. Sin embargo, las computadoras que ejecutan EVM necesitan mapear los bytes de 256 bits a la arquitectura local para ejecutar contratos inteligentes, lo que hace que todo el sistema sea muy ineficiente. Por lo tanto, las Layer1 de alto rendimiento utilizan más máquinas virtuales basadas en bytecode WASM, eBPF o Move.
WASM es un formato de bytecode pequeño, de carga rápida, portátil y basado en un mecanismo de seguridad de sandbox. Los desarrolladores pueden escribir contratos inteligentes en varios lenguajes de programación, luego compilarlos en bytecode WASM y ejecutarlos. Muchos proyectos de blockchain ya han adoptado WASM como estándar.
eBPF proviene de BPF y ofrece un conjunto de instrucciones más rico, permitiendo la intervención y modificación dinámica del comportamiento del núcleo del sistema operativo sin modificar el código fuente. Los contratos inteligentes ejecutados en ciertas redes de blockchain se compilan en bytecode basado en eBPF y se ejecutan.
Move es un nuevo lenguaje de programación de contratos inteligentes, que se centra en la flexibilidad, la seguridad y la verificabilidad. El lenguaje Move está diseñado para abordar los problemas de seguridad en activos y transacciones, permitiendo que los activos y transacciones sean definidos y controlados de manera estricta.
Ejecución paralela
La ejecución paralela en blockchain significa procesar simultáneamente transacciones no relacionadas. El principal desafío para implementar la ejecución paralela es determinar qué transacciones son no relacionadas y cuáles son independientes. Las Layer1 de alto rendimiento dependen principalmente de dos métodos: el método de acceso al estado y el modelo de paralelismo optimista.
El método de acceso al estado requiere que se conozca de antemano qué parte del estado de la cadena de bloques puede acceder cada transacción, para así analizar cuáles transacciones son independientes. Algunas plataformas de blockchain adoptan este enfoque, exigiendo que las transacciones especifiquen qué cuentas u objetos se accederán, con el fin de programar la ejecución paralela de transacciones no superpuestas.
El modelo de ejecución paralela optimista asume que todas las transacciones son independientes, simplemente validando retrospectivamente esta suposición y ajustándola cuando sea necesario. Algunas blockchains utilizan el método Block-STM para aplicar la ejecución paralela optimista, donde las transacciones se establecen primero en un bloque en un orden determinado y luego se dividen para ejecutarse simultáneamente entre diferentes hilos de procesamiento.
EVM en paralelo
El concepto de EVM paralela fue propuesto en 2021, inicialmente refiriéndose a un EVM que soporta el procesamiento simultáneo de múltiples transacciones. A finales de 2023, la EVM paralela volvió a convertirse en un tema candente, provocando un auge en la adopción de la tecnología de ejecución paralela en las Layer1 compatibles con EVM.
Actualmente, se definen razonablemente como EVM paralelos tres categorías:
Actualización de ejecución paralela de Layer1 compatible con EVM que no utiliza tecnología de ejecución paralela.
Capa 1 compatible con EVM que utiliza tecnología de ejecución paralela
Solución compatible con EVM de Layer 1 no EVM compatible que utiliza tecnología de ejecución paralela
Algunos proyectos emergentes están desarrollando soluciones EVM paralelas, con el objetivo de mejorar significativamente la escalabilidad y la velocidad de las transacciones mediante la ejecución paralela. Estos proyectos utilizan diferentes soluciones tecnológicas, como modelos de paralelismo optimista, análisis de código estático, etc., para lograr el procesamiento paralelo de transacciones.
Al mismo tiempo, algunas blockchains no compatibles con EVM también están explorando soluciones de compatibilidad con EVM, implementando un intérprete de EVM en su entorno nativo para soportar la ejecución de contratos inteligentes de Ethereum. Estas soluciones aprovechan la capacidad de ejecución paralela de la blockchain subyacente, proporcionando un mejor rendimiento para las transacciones de EVM.
Resumen
La tecnología de paralelismo en blockchain es un tema que se discute repetidamente, pero actualmente se centra principalmente en la transformación y emulación del modelo de ejecución optimista, sin avances sustanciales hasta el momento. En el futuro, es posible que más proyectos emergentes de Layer1 se unan a la competencia de EVM paralela, y las Layer1 más antiguas también podrían implementar actualizaciones de paralelismo de EVM o soluciones compatibles con EVM.
Además de la EVM de alto rendimiento, en el campo de la blockchain también podrían surgir otras narrativas de tecnologías de máquinas virtuales, como WASM, SVM y Move VM, promoviendo el desarrollo diversificado de todo el ecosistema.
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.
12 me gusta
Recompensa
12
3
Compartir
Comentar
0/400
JustHereForAirdrops
· 08-04 17:05
gas费又要 To the moon了 看不懂的随便跑
Ver originalesResponder0
HalfBuddhaMoney
· 08-03 23:22
Gas es realmente difícil de soportar, una tarifa de transacción equivale a una mesa de hot pot.
EVM paralelo: un nuevo enfoque para la superación del rendimiento de la Cadena de bloques y la diversificación del ecosistema
EVM: Componente central de Ethereum
EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. A diferencia de las máquinas virtuales comunes, EVM es un motor enfocado en el cómputo, que proporciona una abstracción de cálculo y almacenamiento. Ejecuta su propio conjunto de instrucciones en bytecode, que generalmente es compilado por Solidity.
EVM es una máquina de estados casi Turing completa. "Casi" es porque todos los pasos de ejecución consumen recursos limitados de Gas, evitando así la posibilidad de bucles infinitos que podrían detener toda la plataforma.
EVM no tiene función de programación, el módulo de ejecución de Ethereum extrae transacciones de los bloques y EVM es responsable de ejecutarlas secuencialmente. El proceso de ejecución modifica el estado mundial, y después de que se complete la ejecución de una transacción, se acumula el estado, alcanzando el último estado mundial después de completar el bloque. La ejecución del siguiente bloque depende estrictamente del estado mundial después de la ejecución del bloque anterior, por lo que el proceso de ejecución lineal de las transacciones de Ethereum no puede optimizarse bien para la ejecución en paralelo.
El protocolo de Ethereum establece que las transacciones se ejecutan en orden. Aunque la ejecución en orden asegura que las transacciones y los contratos inteligentes se puedan ejecutar en un orden determinista, garantizando la seguridad, en situaciones de alta carga, puede causar congestión en la red y retrasos, que es también la razón por la cual Ethereum tiene un gran cuello de botella en el rendimiento y necesita la escalabilidad de Layer2 Rollup.
El camino de la paralelización en Layer1 de alto rendimiento
La mayoría de las Layer1 de alto rendimiento diseñan sus propias soluciones de optimización basándose en la incapacidad de Ethereum para procesar en paralelo, centrándose principalmente en la optimización de la capa de ejecución, incluyendo la máquina virtual y la ejecución paralela.
Máquina virtual
EVM está diseñado como una máquina virtual de 256 bits, con el objetivo de facilitar el procesamiento del algoritmo hash de Ethereum. Sin embargo, las computadoras que ejecutan EVM necesitan mapear los bytes de 256 bits a la arquitectura local para ejecutar contratos inteligentes, lo que hace que todo el sistema sea muy ineficiente. Por lo tanto, las Layer1 de alto rendimiento utilizan más máquinas virtuales basadas en bytecode WASM, eBPF o Move.
WASM es un formato de bytecode pequeño, de carga rápida, portátil y basado en un mecanismo de seguridad de sandbox. Los desarrolladores pueden escribir contratos inteligentes en varios lenguajes de programación, luego compilarlos en bytecode WASM y ejecutarlos. Muchos proyectos de blockchain ya han adoptado WASM como estándar.
eBPF proviene de BPF y ofrece un conjunto de instrucciones más rico, permitiendo la intervención y modificación dinámica del comportamiento del núcleo del sistema operativo sin modificar el código fuente. Los contratos inteligentes ejecutados en ciertas redes de blockchain se compilan en bytecode basado en eBPF y se ejecutan.
Move es un nuevo lenguaje de programación de contratos inteligentes, que se centra en la flexibilidad, la seguridad y la verificabilidad. El lenguaje Move está diseñado para abordar los problemas de seguridad en activos y transacciones, permitiendo que los activos y transacciones sean definidos y controlados de manera estricta.
Ejecución paralela
La ejecución paralela en blockchain significa procesar simultáneamente transacciones no relacionadas. El principal desafío para implementar la ejecución paralela es determinar qué transacciones son no relacionadas y cuáles son independientes. Las Layer1 de alto rendimiento dependen principalmente de dos métodos: el método de acceso al estado y el modelo de paralelismo optimista.
El método de acceso al estado requiere que se conozca de antemano qué parte del estado de la cadena de bloques puede acceder cada transacción, para así analizar cuáles transacciones son independientes. Algunas plataformas de blockchain adoptan este enfoque, exigiendo que las transacciones especifiquen qué cuentas u objetos se accederán, con el fin de programar la ejecución paralela de transacciones no superpuestas.
El modelo de ejecución paralela optimista asume que todas las transacciones son independientes, simplemente validando retrospectivamente esta suposición y ajustándola cuando sea necesario. Algunas blockchains utilizan el método Block-STM para aplicar la ejecución paralela optimista, donde las transacciones se establecen primero en un bloque en un orden determinado y luego se dividen para ejecutarse simultáneamente entre diferentes hilos de procesamiento.
EVM en paralelo
El concepto de EVM paralela fue propuesto en 2021, inicialmente refiriéndose a un EVM que soporta el procesamiento simultáneo de múltiples transacciones. A finales de 2023, la EVM paralela volvió a convertirse en un tema candente, provocando un auge en la adopción de la tecnología de ejecución paralela en las Layer1 compatibles con EVM.
Actualmente, se definen razonablemente como EVM paralelos tres categorías:
Algunos proyectos emergentes están desarrollando soluciones EVM paralelas, con el objetivo de mejorar significativamente la escalabilidad y la velocidad de las transacciones mediante la ejecución paralela. Estos proyectos utilizan diferentes soluciones tecnológicas, como modelos de paralelismo optimista, análisis de código estático, etc., para lograr el procesamiento paralelo de transacciones.
Al mismo tiempo, algunas blockchains no compatibles con EVM también están explorando soluciones de compatibilidad con EVM, implementando un intérprete de EVM en su entorno nativo para soportar la ejecución de contratos inteligentes de Ethereum. Estas soluciones aprovechan la capacidad de ejecución paralela de la blockchain subyacente, proporcionando un mejor rendimiento para las transacciones de EVM.
Resumen
La tecnología de paralelismo en blockchain es un tema que se discute repetidamente, pero actualmente se centra principalmente en la transformación y emulación del modelo de ejecución optimista, sin avances sustanciales hasta el momento. En el futuro, es posible que más proyectos emergentes de Layer1 se unan a la competencia de EVM paralela, y las Layer1 más antiguas también podrían implementar actualizaciones de paralelismo de EVM o soluciones compatibles con EVM.
Además de la EVM de alto rendimiento, en el campo de la blockchain también podrían surgir otras narrativas de tecnologías de máquinas virtuales, como WASM, SVM y Move VM, promoviendo el desarrollo diversificado de todo el ecosistema.