Máquina Virtual

A máquina virtual Ethereum (EVM) é uma máquina virtual baseada em pilha de Turing que executa contratos inteligentes na blockchain Ethereum.

A virtual machine (VM) is a software-based emulation of a physical computer system. It operates as a self-contained environment that runs its own operating system (guest OS) and applications, independent of the underlying hardware (host machine). Virtualization technology allows multiple VMs to run concurrently on a single physical host, each with its own virtualized hardware resources such as CPU, memory, storage, and network interfaces. This abstraction is managed by a hypervisor, which is a layer of software (Type 1 runs directly on hardware, Type 2 runs on top of a host OS) responsible for creating, running, and managing the VMs. VMs provide numerous benefits, including hardware independence, allowing applications to run on different hardware configurations without modification; resource isolation, preventing issues in one VM from affecting others or the host; and efficient resource utilization, by consolidating multiple workloads onto fewer physical servers. They are widely used for server consolidation, testing and development environments, disaster recovery, running legacy applications, and creating isolated security sandboxes. Trade-offs include performance overhead compared to bare-metal execution due to the hypervisor layer, and the need for sufficient host resources to support multiple VMs effectively. Managing VM lifecycles, storage, and networking also requires specialized expertise.

        graph LR
  Center["Máquina Virtual"]:::main
  Rel_hypervisor["hypervisor"]:::related -.-> Center
  click Rel_hypervisor "/terms/hypervisor"
  Rel_virtualization["virtualization"]:::related -.-> Center
  click Rel_virtualization "/terms/virtualization"
  classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
  classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
  classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
  classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
  linkStyle default stroke:#4b5563,stroke-width:2px;

      

🧒 Explique como se eu tivesse 5 anos

A EVM é como o motor dentro do computador [Ethereum](/pt/terms/ethereum). Ela lê instruções especiais (bytecode) de contratos inteligentes e executa as ações, como um chef seguindo uma receita passo a passo. Cada passo custa um pouquinho de dinheiro "gás" para garantir que o cozimento não demore para sempre.

🤓 Expert Deep Dive

A Máquina Virtual Ethereum (EVM) é um ambiente de execução determinístico, baseado em pilha, projetado para contratos inteligentes. Sua função principal é processar chamadas de transações e transições de estado na rede Ethereum. A especificação da EVM define um conjunto de opcodes, um tamanho de palavra de 256 bits e um mecanismo de agendamento de gas para medir o esforço computacional. O determinismo é fundamental; cada nó que executa o mesmo bytecode com o mesmo estado inicial deve chegar ao estado final idêntico. Isso é alcançado através de uma adesão rigorosa à função de transição de estado da EVM. O mecanismo de gas, embora evite o abuso de recursos, introduz restrições econômicas que impactam significativamente o design de dApps e a experiência do usuário, especialmente em relação aos custos de transação e limitações de throughput. As compensações arquitetônicas incluem as limitações inerentes de uma arquitetura baseada em pilha para computações complexas e os desafios na otimização da eficiência de gas para a execução de contratos inteligentes. As escolhas de design da EVM influenciaram projetos subsequentes de máquinas virtuais de blockchain, mas também destacam a busca contínua por maior desempenho e taxas de transação mais baixas, levando a inovações como soluções de Camada 2 e ambientes de execução alternativos.

📚 Fontes