Ethereum Virtual Machine (EVM)
Ambiente de execução que roda os contratos inteligentes da Ethereum e de redes compatíveis, processando o código de forma idêntica em todos os nós.
Pontos-chave
- A máquina virtual da Ethereum, ou EVM, é o ambiente que executa os contratos inteligentes da rede, processando o código da mesma forma em todos os nós.
- Ela garante que qualquer contrato produza o mesmo resultado em qualquer nó, o que é essencial para o consenso sobre o estado da rede.
- Diversas outras redes adotaram a EVM, criando um padrão comum que permite reaproveitar contratos e ferramentas entre elas.
O que é a EVM?
A máquina virtual da Ethereum é um computador virtual que roda em cada nó da rede e executa os contratos inteligentes. Ela recebe o código do contrato e os dados de uma transação, processa as instruções e atualiza o estado da blockchain conforme o resultado. Por ser padronizada, garante que a execução seja idêntica em todos os participantes, o que mantém todos de acordo sobre o que aconteceu.
Como funciona
Contratos inteligentes são escritos em linguagens de alto nível, como Solidity, e depois convertidos em instruções que a EVM entende. Quando uma transação chama um contrato, cada nó executa essas instruções em sua própria cópia da EVM e chega ao mesmo resultado. Essa determinismo é o que permite à rede concordar sobre o novo estado sem precisar de uma autoridade central.
Cada instrução executada consome uma quantidade de gas, o que limita quanto trabalho uma transação pode exigir e protege a rede contra código que rode indefinidamente. Se o gas fornecido acaba antes de a execução terminar, ela é revertida, embora o custo até ali não seja devolvido.
Como a EVM virou um padrão, muitas outras redes a adotaram. Isso criou um ecossistema amplo em que contratos, carteiras e ferramentas escritos para uma rede compatível funcionam em várias, ampliando o alcance dos desenvolvedores.
Por que importa
A EVM é a base técnica de boa parte das finanças descentralizadas e dos tokens em circulação. Para uma empresa que constrói sobre esse ecossistema, escolher uma rede compatível com a EVM significa acesso imediato a um conjunto maduro de ferramentas e a contratos já testados, em vez de começar do zero.
Limitações
A execução idêntica em todos os nós tem custo de desempenho, e a capacidade da EVM é limitada, o que motivou soluções de escala como as segundas camadas. A complexidade dos contratos também amplia a superfície de falhas, e erros na EVM ou em contratos podem ter efeitos amplos justamente por causa da compatibilidade que os conecta.