???? Respuesta rápida
Podemos describir la máquina virtual de Ethereum (Ethereum Virtual Machine o EVM) como el motor central y único de Ethereum con el que se ejecutan los diferentes contratos inteligentes. La EVM recoge el estado total de la red y lo distribuye entre los nodos encargados de validar las transacciones.
¿Qué es la EVM o Ethereum Virtual Machine?
Los desarrolladores de blockchain pueden lanzar sus propios smart contracts utilizando la CPU de EVM mediante algunos lenguajes de programación como Java Script, C++, Python o Solidity, el cual recoge la EVM y lo convierte en un ByteCode capaz de leer por la máquina.
Una vez creado el smart contract, se envía una transacción a un usuario o nodo de la red para poder ejecutarlo, cambiando el estado total de la EVM y enviando una copia del estado total a todos los nodos validadores.
La EVM define las reglas de cálculo con las que se ejecutarán los smart contracts en cada uno de sus nodos, mantiene el funcionamiento del protocolo de Ethereum albergando una copia de su estado total en todos sus nodos.
A diferencia de Bitcoin, Ethereum es una máquina de estado distribuida, en lugar de un libro de contabilidad distribuido, cuenta con su token nativo Ether (ETH) y permite la creación de contratos inteligentes.
¿Cómo funciona la EVM?
Para ejecutar un nuevo smart contract se debe enviar una transacción de creación a uno de los nodos, que se encargará de validar la transacción y crear una nueva cuenta de contrato sobre la blockchain.
El contrato inteligente contiene el Bytecode que se ejecutará si un usuario realiza una transacción de mensaje sobre el contrato.
Como hemos mencionado, podemos utilizar algunos lenguajes de programación para crear nuestros contratos inteligentes. Solidity fue el lenguaje creado específicamente para facilitar la creación de los contratos, este lenguaje es muy similar a JavaScript o C++.
Los desarrolladores deben crear su código mediante Solidity y luego utilizar algunas herramientas para transformar un código sencillo en OP_CODES capaz de leer la EVM.
La EVM utiliza estos OP_CODES para ejecutar todas las operaciones específicas de los contratos válidos para el protocolo de Ethereum. Sirven como interfaz para transformar un lenguaje legible para nosotros en Bytecodes capaz de leer la máquina, con una capacidad de hasta 256 OP_CODES distintos.
Si quieres más información como ésta, únete a nuestro canal de Telegram:
Redes compatibles con la EVM
A diferencia de Bitcoin, Ethereum trajo la oportunidad de poder crear un ecosistema más desenvolupado gracias a la posibilidad de crear contratos inteligentes.
La transparencia de Ethereum junto a las herramientas que proporciona hace posible que los desarrolladores puedan copiar y pegar parte del trabajo realizado por los desarrolladores de Ethereum e implementarlo en sus propios contratos sin la necesidad de crear una nueva implementación.
Podemos utilizar los códigos de la EVM para crear contratos inteligentes, aplicaciones descentralizadas e incluso cadenas de bloques independientes. Esto ha dado lugar a diferentes DEX, NFTs y blockchains que actualmente cuentan con grandes capitalizaciones e innovaciones.
Ethereum se ha convertido en el estándar para la creación de nuevas cadenas de bloques independientes, permitiendo la interoperabilidad entre cadenas de bloques de capa 1. Algunas redes que han adoptado la EVM para la creación de sus contratos inteligentes han sido Binance, Fantom, Cardano, Avalanche, Celo, Tron, Crypto.org o xDai entre muchas.
A continuación, explicamos algunos ejemplos para entender mejor las características compatibles con la EVM.
Binance
La red de Binance cuenta con su red paralela BSC para la creación y ejecución de contratos inteligentes sobre la cadena de bloques.
La BSC es compatible con EVM ya que cuenta con su funcionalidad para la creación de contratos inteligentes, esto facilita que los desarrolladores puedan transferir sus proyectos desde Ethereum a la cadena de bloques de Binance y que los usuarios puedan utilizar dApps de Ethereum como Metamask para interactuar con la red de BSC.
Polygon
Polygon es una plataforma que permite conectar y construir diferentes cadenas de bloques compatibles con EVM.
Al tratarse de una red de capa 2, Polygon mejora la escalabilidad para el procesamiento de sus transacciones con unas tarifas de gas mucho más reducidas. Los desarrolladores de Polygon pueden transferir sus propias cadenas de bloques y dApps en el lenguaje Solidity, sobre Ethereum, permitiendo una mayor interoperabilidad.
Fantom
La red principal de Fantom, Opera, está implementada con la EVM, por lo que es compatible con Ethereu
. Además Fantom utiliza el lenguaje de programación de Ethereum, Solidity, para la creación de sus contratos inteligentes, así que los desarrolladores pueden migrar sus aplicaciones descentralizadas de Ethereum a Fantom con mucha facilidad.
Avalanche
La plataforma de Avalanche admite la EVM para el uso de contratos inteligentes de Ethereum sobre la red de Avalanche de forma paralela.
Avalanche cuenta con un puente que permite la transferencia de tokens ERC-20 y ERC-721 entre la red de Avalanche y la red de Ethereum.
Celo
Las aplicaciones descentralizadas de Celo utilizan el mismo lenguaje de programación que Ethereum, Solidity.
Truffle es la herramienta de desarrollo que utiliza Celo, compatible con la EVM, para implementar los smart contracts. Gracias al Hardfork “Donut” de la red de Celo, ahora admite transacciones compatibles con Ethereum con la ayuda de algunas dApps de Ethereum como Metamask, con la que podemos interactuar con la red de Celo.
Tron
La cadena de bloques de Tron permite a los desarrolladores crear y migrar sus aplicaciones descentralizadas de Ethereum a la red de Tron, también permite la creación de tokens sobre la red de Ethereum, siendo totalmente compatible con la EVM. Tron utiliza el estándar de la EVM para la creación de sus contratos y tokens.
Cardano
Cardano lanzó una cadena de bloques paralela llamada Milkomeda, utilizada como puente para conectar la red de Cardano con la red de Ethereum.
En Milkomeda es posible la creación de “contratos inteligentes envueltos”, una nueva tecnología, que permite implementar contratos compatibles con la EVM sobre Cardano, sin la necesidad de mover los contratos nativos de la red de Cardano.
Te puede interesar…