¿Qué es la Ethereum Virtual Machine (EVM)y cómo funciona?

  • La Ethereum Virtual Machine,  tiene la función de permitir la ejecución de programas o smart contracts con la finalidad de desplegar sobre esta blockchain una serie de funcionalidades añadidas para que los usuarios puedan disfrutar de las mismas.
  • A través de la EVM, Ethereum brinda las condiciones necesarias para que los desarrolladores innoven en la red; expandiendo el ecosistema de aplicaciones descentralizadas y de contratos inteligentes.


Ethereum es una blockchain reconocida por el potencial de su tecnología. De hecho, ETH, el token nativo de Ethereum, es la segunda criptomoneda más grande del mercado debido a la popularidad de su cadena de bloques.

Ethereum es la blockchain que abrió paso a las finanzas descentralizadas (DeFi) y a los Tokens no fungibles (NFT). Y, entre las características que hacen especial a Ethereum, se encuentra la Ethereum Virtual Machine (EVM), pero, ¿qué es y  cómo funciona? A continuación ofrecemos una guía detallada sobre qué es la Ethereum Virtual Machine.

Aprendiendo qué es la Ethereum Virtual Machine

A diferencia de Bitcoin, Ethereum permite una función más poderosa a la del simple libro distribuido: Los contratos inteligentes. Para ello, Ethereum es una distributed state machine, esto significa que es una abstracción computacional que puede estar exactamente en un número finito de estados en un momento dado.

En el caso de Ethereum, su estado es una gran estructura de datos que contiene todas las cuentas y saldos pero, además, el estado de la máquina, el cual puede cambiar de bloque a bloque.

De esta manera, la Máquina Virtual de Ethereum, o Ethereum Virtual Machine (EVM), forma parte del núcleo de la arquitectura de la Blockchain, y en consecuencia, es quién define las reglas específicas de cambios de estado de bloque a bloque.

En sí, EVM es el programa que ejecuta los Smart Contracts proporcionando un tiempo determinado para que estos se ejecuten en la red de Ethereum. Por ende, es el motor de cálculo que se comporta como una computadora descentralizada con millones de proyectos ejecutables.

El éxito de Ethereum como la blockchain preferida por los desarrolladores reside en la EVM que fue diseñada por Gavin Wood y conceptualizada en 2013 por Vitalik Buterin. EVM se encuentra escrito en el lenguaje de programación C++ y usa el compilador LLVM Project.

¿Cómo funciona la Máquina Virtual de Ether?

El EVM realiza una abstracción completa del sistema y, de esa manera, evita que un programador atente contra la seguridad de la red. Su objetivo es averiguar cuál será el estado general de Ethereum para cada bloque en la blockchain.

El término "estado" en el contexto de Ethereum se refiere a una enorme estructura de datos llamada "Merkle Patricia Trie modificado". Por cada entrada que recibe la EVM, esta produce una salida que es de naturaleza determinista y sigue una función matemática simple.

"Dado un antiguo estado válido (S) y un nuevo conjunto de transacciones válidas (T), la función de transición del estado Ethereum Y(S, T) produce un nuevo estado de salida válido S'", explica Ethereum.

Ejemplo visual del cambio de estado en la Blockchain de Ethereum. Adaptación de imagen obtenida en "Ethereum EVM Ilustrated" por Takenobu T.

De esta manera, cuando ocurre una operación en la red y se ejecuta un contrato, la EVM va a monitorear los cambios de estado necesarios para continuar con las operaciones y que estas se asienten en el bloque que se va generando.

En sí, opera como una máquina de apilamiento que empuja valores transitorios con una profundidad de 1024 elementos; cada uno de los cuales es una palabra de 256 bits.

Asimismo, EVM es Turing completo, lo cual implica que puede realizar cualquier paso lógico en una función computacional.

Características de la EVM

  • La EVM es una parte independiente cuyo código no es operable.
  • Para los desarrolladores la EVM es el programa general que ejecuta programas más pequeños.
  • Está enfocada a brindar seguridad y en la ejecución de código en computadoras repartidas por todo el mundo.
  • Le brinda la libertad a los desarrolladores de escribir los smart contracts en una variedad de lenguajes de programación.
  • El contrato inteligente que se desarrolla en la EVM, así como las aplicaciones, son completamente descentralizadas.
  • Le permite a los desarrolladores llevar a cabo un proyecto de una variedad de aplicaciones descentralizadas que se pueden ejecutar sobre una misma red.

Beneficios de la EVM

Ethereum Virtual Machine ofrece una serie de beneficios que favorecen al sector de las criptomonedas.

Gracias a la forma en cómo opera, los desarrolladores pueden ejecutar un código sin preocuparse por las operaciones en el resto de la red, además, le brinda la posibilidad de ejecutar contratos inteligentes con consenso distribuido. Esto significa que, en caso de que falle un nodo, no habrá un impacto negativo en la ejecución del contrato inteligente o las aplicaciones.

A través de la EVM, Ethereum brinda las condiciones necesarias para que los desarrolladores innoven en la red, expandiendo el ecosistema de aplicaciones descentralizadas y de contratos inteligentes.

Inconvenientes de la EVM

A pesar de que la EVM ofrece una gran variedad de beneficios para el entorno de las criptomonedas, tiene una serie de inconvenientes que deben ser tomados en consideración.

El mayor inconveniente tiene que ver con las tarifas de transacción. En la blockchain de Ethereum, las tarifas que se pagan por transacción son conocidas como Gas. Dependiendo de la complejidad del contrato inteligente y de la congestión de la red en un momento determinado, el gas que se debe pagar por operación puede ser mayor o menor, y dada la elevada congestión de red que ha experimentado la red, las altas tarifas son un gran inconveniente.

Adicionalmente, dado que Solidity es el lenguaje de programación mayormente utilizado, se requiere que los desarrolladores tengan la experiencia adecuada. Esto porque se debe buscar que el contrato inteligente o la aplicación sea lo más eficiente posible. Cualquier requisito adicional de cálculo que se deba realizar aumentará los costos de gas y, en consecuencia, será una gran traba para la adopción del proyecto. Saber codificar es una cosa fundamental en Ethereum.

Y, por último pero no menos importante, hay un pequeño problema de centralización. Sí, la tecnología en sí misma da paso a la descentralización. Sin embargo, una parte significativa de los nodos de Ethereum se encuentran alojados en servidores de nube centralizados.

Pensamientos finales sobre la EVM

Ethereum es una blockchain que proporciona a los desarrolladores todo un ecosistema descentralizado que permite la creación de contratos inteligentes y aplicaciones descentralizadas.

Estas herramientas son precisamente las que le dan vida a ecosistemas de la Web3 tan relevantes como lo son DeFi y NFT. Por su parte, la Ethereum Virtual Machine es el entorno computacional en donde estas herramientas se implementan y se ejecutan. Puede ser considerada como la plataforma de programación en Ethereum.


Te podría interesar: