EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. Es un motor de cálculo que proporciona una abstracción de computación y almacenamiento, similar a la máquina virtual de Java. EVM ejecuta su propio conjunto de instrucciones de bytecode, que generalmente está compilado por Solidity.
EVM es una máquina de estados casi Turing completa. "Casi" se debe a que todos los pasos de ejecución consumen recursos limitados de Gas, por lo que la ejecución de cualquier contrato inteligente dado se limitará a un número finito de pasos de cálculo, evitando así 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 se encarga de ejecutarlas secuencialmente. Durante el proceso de ejecución, se modifica el estado del mundo más reciente; después de que se completa la ejecución de una transacción, se realiza la acumulación de estados, llegando al estado del mundo más reciente después de completar el bloque. La ejecución del siguiente bloque depende estrictamente del estado del mundo 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.
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 contratos inteligentes puedan llevarse a cabo en un orden determinista, asegurando la seguridad, en situaciones de alta carga, esto puede llevar a congestión y retrasos en la red, lo que también explica por qué Ethereum tiene un gran cuello de botella en su rendimiento y necesita la escalabilidad de Layer2 Rollup.
El camino de paralelismo de Layer1 de alto rendimiento
La mayoría de las Layer 1 de alto rendimiento están diseñadas con soluciones de optimización basadas en la incapacidad de Ethereum para procesar en paralelo. Aquí solo hablaremos de la optimización de la capa de ejecución, que es 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 manejo del algoritmo hash de Ethereum, produciendo claramente una salida de 256 bits. Sin embargo, las computadoras que ejecutan EVM deben mapear los bytes de 256 bits a la arquitectura local para ejecutar contratos inteligentes, lo que hace que todo el sistema sea muy ineficiente e impráctico. Por lo tanto, en términos de selección de máquinas virtuales, las Layer1 de alto rendimiento adoptan más frecuentemente máquinas virtuales basadas en WASM, eBPF bytecode o Move bytecode, 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, que permite a los desarrolladores escribir contratos inteligentes en 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, incluidos EOS, Dfinity, Polkadot, entre otros. Ethereum también integrará WASM en el futuro, garantizando que la capa de ejecución de Ethereum sea más eficiente y simple, adecuada para ser una plataforma de computación completamente descentralizada.
eBPF es la evolución de BPF, que originalmente se utilizaba para el filtrado eficiente de paquetes de red. Después de su evolución, se formó eBPF, que ofrece un conjunto de instrucciones más rico y permite la intervención dinámica en el núcleo del sistema operativo y la modificación de su comportamiento sin cambiar el código fuente. Posteriormente, esta tecnología salió del núcleo y desarrolló un tiempo de ejecución eBPF en espacio de usuario, que tiene alto rendimiento, seguridad y portabilidad. Los contratos inteligentes ejecutados en cierta cadena de bloques se compilan en SBF( basado en bytecode eBPF) y se ejecutan en su red de cadena de bloques.
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. El verificador de bytecode de Move es una herramienta de análisis estático que analiza el bytecode de Move y determina si cumple con las reglas necesarias de seguridad de tipos, memoria y recursos, sin necesidad de ser implementado a nivel de contrato inteligente y revisado en tiempo de ejecución. Algunas nuevas cadenas de bloques emergentes han heredado Move, o han escrito sus contratos inteligentes a través de versiones personalizadas.
Ejecución en paralelo
La ejecución paralela en blockchain significa procesar transacciones no relacionadas al mismo tiempo. Considera las transacciones no relacionadas como eventos que no se afectan entre sí. Por ejemplo, si dos personas intercambian tokens en diferentes plataformas de comercio, sus transacciones pueden procesarse simultáneamente. Sin embargo, si están realizando transacciones en la misma plataforma, es posible que necesiten ejecutarse en un orden específico.
El principal desafío de la ejecución paralela es determinar qué transacciones no son relevantes 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 poder analizar qué transacciones son independientes.
En algunas cadenas de bloques públicas, el contrato inteligente ( es sin estado, ya que no puede acceder por sí mismo a ningún estado que persista durante todo el proceso de la transacción. Para acceder o mantener el estado, el programa necesita utilizar cuentas. Cada transacción debe especificar qué cuentas se accederán durante la ejecución de la transacción, de esta manera el tiempo de procesamiento de la transacción puede programar transacciones paralelas no superpuestas, garantizando al mismo tiempo la consistencia de los datos.
En algunas cadenas de bloques públicas, cada contrato inteligente es un módulo, compuesto por definiciones de funciones y estructuras. Las estructuras se instancian en las funciones y se pueden pasar a otros módulos mediante llamadas a funciones. Las instancias de las estructuras almacenadas en tiempo de ejecución existen como objetos, y hay tres tipos diferentes de objetos: objeto propietario, objeto compartido y objeto inmutable. La estrategia de paralelización es similar a la mencionada cadena de bloques pública, y las transacciones también deben especificar qué objetos operar.
El modelo optimista de paralelismo opera bajo la suposición de que todas las transacciones son independientes, simplemente validando retrospectivamente esta suposición y ajustándola cuando sea necesario.
Algunas cadenas de bloques públicas utilizan el método de memoria de transacciones de software de bloques Block-STM) para aplicar la ejecución paralela optimista. En Block-STM, las transacciones se configuran primero en el bloque en un orden determinado y luego se dividen entre diferentes hilos de procesamiento para su ejecución simultánea. Al procesar estas transacciones, el sistema rastrea las ubicaciones de memoria modificadas por cada transacción. Después de cada ronda de procesamiento, el sistema verifica todos los resultados de las transacciones. Si detecta que alguna transacción ha tocado una ubicación de memoria modificada por transacciones anteriores, borra su resultado y vuelve a ejecutarla. Este proceso continúa hasta que se han procesado todas las transacciones en el bloque.
EVM en paralelo
La EVM paralela se mencionó por primera vez en 2021, refiriéndose en ese momento a una EVM que soporta el procesamiento simultáneo de múltiples transacciones, con el objetivo de mejorar el rendimiento y la eficiencia de la EVM existente. Las soluciones representativas incluyen una EVM paralela implementada por una plataforma basada en Block-STM, así como EVM paralelas desarrolladas en colaboración con algunas cadenas de bloques públicas.
Pero a finales de 2023, figuras reconocidas en la industria mencionaron de manera coincidente la tendencia de los EVM paralelos al contemplar el año 2024, lo que provocó un auge en la adopción de Layer1 compatibles con EVM que utilizan tecnología de ejecución paralela, incluyendo Monand y Sei.
Hoy en día, algunas soluciones compatibles con EVM en ciertas cadenas de bloques públicas, Layer2 Rollup de SVM de Ethereum, Layer2 Rollup de la máquina virtual Move de Ethereum, y Layer1 de capa de ejecución modular, entre otras, han colocado la etiqueta de EVM paralelo, lo que resulta deslumbrante.
Solo hay tres categorías que pueden definirse razonablemente como EVM paralelo:
Actualización de ejecución paralela de Layer1 compatible con EVM que no ha adoptado tecnología de ejecución paralela;
Capa 1 compatible con EVM que utiliza tecnología de ejecución en paralelo;
Solución compatible con EVM de Layer1 no compatible con EVM que utiliza tecnología de ejecución paralela.
Algunos de los principales Layer 1 compatibles con EVM no necesitan presentación, aquí se presentan brevemente algunos proyectos emergentes.
Monad es una capa de alto rendimiento compatible con EVM que utiliza un mecanismo PoS, diseñada para mejorar significativamente la escalabilidad y la velocidad de las transacciones mediante la ejecución paralela. Monad permite la ejecución paralela de transacciones dentro de un bloque para aumentar la eficiencia. Utiliza un modelo de paralelismo optimista, comenzando la ejecución de nuevas transacciones antes de que se complete la ejecución de la etapa anterior. Para hacer frente a resultados incorrectos, Monad rastrea las entradas/salidas y vuelve a ejecutar las transacciones inconsistentes. Un analizador de código estático puede predecir dependencias, evitando la paralelización inválida y volviendo a un modo simple en caso de incertidumbre. Esta ejecución paralela aumenta el rendimiento al tiempo que reduce la probabilidad de fallos en las transacciones.
Sei es una cadena pública basada en Cosmos SDK, diseñada específicamente para DeFi. Sei V2 es una actualización amplia de la red Sei, destinada a convertirse en la primera EVM completamente paralela. Al igual que Monad, Sei V2 utilizará paralelización optimista. Esto permite que la blockchain ejecute transacciones simultáneamente, sin necesidad de que los desarrolladores definan ninguna dependencia. Cuando ocurren conflictos, la blockchain rastreará cada parte del almacenamiento que toca cada transacción y volverá a ejecutar estas transacciones en orden. Este proceso continuará recursivamente hasta que se resuelvan todos los conflictos no resueltos.
Artela es una red blockchain escalable que permite a los desarrolladores construir aplicaciones descentralizadas ricas en funciones. El EVM++ lanzado por Artela representa un EVM paralelo de alta escalabilidad + alto rendimiento, que se implementará en dos fases. La primera fase se diseñará en torno a la ejecución paralela, y sobre la base de la ejecución paralela, se garantizará la escalabilidad de la potencia de cálculo de los nodos de la red a través de la computación elástica, logrando finalmente un espacio de bloques elástico. En la ejecución paralela, las transacciones se agruparán según el análisis de conflictos de dependencia de las transacciones para soportar la ejecución paralela.
Una solución compatible con EVM en una cadena de bloques pública es una solución que se utiliza para ejecutar transacciones EVM sobre dicha cadena de bloques. Este EVM es, de hecho, un contrato inteligente en la cadena de bloques pública, en el que se implementa un intérprete de EVM, compilado en código de bytes SBF. Este EVM implementa un conjunto del modelo de transacciones y modelo de cuentas de Ethereum, donde los usuarios solo necesitan pagar las tarifas de GAS de EVM para enviar transacciones. Las tarifas de la red de la cadena de bloques pública son pagadas por Proxy. La cadena de bloques pública exige que las transacciones proporcionen una lista de cuentas, y las transacciones empaquetadas no son la excepción, por lo que la responsabilidad de Proxy incluye generar esta lista de cuentas, al mismo tiempo que también obtiene la capacidad de ejecución paralela de transacciones en la cadena de bloques pública.
Proyectos similares que utilizan EVM para ejecutar contratos inteligentes y lograr compatibilidad con EVM incluyen otros proyectos. Teóricamente, algunas nuevas cadenas públicas también pueden adoptar este enfoque para lograr compatibilidad con EVM sin invasividad, y hay equipos trabajando en esto. Este proyecto es un marco modular que se utiliza para construir y desplegar infraestructura, aplicaciones y cadenas de bloques basadas en Move en cualquier entorno distribuido. Sus módulos pueden convertir de manera fluida los códigos de operación de EVM a códigos de operación de Move, lo que significa que los proyectos de Solidity pueden aprovechar las ventajas de rendimiento y seguridad de Move sin necesidad de una sola línea de código en Move.
La compatibilidad con EVM permite a los desarrolladores migrar fácilmente sus aplicaciones de Ethereum a la cadena, sin necesidad de realizar modificaciones a gran escala, lo cual es una buena dirección para construir un ecosistema.
Resumen
La tecnología de paralelismo en blockchain es un tema recurrente, la narrativa aparece de vez en cuando, pero actualmente se centra principalmente en la modificación y imitación del modelo de ejecución optimista representado por el mecanismo Block-STM de Aptos, sin avances sustanciales, por lo que es difícil mantener el interés.
Mirando hacia el futuro, habrá más nuevos proyectos emergentes de Layer1 que se unirán a la competencia paralela de EVM, y para algunos Layer1 antiguos también se implementarán actualizaciones paralelas de EVM o soluciones compatibles con EVM. Ambos caminos convergen, y surgirán más nuevas narrativas relacionadas con la mejora del rendimiento.
Sin embargo, en comparación con la narrativa del EVM de alto rendimiento, es posible que la blockchain florezca y surjan narrativas similares a WASM, SVM y Move VM, lo cual podría ser más prometedor.
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.
14 me gusta
Recompensa
14
3
Compartir
Comentar
0/400
MeaninglessApe
· 08-01 20:45
¿No te cansas de hablar de EVM?
Ver originalesResponder0
DaoResearcher
· 08-01 20:36
Citando la sección 2.3 del libro amarillo de ETH, el grado de acoplamiento de la máquina de estados en el patrón Singleton está por verificar.
Resumen del desarrollo de la tecnología EVM paralela: desde Layer1 de alto rendimiento hasta la exploración de proyectos emergentes
EVM: Componente central de Ethereum
EVM es el núcleo de Ethereum, responsable de ejecutar contratos inteligentes y procesar transacciones. Es un motor de cálculo que proporciona una abstracción de computación y almacenamiento, similar a la máquina virtual de Java. EVM ejecuta su propio conjunto de instrucciones de bytecode, que generalmente está compilado por Solidity.
EVM es una máquina de estados casi Turing completa. "Casi" se debe a que todos los pasos de ejecución consumen recursos limitados de Gas, por lo que la ejecución de cualquier contrato inteligente dado se limitará a un número finito de pasos de cálculo, evitando así 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 se encarga de ejecutarlas secuencialmente. Durante el proceso de ejecución, se modifica el estado del mundo más reciente; después de que se completa la ejecución de una transacción, se realiza la acumulación de estados, llegando al estado del mundo más reciente después de completar el bloque. La ejecución del siguiente bloque depende estrictamente del estado del mundo 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.
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 contratos inteligentes puedan llevarse a cabo en un orden determinista, asegurando la seguridad, en situaciones de alta carga, esto puede llevar a congestión y retrasos en la red, lo que también explica por qué Ethereum tiene un gran cuello de botella en su rendimiento y necesita la escalabilidad de Layer2 Rollup.
El camino de paralelismo de Layer1 de alto rendimiento
La mayoría de las Layer 1 de alto rendimiento están diseñadas con soluciones de optimización basadas en la incapacidad de Ethereum para procesar en paralelo. Aquí solo hablaremos de la optimización de la capa de ejecución, que es 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 manejo del algoritmo hash de Ethereum, produciendo claramente una salida de 256 bits. Sin embargo, las computadoras que ejecutan EVM deben mapear los bytes de 256 bits a la arquitectura local para ejecutar contratos inteligentes, lo que hace que todo el sistema sea muy ineficiente e impráctico. Por lo tanto, en términos de selección de máquinas virtuales, las Layer1 de alto rendimiento adoptan más frecuentemente máquinas virtuales basadas en WASM, eBPF bytecode o Move bytecode, 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, que permite a los desarrolladores escribir contratos inteligentes en 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, incluidos EOS, Dfinity, Polkadot, entre otros. Ethereum también integrará WASM en el futuro, garantizando que la capa de ejecución de Ethereum sea más eficiente y simple, adecuada para ser una plataforma de computación completamente descentralizada.
eBPF es la evolución de BPF, que originalmente se utilizaba para el filtrado eficiente de paquetes de red. Después de su evolución, se formó eBPF, que ofrece un conjunto de instrucciones más rico y permite la intervención dinámica en el núcleo del sistema operativo y la modificación de su comportamiento sin cambiar el código fuente. Posteriormente, esta tecnología salió del núcleo y desarrolló un tiempo de ejecución eBPF en espacio de usuario, que tiene alto rendimiento, seguridad y portabilidad. Los contratos inteligentes ejecutados en cierta cadena de bloques se compilan en SBF( basado en bytecode eBPF) y se ejecutan en su red de cadena de bloques.
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. El verificador de bytecode de Move es una herramienta de análisis estático que analiza el bytecode de Move y determina si cumple con las reglas necesarias de seguridad de tipos, memoria y recursos, sin necesidad de ser implementado a nivel de contrato inteligente y revisado en tiempo de ejecución. Algunas nuevas cadenas de bloques emergentes han heredado Move, o han escrito sus contratos inteligentes a través de versiones personalizadas.
Ejecución en paralelo
La ejecución paralela en blockchain significa procesar transacciones no relacionadas al mismo tiempo. Considera las transacciones no relacionadas como eventos que no se afectan entre sí. Por ejemplo, si dos personas intercambian tokens en diferentes plataformas de comercio, sus transacciones pueden procesarse simultáneamente. Sin embargo, si están realizando transacciones en la misma plataforma, es posible que necesiten ejecutarse en un orden específico.
El principal desafío de la ejecución paralela es determinar qué transacciones no son relevantes 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 poder analizar qué transacciones son independientes.
En algunas cadenas de bloques públicas, el contrato inteligente ( es sin estado, ya que no puede acceder por sí mismo a ningún estado que persista durante todo el proceso de la transacción. Para acceder o mantener el estado, el programa necesita utilizar cuentas. Cada transacción debe especificar qué cuentas se accederán durante la ejecución de la transacción, de esta manera el tiempo de procesamiento de la transacción puede programar transacciones paralelas no superpuestas, garantizando al mismo tiempo la consistencia de los datos.
En algunas cadenas de bloques públicas, cada contrato inteligente es un módulo, compuesto por definiciones de funciones y estructuras. Las estructuras se instancian en las funciones y se pueden pasar a otros módulos mediante llamadas a funciones. Las instancias de las estructuras almacenadas en tiempo de ejecución existen como objetos, y hay tres tipos diferentes de objetos: objeto propietario, objeto compartido y objeto inmutable. La estrategia de paralelización es similar a la mencionada cadena de bloques pública, y las transacciones también deben especificar qué objetos operar.
El modelo optimista de paralelismo opera bajo la suposición de que todas las transacciones son independientes, simplemente validando retrospectivamente esta suposición y ajustándola cuando sea necesario.
Algunas cadenas de bloques públicas utilizan el método de memoria de transacciones de software de bloques Block-STM) para aplicar la ejecución paralela optimista. En Block-STM, las transacciones se configuran primero en el bloque en un orden determinado y luego se dividen entre diferentes hilos de procesamiento para su ejecución simultánea. Al procesar estas transacciones, el sistema rastrea las ubicaciones de memoria modificadas por cada transacción. Después de cada ronda de procesamiento, el sistema verifica todos los resultados de las transacciones. Si detecta que alguna transacción ha tocado una ubicación de memoria modificada por transacciones anteriores, borra su resultado y vuelve a ejecutarla. Este proceso continúa hasta que se han procesado todas las transacciones en el bloque.
EVM en paralelo
La EVM paralela se mencionó por primera vez en 2021, refiriéndose en ese momento a una EVM que soporta el procesamiento simultáneo de múltiples transacciones, con el objetivo de mejorar el rendimiento y la eficiencia de la EVM existente. Las soluciones representativas incluyen una EVM paralela implementada por una plataforma basada en Block-STM, así como EVM paralelas desarrolladas en colaboración con algunas cadenas de bloques públicas.
Pero a finales de 2023, figuras reconocidas en la industria mencionaron de manera coincidente la tendencia de los EVM paralelos al contemplar el año 2024, lo que provocó un auge en la adopción de Layer1 compatibles con EVM que utilizan tecnología de ejecución paralela, incluyendo Monand y Sei.
Hoy en día, algunas soluciones compatibles con EVM en ciertas cadenas de bloques públicas, Layer2 Rollup de SVM de Ethereum, Layer2 Rollup de la máquina virtual Move de Ethereum, y Layer1 de capa de ejecución modular, entre otras, han colocado la etiqueta de EVM paralelo, lo que resulta deslumbrante.
Solo hay tres categorías que pueden definirse razonablemente como EVM paralelo:
Actualización de ejecución paralela de Layer1 compatible con EVM que no ha adoptado tecnología de ejecución paralela;
Capa 1 compatible con EVM que utiliza tecnología de ejecución en paralelo;
Solución compatible con EVM de Layer1 no compatible con EVM que utiliza tecnología de ejecución paralela.
Algunos de los principales Layer 1 compatibles con EVM no necesitan presentación, aquí se presentan brevemente algunos proyectos emergentes.
Monad es una capa de alto rendimiento compatible con EVM que utiliza un mecanismo PoS, diseñada para mejorar significativamente la escalabilidad y la velocidad de las transacciones mediante la ejecución paralela. Monad permite la ejecución paralela de transacciones dentro de un bloque para aumentar la eficiencia. Utiliza un modelo de paralelismo optimista, comenzando la ejecución de nuevas transacciones antes de que se complete la ejecución de la etapa anterior. Para hacer frente a resultados incorrectos, Monad rastrea las entradas/salidas y vuelve a ejecutar las transacciones inconsistentes. Un analizador de código estático puede predecir dependencias, evitando la paralelización inválida y volviendo a un modo simple en caso de incertidumbre. Esta ejecución paralela aumenta el rendimiento al tiempo que reduce la probabilidad de fallos en las transacciones.
Sei es una cadena pública basada en Cosmos SDK, diseñada específicamente para DeFi. Sei V2 es una actualización amplia de la red Sei, destinada a convertirse en la primera EVM completamente paralela. Al igual que Monad, Sei V2 utilizará paralelización optimista. Esto permite que la blockchain ejecute transacciones simultáneamente, sin necesidad de que los desarrolladores definan ninguna dependencia. Cuando ocurren conflictos, la blockchain rastreará cada parte del almacenamiento que toca cada transacción y volverá a ejecutar estas transacciones en orden. Este proceso continuará recursivamente hasta que se resuelvan todos los conflictos no resueltos.
Artela es una red blockchain escalable que permite a los desarrolladores construir aplicaciones descentralizadas ricas en funciones. El EVM++ lanzado por Artela representa un EVM paralelo de alta escalabilidad + alto rendimiento, que se implementará en dos fases. La primera fase se diseñará en torno a la ejecución paralela, y sobre la base de la ejecución paralela, se garantizará la escalabilidad de la potencia de cálculo de los nodos de la red a través de la computación elástica, logrando finalmente un espacio de bloques elástico. En la ejecución paralela, las transacciones se agruparán según el análisis de conflictos de dependencia de las transacciones para soportar la ejecución paralela.
Una solución compatible con EVM en una cadena de bloques pública es una solución que se utiliza para ejecutar transacciones EVM sobre dicha cadena de bloques. Este EVM es, de hecho, un contrato inteligente en la cadena de bloques pública, en el que se implementa un intérprete de EVM, compilado en código de bytes SBF. Este EVM implementa un conjunto del modelo de transacciones y modelo de cuentas de Ethereum, donde los usuarios solo necesitan pagar las tarifas de GAS de EVM para enviar transacciones. Las tarifas de la red de la cadena de bloques pública son pagadas por Proxy. La cadena de bloques pública exige que las transacciones proporcionen una lista de cuentas, y las transacciones empaquetadas no son la excepción, por lo que la responsabilidad de Proxy incluye generar esta lista de cuentas, al mismo tiempo que también obtiene la capacidad de ejecución paralela de transacciones en la cadena de bloques pública.
Proyectos similares que utilizan EVM para ejecutar contratos inteligentes y lograr compatibilidad con EVM incluyen otros proyectos. Teóricamente, algunas nuevas cadenas públicas también pueden adoptar este enfoque para lograr compatibilidad con EVM sin invasividad, y hay equipos trabajando en esto. Este proyecto es un marco modular que se utiliza para construir y desplegar infraestructura, aplicaciones y cadenas de bloques basadas en Move en cualquier entorno distribuido. Sus módulos pueden convertir de manera fluida los códigos de operación de EVM a códigos de operación de Move, lo que significa que los proyectos de Solidity pueden aprovechar las ventajas de rendimiento y seguridad de Move sin necesidad de una sola línea de código en Move.
La compatibilidad con EVM permite a los desarrolladores migrar fácilmente sus aplicaciones de Ethereum a la cadena, sin necesidad de realizar modificaciones a gran escala, lo cual es una buena dirección para construir un ecosistema.
Resumen
La tecnología de paralelismo en blockchain es un tema recurrente, la narrativa aparece de vez en cuando, pero actualmente se centra principalmente en la modificación y imitación del modelo de ejecución optimista representado por el mecanismo Block-STM de Aptos, sin avances sustanciales, por lo que es difícil mantener el interés.
Mirando hacia el futuro, habrá más nuevos proyectos emergentes de Layer1 que se unirán a la competencia paralela de EVM, y para algunos Layer1 antiguos también se implementarán actualizaciones paralelas de EVM o soluciones compatibles con EVM. Ambos caminos convergen, y surgirán más nuevas narrativas relacionadas con la mejora del rendimiento.
Sin embargo, en comparación con la narrativa del EVM de alto rendimiento, es posible que la blockchain florezca y surjan narrativas similares a WASM, SVM y Move VM, lo cual podría ser más prometedor.