La EVM es la máquina virtual que opera en todos los nodos de la red Ethereum. Su función es ejecutar y validar los contratos inteligentes, garantizando la consistencia de datos entre los nodos y manteniendo la descentralización de la red.
A diferencia de Bitcoin, donde los mineros validan las transacciones, la red Ethereum requiere nodos que validen los contratos inteligentes, ya que todas las operaciones en Ethereum, como préstamos, envío/recepción de tokens, etc., se realizan a través de ellos. Por lo tanto, todos los nodos de Ethereum deben ejecutar una EVM para participar en el proceso de validación y recibir recompensas en ETH.
En la red Ethereum, la EVM funciona como un sandbox, un espacio aislado donde se realizan pruebas y se ejecuta código sin afectar a la red externa. El aislamiento de la EVM garantiza que el proceso de validación de los nodos no interfiera con el funcionamiento de la red.
La EVM puede considerarse el corazón de la red Ethereum.
Además, las redes compatibles con EVM implementan contratos inteligentes con un lenguaje similar al de Ethereum: Solidity. Estas redes requieren una máquina virtual capaz de validar Solidity, que es la EVM.
Por lo tanto, una blockchain EVM es una red que utiliza el mismo lenguaje de contratos inteligentes y la misma EVM que Ethereum.
Modelo de funcionamiento de la EVM
El término «libro mayor distribuido» se utiliza en redes como Bitcoin para describir las reglas que permiten que la red funcione de forma segura.
Sin embargo, en Ethereum existe una función que contribuye al desarrollo del ecosistema: los contratos inteligentes.
Por lo tanto, el término «libro mayor distribuido» no se aplica a Ethereum, sino que se utiliza un término más complejo: máquina de estado distribuida.
El estado de Ethereum es un conjunto de datos en la red. Este estado se actualiza cada vez que se añade un bloque a la red.
Ethereum puede cambiar el estado de un bloque a otro siempre que se cumplan las reglas de la red, al igual que Bitcoin. Estas reglas son establecidas por la EVM.
Los estados de la red, como el gas, los datos, etc., se encuentran en la EVM.
Además, los contratos inteligentes de Ethereum están escritos en Solidity, por lo que la EVM también se encarga de convertir este lenguaje de programación a bytecode.
El bytecode es código máquina que almacena opcodes (códigos de operación) para que la red Ethereum pueda entender y ejecutar las instrucciones directamente.
¿Qué es una EVM Blockchain?
Una EVM blockchain es una red que utiliza la máquina virtual EVM y contratos inteligentes escritos en Solidity.
Los desarrolladores de dApps y blockchain no suelen tardar mucho en construir plataformas, gracias a la similitud del lenguaje de programación. Esto facilita la creación de dApps que pueden interactuar y conectarse con otras EVM blockchains.
¿Por qué tantos desarrolladores quieren construir blockchains compatibles con EVM?
La razón es que Ethereum es la red con el ecosistema más grande del mercado cripto, con un volumen diario de transacciones de alrededor de 2 mil millones de dólares y un TVL que alcanzó los 108 mil millones de dólares, equivalente al 65% del TVL del mercado DeFi.
Para una blockchain o dApp, la compatibilidad con EVM facilita la conexión con el próspero ecosistema de Ethereum en comparación con las blockchains no compatibles con EVM.
Ventajas de la EVM Blockchain
Para los usuarios:
El uso de blockchains compatibles con EVM suele tener las siguientes ventajas:
- Familiaridad: La mayoría de las redes compatibles con EVM ofrecen una experiencia e interfaz similares. Acciones como interactuar con dApps, aprobar tokens o firmar con una wallet son similares a las del ecosistema Ethereum.
- Nuevas utilidades y productos: La familiaridad de los usuarios con la interfaz de las redes EVM, la aparición de nuevas blockchains EVM proporciona más utilidades y productos. Esto amplía las opciones de los usuarios en cuanto a actividades financieras entre diferentes redes.
Para los desarrolladores:
- Curva de aprendizaje reducida: En las redes EVM, las herramientas y el lenguaje para desarrollar dApps son similares, lo que simplifica el trabajo de los desarrolladores, ya que pueden construir dApps en múltiples redes EVM.
- Mayor reconocimiento de marca: Las dApps con reputación en ciertos ecosistemas pueden expandirse fácilmente a blockchains con alta compatibilidad con EVM, aumentando así su visibilidad.
Desventajas de la EVM Blockchain
La EVM Blockchain tiene muchas ventajas y se considera una tecnología esencial para la red Ethereum, pero ninguna tecnología es perfecta ni está exenta de inconvenientes.
Estas son algunas desventajas de la EVM Blockchain:
Riesgo de hackeo:
La EVM permite que las dApps se implementen en múltiples blockchains. Sin embargo, si una dApp sufre un ataque entre cadenas (cross-chain attack), como el de Poly Network en agosto de 2021, las consecuencias pueden ser graves para una dApp multi-red e incluso afectar, en mayor o menor medida, a los ecosistemas.
Además, las redes EVM utilizan el mismo lenguaje de programación, Solidity. Por lo tanto, es frecuente que los atacantes que conocen Solidity encuentren vulnerabilidades y ataquen las redes EVM.
Auditorías de múltiples contratos inteligentes en múltiples blockchains:
Para algunos desarrolladores, aplicar la EVM a una blockchain o construir una dApp en una EVM blockchain implica la posibilidad de expandirse y conectarse con otros ecosistemas EVM. Sin embargo, cada blockchain requiere auditorías independientes y el coste de auditar contratos inteligentes es elevado.
Comisiones de transacción elevadas:
En las EVM blockchains, las comisiones de gas suelen ser altas cuando hay muchas transacciones o cuando la cantidad de datos en la red aumenta. Por ejemplo, en Ethereum, la comisión de transacción cuando la red tiene poca actividad es de entre 7 y 10 dólares, y en redes como Avalanche o Starknet, ronda 1-2 dólares.
¿Qué es una Non-EVM Blockchain?
Una Non-EVM blockchain es una red que no es compatible con la EVM. Utilizan lenguajes de programación diferentes para los contratos inteligentes. Por ejemplo, Solana utiliza Rust y C++, Cardano usa Haskell/Plutus, etc.
Debido a las diferencias en los lenguajes de programación, las redes EVM y Non-EVM no pueden interactuar entre sí.
Ventajas de las Non-EVM Blockchain
Ethereum fue una de las primeras redes en utilizar contratos inteligentes con la máquina virtual EVM. Generaciones posteriores como Solana, Sui, Aptos… decidieron modificar el lenguaje de programación de la EVM, utilizando otros lenguajes. Como resultado, estas redes suelen tener un rendimiento, velocidad y escalabilidad superiores a las EVM blockchains.
Desventajas de las Non-EVM Blockchain
A pesar de su buen funcionamiento y bajas comisiones de transacción, las Non-EVM blockchain no pueden expandirse a las redes EVM.
Relación entre las comisiones de gas y la EVM
Según el yellow paper de Ethereum de Gavin Wood, la EVM es quasi Turing complete, una máquina de Turing casi perfecta. Su única limitación es que su capacidad de cálculo depende del límite de gas.
El gas es la unidad que representa el coste de computación y la EVM es responsable de realizar estos cálculos. En otras redes EVM, el mecanismo de cálculo es similar al de Ethereum. Por lo tanto, cuanto más compleja sea la transacción, más gas deberá pagar el usuario para que la EVM la procese.
Además, los usuarios de wallets Web3 conocen el término «gas limit», que es la cantidad máxima de gas que la EVM utilizará para calcular la transacción. Una transacción normal requiere al menos 21.000 de gas limit. Si el límite de gas es mayor, la EVM podrá procesar la transacción más rápidamente.