Máquina Virtual (VM)
16/4/2026
Máquina virtual (VM) en el contexto de blockchain es el entorno de ejecución aislado que ejecuta el código de contratos inteligentes de manera determinista en cada nodo de la red. Cada nodo completo ejecuta independientemente el mismo bytecode con los mismos inputs y debe llegar al mismo estado; sin ese determinismo, el consenso sería imposible.
Esto es diferente de una máquina virtual sistema como VMware o VirtualBox, que emula una computadora completa. Una VM de blockchain es más similar a la Máquina Virtual de Java: un intérprete limitado para un bytecode específico, sin sistema de archivos, sin red y sin operaciones no deterministas.
Por qué las blockchains necesitan una VM
Ejecutar código nativo sería rápido pero inseguro: un error o un bucle infinito intencional en un contrato podría colapsar todos los nodos a la vez. Una VM proporciona:
- Aislamiento — el código del contrato no puede leer archivos, abrir sockets o llamar al sistema operativo anfitrión
- Determinismo — mismo input, mismo output, en cada nodo y en cada hardware
- Medición — cada operación cuesta gas; cuando el gas se agota, la ejecución se detiene, previniendo ataques de denegación de servicio
- Portabilidad — el mismo bytecode se ejecuta en cualquier implementación de la especificación de la VM
EVM (Máquina Virtual de Ethereum)
La EVM es la VM de blockchain más utilizada. Es una máquina basada en pila con un tamaño de palabra de 256 bits, diseñada para coincidir con el tamaño de primitivas criptográficas como los hashes Keccak-256.
- Solidity o Vyper se compilan a bytecode de EVM
- Cada opcode tiene un costo de gas; los más complejos (SSTORE, CALL, keccak) cuestan más
- Las cadenas compatibles con EVM (Polygon, Arbitrum, Optimism, BNB Chain, Avalanche C-Chain, Base) ejecutan el mismo bytecode sin modificar, por lo que herramientas como MetaMask y Hardhat funcionan en todas ellas
SVM (Máquina Virtual de Solana)
La VM de Solana se basa en eBPF (Filtro de Paquetes de Berkeley extendido), originalmente una tecnología del núcleo de Linux, adaptada como sBPF. Los contratos se escriben en Rust o C y se compilan a bytecode sBPF.
- Sealevel — el tiempo de ejecución paralelo de Solana — ejecuta transacciones no superpuestas simultáneamente, utilizando listas de acceso a cuentas declaradas de antemano
- Basada en registros (a diferencia del diseño basado en pila de EVM), más cercana a la arquitectura física de la CPU
VMs basadas en WASM
WebAssembly (WASM) es un bytecode portátil originalmente diseñado para navegadores, cada vez más adoptado como objetivo de VM de blockchain. Las cadenas que utilizan VMs WASM incluyen NEAR, Polkadot (a través del tiempo de ejecución de pallet-contracts de Substrate), Cosmos CosmWasm y Internet Computer.
WASM es independiente del lenguaje — los desarrolladores pueden usar Rust, C++, AssemblyScript o Go — y se beneficia de un ecosistema de herramientas maduras fuera del ámbito cripto.
VMs de Capa-2
Los rollups heredan o extienden VMs existentes:
- Optimism, Arbitrum, Base — Equivalente a EVM
- zkSync Era — Compatible con EVM a través de un zkEVM personalizado
- Starknet — ejecuta la Cairo VM, diseñada específicamente para pruebas STARK
- Scroll, Polygon zkEVM, Linea — zkEVMs equivalentes a nivel de bytecode de EVM
