Bloque — Comisiones — Miedo y codicia —
Glosario Calculadora fiscal Autores
Ethereum Ethereum desk

Qué es la Ethereum Virtual Machine y cómo ejecuta contratos

La Ethereum Virtual Machine es el motor que ejecuta cada contrato inteligente desplegado en la red. Entender cómo funciona explica por qué Ethereum puede hacer cosas que Bitcoin no puede, y también por qué el gas existe.

High-tech server rack in a secure data center with network cables and hardware components.

Photo by Sergei Starostin on Pexels

La Ethereum Virtual Machine (EVM) es el entorno de ejecución que procesa cada contrato inteligente de la red Ethereum. Cuando alguien interactúa con una aplicación descentralizada, intercambia tokens o llama a un protocolo DeFi, la EVM es la máquina que recibe esa orden, la ejecuta paso a paso y anota el resultado en la cadena. Sin ella, Ethereum sería solo un sistema de pagos, no una plataforma programable.

Este artículo explica qué es la EVM, cómo procesa instrucciones y por qué su diseño tiene consecuencias directas en lo que pagas cada vez que operas en Ethereum.

Una máquina que todos los nodos ejecutan a la vez

La EVM no vive en un servidor central. Cada nodo de la red Ethereum ejecuta una copia idéntica de la misma máquina virtual. Cuando se procesa un bloque nuevo, todos los nodos reproducen exactamente las mismas instrucciones y obtienen exactamente el mismo resultado. Si un nodo llegara a un resultado distinto, la red lo rechazaría.

Este diseño tiene un nombre: máquina de estados determinista. Dado un estado inicial y una instrucción, la salida es siempre la misma, sin importar qué ordenador ejecute el cálculo ni en qué país se encuentre. Eso es lo que hace posible que miles de nodos independientes, sin coordinación central, estén de acuerdo en qué dijo un contrato.

La alternativa, confiar en un servidor que ejecuta el contrato y publica el resultado, destruiría la premisa entera. Un servidor puede mentir. Mil nodos que llegan independientemente al mismo resultado, no.

Cómo procesa instrucciones la EVM

Los contratos inteligentes se escriben en Solidity u otros lenguajes de alto nivel, pero la EVM no los lee directamente. Primero pasan por un compilador que los convierte en bytecode: una secuencia de instrucciones muy simples llamadas opcodes.

Cada opcode hace una sola cosa. ADD suma dos números. MSTORE guarda un valor en memoria. CALL transfiere ETH o llama a otro contrato. La EVM lee el bytecode opcode por opcode, en orden, usando una estructura llamada pila (stack) para manejar los valores intermedios.

La pila funciona así: los datos entran por arriba y salen por arriba. Para sumar dos números, primero se apilan los dos valores y luego se ejecuta ADD, que los consume y deja el resultado. Parece sencillo porque lo es. La potencia no está en la complejidad de cada instrucción, sino en que se pueden encadenar miles de ellas para construir lógica arbitrariamente elaborada.

Hay tres zonas de memoria en la EVM que conviene distinguir:

  • Stack: temporal, solo dura durante la ejecución de la llamada actual. Acceso rápido y barato.
  • Memory: también temporal, pero permite leer y escribir bloques más grandes. Un poco más cara.
  • Storage: persistente entre bloques. Aquí se guardan los datos del contrato que deben sobrevivir a la transacción. Es la zona más cara de usar con diferencia.

Por qué existe el gas y cómo lo mide la EVM

Cada opcode tiene un coste en gas predefinido. ADD cuesta 3 unidades de gas. Escribir 32 bytes en storage cuesta 20.000 unidades. Leer un valor que ya está en storage cuesta 100 o 2.100 unidades, dependiendo de si ya estaba "caliente" en esa transacción.

Cuando envías una transacción, fijas un límite de gas: el máximo que estás dispuesto a consumir. La EVM va descontando gas opcode a opcode. Si el contrato termina de ejecutarse, el gas sobrante se te devuelve. Si se agota antes de terminar, la ejecución se revierte y pierdes el gas consumido hasta ese punto.

Este mecanismo existe por una razón concreta: sin él, alguien podría escribir un contrato con un bucle infinito y paralizar todos los nodos de la red. El gas convierte el tiempo de cómputo en dinero. Un bucle infinito agota el gas y se detiene. El atacante pierde ETH. Los nodos, protegidos.

Si quieres profundizar en cómo se calcula el precio exacto que pagas por esas unidades de gas, el artículo sobre qué son las gas fees de Ethereum y por qué suben tanto explica el mecanismo tarifa base más propina con detalle práctico.

El modelo de cuentas: EOA y contratos

En Ethereum hay dos tipos de cuentas. Las EOA (Externally Owned Accounts, cuentas de usuario), controladas por una clave privada. Y las cuentas de contrato, que no tienen clave privada: solo tienen código y storage.

Una EOA puede iniciar una transacción. Un contrato no puede iniciar nada por sí solo. Solo puede reaccionar cuando alguien lo llama. Esa llamada puede venir de una EOA o de otro contrato, lo que permite encadenar contratos: el contrato A llama al B, que llama al C, todo dentro de la misma transacción.

Cada llamada tiene su propio contexto de ejecución en la EVM: su propia pila, su propia memoria temporal y su propio límite de gas derivado del total disponible. Si una llamada anidada falla, la EVM puede revertir solo esa subcall o toda la transacción, según cómo esté programado el contrato.

La EVM como estándar: la compatibilidad EVM

Una de las decisiones más influyentes en el ecosistema blockchain de los últimos años fue la de otras redes adoptar la misma especificación de la EVM. Polygon, Arbitrum, Optimism, Base, Avalanche C-Chain y BNB Smart Chain, entre otras, son "compatibles con EVM". Eso significa que un desarrollador puede desplegar el mismo contrato compilado en cualquiera de estas redes sin modificarlo.

Para el usuario, la compatibilidad EVM implica que una wallet como MetaMask funciona en todas esas redes con el mismo par de claves. Solo cambias el RPC al que apunta la wallet, y ya operas en una red diferente con la misma interfaz.

Esta estandarización aceleró el crecimiento del ecosistema, pero también significa que los bugs de la EVM, o los patrones de contrato inseguros, se reproducen en todas esas redes a la vez. Un vector de ataque que funciona en Ethereum probablemente funciona también en cualquier cadena EVM-compatible.

Limitaciones actuales y hacia dónde va la EVM

La EVM funciona, pero tiene fricciones conocidas. El modelo de storage es caro porque escribir en la cadena es costoso por diseño. El paralelismo es limitado: las transacciones se procesan de forma secuencial dentro de cada bloque, lo que crea cuellos de botella en momentos de alta demanda. Y el bytecode EVM no es fácil de auditar ni de verificar formalmente.

La comunidad de Ethereum lleva tiempo trabajando en mejoras. El proyecto EVM Object Format (EOF) reorganiza la estructura del bytecode para separar código y datos, facilitar la verificación estática y abrir la puerta a optimizaciones de compilador. Distintas versiones de EOF han avanzado a través del proceso de propuestas (EIP) a lo largo de 2024 y 2025.

También existe la propuesta de introducir ejecución paralela en ciertos contextos, siguiendo el modelo de cadenas como Solana, aunque hacerlo sin romper el determinismo de la EVM es un problema de ingeniería no trivial.

Mientras tanto, las redes de capa 2 alivian la presión sobre la EVM principal: ejecutan transacciones fuera de la cadena base y solo publican en Ethereum los datos necesarios para verificarlas. Si no conoces cómo funciona ese mecanismo, el artículo sobre qué son las redes de capa 2 de Ethereum lo explica desde el principio.

Qué significa todo esto para el usuario

No necesitas entender cada opcode para usar Ethereum. Pero sí conviene saber que detrás de cada transacción hay una máquina que ejecuta instrucciones una a una, que cada instrucción tiene un coste, y que ese coste se traduce en el gas que aparece en tu confirmación de transacción.

Cuando el gas sube mucho, no es un impuesto arbitrario. Es la señal de que muchos contratos compiten por el mismo espacio de ejecución en los mismos bloques. Cuando eliges una red de capa 2, en realidad estás llevando esa ejecución a otra EVM, más barata, que luego se reconcilia con la principal.

La EVM es el motor silencioso de casi todo lo que ocurre en el ecosistema Ethereum. Conocerla no hace que las comisiones bajen, pero sí que dejes de pagar de más por no entender cuándo y cómo operar.

⚠ Riesgo: Los contratos inteligentes ejecutados en la EVM son código inmutable una vez desplegado. Un error en el contrato no se puede parchear como una app tradicional. Verifica siempre que los contratos con los que interactúas hayan pasado auditorías de seguridad independientes antes de depositar fondos.

La información de este artículo tiene fines educativos y no constituye asesoramiento financiero, fiscal ni legal. Las criptomonedas son activos volátiles y puedes perder todo el capital invertido. Consulta con un profesional antes de tomar decisiones.