EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. Como un motor de cálculo, EVM proporciona una abstracción de cálculo y almacenamiento, similar a la especificación de la máquina virtual de Java (JVM). EVM ejecuta su propio conjunto de instrucciones de bytecode, que generalmente son compilados por Solidity.
EVM es una máquina de estado casi Turing completa. "Casi" es porque todos los pasos de ejecución consumen recursos limitados de Gas, evitando la posible situación en la que un bucle infinito detenga toda la plataforma Ethereum.
EVM no tiene función de programación, el módulo de ejecución de Ethereum toma las transacciones del bloque y el EVM es responsable de ejecutarlas secuencialmente. Durante el proceso de ejecución, se modifica el estado mundial más reciente, y después de que se completa la ejecución de una transacción, se realiza la acumulación de estado, alcanzando el estado mundial más reciente 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 es difícil de optimizar para la ejecución en paralelo.
En este sentido, el protocolo de Ethereum establece que las transacciones se ejecuten en orden. Aunque la ejecución en orden garantiza que las transacciones y los contratos inteligentes se puedan ejecutar en un orden determinista, lo que asegura la seguridad, en situaciones de alta carga, puede provocar congestión en la red y retrasos, que es también la razón por la que Ethereum enfrenta cuellos de botella en el rendimiento y necesita la escalabilidad de Layer2 Rollup.
El camino de la paralelización de Layer1 de alto rendimiento
La mayoría de las Layer1 de alto rendimiento diseñan sus propios esquemas de optimización basándose en la incapacidad de Ethereum para procesar en paralelo, enfocándose principalmente en 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 realmente EVM necesitan mapear los bytes de 256 bits a la arquitectura local para ejecutar contratos inteligentes, lo que hace que todo el sistema se vuelva muy ineficiente. Por lo tanto, en la elección de la máquina virtual, las Layer1 de alto rendimiento adoptan más a menudo máquinas virtuales basadas en WASM, bytecode eBPF o bytecode Move, en lugar de EVM.
WASM es un formato de bytecode pequeño, de carga rápida, portátil y basado en un mecanismo de seguridad sandbox. Los desarrolladores pueden escribir contratos inteligentes utilizando varios lenguajes de programación, y luego compilarlos en bytecode WASM para su ejecución. WASM ya ha sido adoptado como estándar por muchos proyectos de blockchain, incluyendo EOS, Dfinity, Polkadot, entre otros.
eBPF se origina del BPF (Berkeley Packet Filter), proporcionando un conjunto de instrucciones más rico que permite 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 Solana se compilan en bytecode SBF (basado en eBPF) y se ejecutan en su red blockchain.
Move es un nuevo lenguaje de programación de contratos inteligentes diseñado por Diem, que se centra en la flexibilidad, la seguridad y la verificabilidad. El lenguaje Move está destinado a abordar los problemas de seguridad en los activos y las transacciones, permitiendo que los activos y las transacciones sean definidos y controlados de manera estricta. Aptos y Sui utilizan variantes del lenguaje Move para escribir contratos inteligentes.
Ejecución en paralelo
La ejecución paralela en blockchain significa procesar simultáneamente transacciones no relacionadas. El principal desafío para lograr la ejecución paralela es determinar qué transacciones son no relacionadas y cuáles son independientes. La mayoría de las Layer1 de alto rendimiento dependen de dos métodos: el método de acceso al estado y el modelo de paralelismo optimista.
El método de acceso al estado necesita saber de antemano qué parte del estado de la cadena de bloques puede acceder cada transacción, para así analizar cuáles transacciones son independientes. Solana y Sui han adoptado este enfoque.
El modelo de ejecución paralela optimista asume que todas las transacciones son independientes, y simplemente verifica retrospectivamente esta suposición y realiza ajustes cuando es necesario. Aptos ha adoptado este enfoque, utilizando Block-STM (Memoria de Transacciones de Software en Bloque) para aplicar la ejecución paralela optimista.
EVM paralelo
La EVM paralela (Parallel EVM) tiene como objetivo mejorar el rendimiento y la eficiencia de la EVM existente. Actualmente, se pueden definir principalmente tres tipos de EVM paralela:
Actualización de ejecución paralela de Layer1 compatible con EVM que no utiliza tecnología de ejecución paralela, como BSC y Polygon.
Capa 1 compatible con EVM que utiliza tecnología de ejecución en paralelo, como Monand, Sei V2 y Artela.
Soluciones compatibles con EVM de Layer1 no EVM que utilizan tecnología de ejecución paralela, como Solana Neon.
Monad es una Layer1 de alto rendimiento compatible con EVM que utiliza un mecanismo PoS y un modelo de paralelismo optimista para lograr la ejecución paralela de transacciones dentro de los bloques.
Sei V2 es una actualización a gran escala de la red Sei, diseñada para ser la primera EVM completamente paralela. Al igual que Monad, Sei V2 utilizará la paralelización optimista.
El EVM++ lanzado por Artela representa una EVM paralela de alta escalabilidad + alto rendimiento, que se implementará en dos fases, siendo la primera fase diseñada en torno a la ejecución paralela.
Solana Neon es una solución desarrollada por Neon Labs para ejecutar transacciones EVM sobre Solana. Neon EVM es, de hecho, un contrato inteligente en Solana que implementa un intérprete EVM.
Resumen
La tecnología de paralelismo en blockchain es un tema en desarrollo continuo. Actualmente, se está transformando y emulando principalmente el modelo de ejecución optimista representado por el mecanismo Block-STM de Aptos. En el futuro, es posible que más proyectos emergentes de Layer1 se unan a la competencia de EVM paralela, mientras que algunos Layer1 existentes también podrían implementar actualizaciones paralelas de EVM o soluciones de compatibilidad con EVM.
Además de la narrativa de alto rendimiento del EVM, es posible que surjan desarrollos más diversificados en el ámbito de la blockchain, como la aplicación e innovación de diferentes tecnologías de máquinas virtuales como WASM, SVM y Move VM. Esta diversidad ayudará a impulsar el progreso y la innovación en todo el ecosistema de blockchain.
Ver originales
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.
13 me gusta
Recompensa
13
4
Compartir
Comentar
0/400
HalfBuddhaMoney
· 08-03 11:47
¡Esta tarifa de gas realmente no se puede soportar!
Nuevas tendencias en la paralelización de EVM: innovaciones y desafíos de Layer1 de alto rendimiento
EVM: Componente central de Ethereum
EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. Como un motor de cálculo, EVM proporciona una abstracción de cálculo y almacenamiento, similar a la especificación de la máquina virtual de Java (JVM). EVM ejecuta su propio conjunto de instrucciones de bytecode, que generalmente son compilados por Solidity.
EVM es una máquina de estado casi Turing completa. "Casi" es porque todos los pasos de ejecución consumen recursos limitados de Gas, evitando la posible situación en la que un bucle infinito detenga toda la plataforma Ethereum.
EVM no tiene función de programación, el módulo de ejecución de Ethereum toma las transacciones del bloque y el EVM es responsable de ejecutarlas secuencialmente. Durante el proceso de ejecución, se modifica el estado mundial más reciente, y después de que se completa la ejecución de una transacción, se realiza la acumulación de estado, alcanzando el estado mundial más reciente 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 es difícil de optimizar para la ejecución en paralelo.
En este sentido, el protocolo de Ethereum establece que las transacciones se ejecuten en orden. Aunque la ejecución en orden garantiza que las transacciones y los contratos inteligentes se puedan ejecutar en un orden determinista, lo que asegura la seguridad, en situaciones de alta carga, puede provocar congestión en la red y retrasos, que es también la razón por la que Ethereum enfrenta cuellos de botella en el rendimiento y necesita la escalabilidad de Layer2 Rollup.
El camino de la paralelización de Layer1 de alto rendimiento
La mayoría de las Layer1 de alto rendimiento diseñan sus propios esquemas de optimización basándose en la incapacidad de Ethereum para procesar en paralelo, enfocándose principalmente en 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 realmente EVM necesitan mapear los bytes de 256 bits a la arquitectura local para ejecutar contratos inteligentes, lo que hace que todo el sistema se vuelva muy ineficiente. Por lo tanto, en la elección de la máquina virtual, las Layer1 de alto rendimiento adoptan más a menudo máquinas virtuales basadas en WASM, bytecode eBPF o bytecode Move, en lugar de EVM.
WASM es un formato de bytecode pequeño, de carga rápida, portátil y basado en un mecanismo de seguridad sandbox. Los desarrolladores pueden escribir contratos inteligentes utilizando varios lenguajes de programación, y luego compilarlos en bytecode WASM para su ejecución. WASM ya ha sido adoptado como estándar por muchos proyectos de blockchain, incluyendo EOS, Dfinity, Polkadot, entre otros.
eBPF se origina del BPF (Berkeley Packet Filter), proporcionando un conjunto de instrucciones más rico que permite 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 Solana se compilan en bytecode SBF (basado en eBPF) y se ejecutan en su red blockchain.
Move es un nuevo lenguaje de programación de contratos inteligentes diseñado por Diem, que se centra en la flexibilidad, la seguridad y la verificabilidad. El lenguaje Move está destinado a abordar los problemas de seguridad en los activos y las transacciones, permitiendo que los activos y las transacciones sean definidos y controlados de manera estricta. Aptos y Sui utilizan variantes del lenguaje Move para escribir contratos inteligentes.
Ejecución en paralelo
La ejecución paralela en blockchain significa procesar simultáneamente transacciones no relacionadas. El principal desafío para lograr la ejecución paralela es determinar qué transacciones son no relacionadas y cuáles son independientes. La mayoría de las Layer1 de alto rendimiento dependen de dos métodos: el método de acceso al estado y el modelo de paralelismo optimista.
El método de acceso al estado necesita saber de antemano qué parte del estado de la cadena de bloques puede acceder cada transacción, para así analizar cuáles transacciones son independientes. Solana y Sui han adoptado este enfoque.
El modelo de ejecución paralela optimista asume que todas las transacciones son independientes, y simplemente verifica retrospectivamente esta suposición y realiza ajustes cuando es necesario. Aptos ha adoptado este enfoque, utilizando Block-STM (Memoria de Transacciones de Software en Bloque) para aplicar la ejecución paralela optimista.
EVM paralelo
La EVM paralela (Parallel EVM) tiene como objetivo mejorar el rendimiento y la eficiencia de la EVM existente. Actualmente, se pueden definir principalmente tres tipos de EVM paralela:
Actualización de ejecución paralela de Layer1 compatible con EVM que no utiliza tecnología de ejecución paralela, como BSC y Polygon.
Capa 1 compatible con EVM que utiliza tecnología de ejecución en paralelo, como Monand, Sei V2 y Artela.
Soluciones compatibles con EVM de Layer1 no EVM que utilizan tecnología de ejecución paralela, como Solana Neon.
Monad es una Layer1 de alto rendimiento compatible con EVM que utiliza un mecanismo PoS y un modelo de paralelismo optimista para lograr la ejecución paralela de transacciones dentro de los bloques.
Sei V2 es una actualización a gran escala de la red Sei, diseñada para ser la primera EVM completamente paralela. Al igual que Monad, Sei V2 utilizará la paralelización optimista.
El EVM++ lanzado por Artela representa una EVM paralela de alta escalabilidad + alto rendimiento, que se implementará en dos fases, siendo la primera fase diseñada en torno a la ejecución paralela.
Solana Neon es una solución desarrollada por Neon Labs para ejecutar transacciones EVM sobre Solana. Neon EVM es, de hecho, un contrato inteligente en Solana que implementa un intérprete EVM.
Resumen
La tecnología de paralelismo en blockchain es un tema en desarrollo continuo. Actualmente, se está transformando y emulando principalmente el modelo de ejecución optimista representado por el mecanismo Block-STM de Aptos. En el futuro, es posible que más proyectos emergentes de Layer1 se unan a la competencia de EVM paralela, mientras que algunos Layer1 existentes también podrían implementar actualizaciones paralelas de EVM o soluciones de compatibilidad con EVM.
Además de la narrativa de alto rendimiento del EVM, es posible que surjan desarrollos más diversificados en el ámbito de la blockchain, como la aplicación e innovación de diferentes tecnologías de máquinas virtuales como WASM, SVM y Move VM. Esta diversidad ayudará a impulsar el progreso y la innovación en todo el ecosistema de blockchain.