Glossário

Máquina Virtual (VM)

16/04/2026

Máquina virtual (VM) no contexto de blockchain é o ambiente de execução isolado que executa o código de contratos inteligentes de forma determinística em cada nó da rede. Cada nó completo executa independentemente o mesmo bytecode com os mesmos inputs e deve chegar ao mesmo estado — sem esse determinismo, o consenso seria impossível.

Isso é diferente de uma máquina virtual sistema como VMware ou VirtualBox, que emula um computador inteiro. Uma VM de blockchain é mais próxima da Máquina Virtual Java: um interpretador específico para um bytecode específico, sem sistema de arquivos, sem rede e sem operações não determinísticas.

Por que blockchains precisam de uma VM

Executar código nativo seria rápido, mas inseguro: um bug ou um loop infinito intencional em um contrato poderia travar todos os nós de uma vez. Uma VM oferece:

  • Isolamento — o código do contrato não pode ler arquivos, abrir sockets ou chamar o sistema operacional do host
  • Determinismo — mesmo input, mesmo output, em cada nó e em cada hardware
  • Medição — cada operação custa gas; quando o gas acaba, a execução é interrompida, prevenindo ataques de negação de serviço
  • Portabilidade — o mesmo bytecode roda em qualquer implementação da especificação da VM

EVM (Máquina Virtual Ethereum)

A EVM é a VM de blockchain mais amplamente utilizada. É uma máquina baseada em pilha com um tamanho de palavra de 256 bits, projetada para corresponder ao tamanho de primitivas criptográficas como hashes Keccak-256.

  • Solidity ou Vyper compilam para bytecode EVM
  • Cada opcode tem um custo de gas; os mais complexos (SSTORE, CALL, keccak) custam mais
  • Cadeias compatíveis com EVM (Polygon, Arbitrum, Optimism, BNB Chain, Avalanche C-Chain, Base) executam o mesmo bytecode sem modificações, razão pela qual ferramentas como MetaMask e Hardhat funcionam em todas elas

SVM (Máquina Virtual Solana)

A VM da Solana é baseada em eBPF (Filtro de Pacotes Berkeley Estendido), originalmente uma tecnologia do kernel Linux, adaptada como sBPF. Os contratos são escritos em Rust ou C e compilados para bytecode sBPF.

  • Sealevel — o runtime paralelo da Solana — executa transações não sobrepostas simultaneamente, usando listas de acesso a contas declaradas antecipadamente
  • Baseada em registradores (diferente do design baseado em pilha da EVM), mais próxima da arquitetura física de CPU

VMs baseadas em WASM

WebAssembly (WASM) é um bytecode portátil originalmente projetado para navegadores, cada vez mais adotado como alvo de VM de blockchain. Cadeias que usam VMs WASM incluem NEAR, Polkadot (via o runtime de pallet-contracts do Substrate), Cosmos CosmWasm e Internet Computer.

WASM é independente de linguagem — os desenvolvedores podem usar Rust, C++, AssemblyScript ou Go — e se beneficia de um ecossistema de ferramentas maduras fora do cripto.

VMs de Camada-2

Rollups herdam ou estendem VMs existentes:

  • Optimism, Arbitrum, Base — Equivalente a EVM
  • zkSync Era — Compatível com EVM via um zkEVM personalizado
  • Starknet — executa a Cairo VM, construída especificamente para provas STARK
  • Scroll, Polygon zkEVM, Linea — zkEVMs equivalentes a EVM no nível de bytecode

Veja também