Introdução à Máquina Virtual Ethereum (EVM): o mecanismo que executa todos os contratos inteligentes.

Introdução à Máquina Virtual Ethereum (EVM): o mecanismo que executa todos os contratos inteligentes.

Lembro-me da primeira vez que as taxas de gás consumiram metade da minha transação. Era 2021, eu estava tentando criar uma criptomoeda na OpenSea e a rede queria US$ 87 só para processá-la. Naquele momento, percebi que não tinha a menor ideia do que estava acontecendo nos bastidores. Por que custava tanto? Para onde ia o dinheiro? O que estava, de fato, executando minha transação? A resposta para todas as três perguntas era a mesma: a Máquina Virtual Ethereum.

A maioria das pessoas no mundo das criptomoedas já ouviu falar de "EVM". Bem menos gente sabe o que ela faz. Isso é importante, porque a EVM molda praticamente tudo no Ethereum e nas mais de 390 blockchains que adotaram seu design. Mais de US$ 190 bilhões em valor DeFi estão atualmente em redes EVM. Se você já usou o MetaMask, trocou tokens ou clicou em um botão em um aplicativo descentralizado (dapp), a EVM estava trabalhando nos bastidores. Os nós executam contratos inteligentes em todas essas blockchains, e a EVM é o que faz com que cada uma dessas chamadas seja executada.

Então vamos analisar isso de verdade. Não a versão de livro didático, mas a versão real.

O que é a Máquina Virtual Ethereum e por que ela é importante?

Ok, vamos começar pela versão mais simples. Sabe aqueles aplicativos de calculadora? Digita 2 + 2 e obtém 4. Chato. Agora imagine essa calculadora rodando em 10.000 celulares simultaneamente. Todos os celulares obtêm a mesma resposta. Se um celular tentar afirmar "2 + 2 = 5", os outros 9.999 rejeitam instantaneamente. Ninguém controla a calculadora, ninguém pode desligá-la e ninguém pode manipulá-la. É basicamente isso que a EVM faz, só que em vez de lição de casa de matemática, ela executa contratos inteligentes que movimentam dinheiro de verdade.

Em informática, isso é chamado de máquina de estados. O Ethereum mantém o controle de uma grande quantidade de dados: quem possui quais moedas, quais contratos inteligentes existem, quanto ether há em cada endereço, quais informações cada contrato armazena. Tudo isso é o "estado". Você envia uma transação. A EVM a compara com o estado atual. Um novo estado é gerado. Estado antigo mais transação é igual ao novo estado. Fórmula no papel: Y(S, T) = S'. Pronto.

O mais incrível é a redundância. Sua transação não chega a um único servidor na Virgínia. Ela passa por milhares de nós em toda a rede Ethereum. Cada um realiza os cálculos individualmente. Eles comparam os resultados. Coincide? Ótimo, o novo estado é registrado no blockchain. Não coincide? A versão incorreta é descartada. Sempre imagino milhares de contadores preenchendo a mesma declaração de imposto de renda. Um deles escreve um número diferente, todos param e procuram o erro.

Eis o que a diferencia do software normal. Ninguém opera a EVM. Nenhuma empresa por trás dela. Nenhum serviço de suporte. Nenhum administrador que possa silenciosamente reverter uma transação às 2 da manhã. O código é de código aberto, funciona da mesma forma em todos os nós, e a confiança vem desse enorme consenso, e não de alguma figura de autoridade dizendo "confie em mim".

evm

Como funciona a EVM: da linguagem Solidity à execução.

Deixe-me explicar o ciclo de vida de um contrato inteligente, porque, uma vez que você veja toda a cadeia de eventos, a EVM fará muito mais sentido.

Primeiro passo: você escreve o código. Solidity é a linguagem de programação escolhida por aproximadamente 90% dos desenvolvedores de EVM. Ela utiliza a sintaxe do JavaScript: chaves, funções, variáveis, o de sempre. Vyper também existe (mais próximo do Python, intencionalmente mais simples), mas Solidity é a linguagem dominante. Eis o problema que pega os novatos desprevenidos: cada linha de código custa dinheiro de verdade para ser executada. Não há ambiente de teste. Não há como reverter as alterações. Você implanta um contrato com um bug, e esse bug é permanente, a menos que você tenha implementado um mecanismo de atualização antecipadamente. Aprendi isso da pior maneira possível, vendo um amigo desenvolvedor perder o sono por causa de uma vírgula decimal mal posicionada.

Passo dois: seu código Solidity é compilado em bytecode. Pense no bytecode como a linguagem de máquina da EVM. Você escreve um código que um humano consegue ler. O compilador o transforma em uma sopa hexadecimal que a EVM realmente entende. Dentro desse hexadecimal estão os opcodes, aproximadamente 150 deles. ADD realiza a adição. SSTORE salva os dados permanentemente. CALL permite que um contrato se comunique com outro. Um opcode, uma pequena tarefa. Seu contrato encadeia milhares dessas tarefas.

A terceira etapa é onde as coisas ficam interessantes. Alguém chama seu contrato. Cada nó da rede captura a transação, carrega seu bytecode e começa a processar os opcodes sequencialmente. O processador é baseado em pilha: imagine uma pilha de pratos onde você só pode tocar o de cima. Insira um número. Insira outro número. Execute a operação ADD. Os dois números são retirados do topo, somados e o resultado é colocado de volta na pilha. Profundidade máxima de 1024 itens, cada um com 256 bits de largura.

Cada nó faz isso por conta própria. Mesmo bytecode, mesmas entradas, mesmo estado inicial. Mesma resposta sempre. Essa previsibilidade é o que faz o consenso do blockchain funcionar. Se a EVM pudesse gerar resultados diferentes em máquinas diferentes, todo o sistema desmoronaria.

Arquitetura EVM: pilha, memória e armazenamento

A EVM processa dados em três camadas. Essa parte é importante porque afeta diretamente o custo das suas transações.

A pilha é o motor de processamento. Toda a computação acontece aqui. Empilhar, desempilhar, operar, repetir. É rápido, barato (cerca de 3 gas por operação) e desaparece quando a execução termina. A maioria dos opcodes trabalha diretamente com a pilha.

A memória é como um bloco de rascunho. Você pode ler e escrever em qualquer posição nela, o que a torna mais flexível do que a pilha para coisas como strings ou grandes arrays. Mas a memória também desaparece após a transação. Em termos de custo, ela fica em um meio-termo: mais cara do que a pilha, mas muito mais barata do que o armazenamento. Ela cresce conforme a necessidade, e o custo do gás aumenta quadraticamente quanto mais memória você aloca.

Depois, há o armazenamento . Este é o mais caro, e por um bom motivo. O armazenamento é permanente. Quando seu contrato inteligente registra que Alice possui 500 tokens, esses dados são gravados na árvore de estado do Ethereum e permanecem lá. Cada nó da rede os armazena. Para sempre. Uma nova gravação no armazenamento custa 20.000 unidades de gás. Uma atualização custa 5.000 unidades de gás. Para contextualizar, uma simples transferência de ether custa 21.000 unidades de gás no total. Portanto, uma gravação no armazenamento é quase tão cara quanto uma transação básica completa.

Camada de dados Quanto tempo dura? Custo do gás Para que serve?
Pilha Desapareceu após a execução. ~3 gases por operação Matemática, lógica, comparações
Memória Transação concluída 3 gases + custo de expansão Dados temporários, argumentos da função
Armazenar Permanente 5.000-20.000 de gás por escrita Saldos de tokens, registros de propriedade, configurações

Se você já se perguntou por que implantar um contrato inteligente custa tanto, aqui está o motivo. A implantação grava todo o bytecode e os dados iniciais do contrato no armazenamento. Isso resulta em um grande número de operações de 20.000 unidades de gás acumuladas.

Se isso lhe parece familiar, é porque deveria. Computadores comuns funcionam da mesma maneira. Os registradores da CPU são rápidos, mas pequenos, como a pilha. A RAM é maior e mais lenta, como a memória. Os discos rígidos armazenam tudo, mas consomem mais tempo por gravação, como o armazenamento. Os criadores do Ethereum o configuraram dessa forma propositalmente. Eles querem que você sinta o impacto financeiro de manter dados na blockchain para sempre, para que você armazene apenas o que realmente precisa estar lá.

Taxas de gás na EVM: como o Ethereum calcula seus preços

Preciso falar sobre gás, porque é a parte mais inteligente e mais frustrante do EVM.

A EVM é Turing-completa. Em outras palavras: ela pode executar qualquer computação que você lhe atribuir, incluindo loops infinitos. Imagine alguém implantando um contrato com `while(true)` e sem custo para executá-lo. Todos os nós ficam travados. O blockchain congela. Fim de jogo.

O gás impede que isso aconteça. Cada opcode tem um preço. A operação ADD custa 3 unidades de gás. A operação SSTORE custa 5.000 ou 20.000 unidades de gás. Ao enviar uma transação, você define um orçamento de gás. O processamento termina dentro do orçamento? Você recebe um reembolso pelo que não utilizou. Atingiu o limite? Tudo é revertido, mas você ainda paga pelo gás consumido. Loops infinitos consomem todo o orçamento e a operação é interrompida.

O que sai da sua carteira é o gás usado multiplicado pelo preço do gás. O gás usado depende do que sua transação realmente faz. O preço do gás flutua de acordo com o volume de transações na rede, medido em gwei (um bilionésimo de um ether). Muitas pessoas negociando? O gás sobe. Domingo tranquilo? O gás cai.

E é aqui que a história fica interessante. Lembram-se da minha compra de US$ 87 em 2021? O gás custava regularmente entre 100 e 200 gwei naquela época. O verão do DeFi e a febre dos NFTs mantinham a rede operando em sua capacidade máxima. Avançando para o início de 2026, o preço médio do gás está em torno de 3 gwei. Uma transferência básica de ETH custa aproximadamente de US$ 0,30 a US$ 0,67. Isso representa uma queda de 96% em relação a 2021.

Ano Taxa média de transação Faixa de preço do gás O que causou isso?
2021 ~$24 100-200 gwei Mania de NFTs, yield farming DeFi
2022 $ 5-15 30-80 gwei Queda do mercado, menor atividade
2023 $ 2-8 15-40 gwei Mercado de baixa se estabilizando
2024 $0,50-2 5-15 gwei Atualização Dencun, EIP-4844
1º trimestre de 2026 $ 0,30-0,67 ~3 gwei Migração de camada 2, transações de blobs

O que mudou? Duas coisas. Primeiro, a atualização Dencun, em março de 2024, introduziu o EIP-4844, que criou o armazenamento de "blobs" para rollups. Antes dos blobs, as redes de camada 2 precisavam publicar seus dados como calldata na rede principal do Ethereum, o que era caro. Os blobs são temporários e muito mais baratos, reduzindo os custos de publicação na camada 2 em cerca de 95%. Segundo, a maior parte da atividade simplesmente migrou para as redes de camada 2. Quando sua transação de swap no Uniswap é executada no Arbitrum em vez da rede principal, a camada base permanece menos congestionada.

Nessas redes de camada 2, uma troca pode custar menos de um centavo. Arbitrum, Base e Optimism utilizam a EVM, então seu código Solidity funciona da mesma maneira. Você apenas paga uma fração do gás.

evm

Compatibilidade com a EVM: por que mais de 390 blockchains copiaram o modelo do Ethereum?

É aqui que a história do EVM deixa de ser interessante e se torna verdadeiramente significativa para todo o setor.

Quando a BNB Chain foi lançada, a Binance não inventou uma nova máquina virtual. Eles pegaram a EVM e a modificaram. A Polygon fez o mesmo. Avalanche, Fantom, Cronos, Harmony, Gnosis Chain: a mesma história. Até mesmo blockchains de camada 2 criadas especificamente para esse fim, como Arbitrum e Optimism, executam a EVM nativamente. O resultado é um ecossistema com mais de 390 blockchains compatíveis com a EVM, embora apenas cerca de 40 a 50 tenham atividade diária significativa.

Por que copiar o Ethereum em vez de criar uma solução do zero? Três razões, todas elas práticas.

Primeiro, os desenvolvedores. Existem mais de 20.000 desenvolvedores Solidity no mundo. Lance uma blockchain EVM e cada um deles poderá entregar código no primeiro dia sem precisar aprender uma nova linguagem. A Solana usa Rust. A Aptos e a Sui usam Move. Essas blockchains tiveram que construir suas equipes de desenvolvedores do zero. Uma blockchain EVM elimina esse problema completamente.

Em segundo lugar, ferramentas gratuitas. MetaMask, Hardhat, Foundry, Ethers.js, OpenZeppelin, Etherscan. Todo o conjunto de ferramentas do Ethereum funciona em qualquer blockchain da EVM sem nenhuma alteração. Mesma carteira. Mesma estrutura de testes. Mesmo explorador de blocos. Isso economiza anos de trabalho.

Terceiro, o DeFi se move com a EVM. Uniswap, Aave, Curve, SushiSwap. Todos eles estão ativos em cinco ou mais blockchains da EVM. Os contratos são copiados e colados do Ethereum para o Polygon, para o Arbitrum e para a BNB Chain. Mesmo código, mesma auditoria, mesmo modelo de segurança. Pontes conectam a liquidez. A EVM é a cola.

Mas copiar a EVM significa copiar também seus problemas. Uma transação por vez. Palavras de 256 bits em processadores de 64 bits, o que adiciona sobrecarga. Um sistema de gás que funciona, mas adiciona complexidade que as VMs mais recentes ignoram. A SVM da Solana executa transações em paralelo. A MoveVM tem um modelo de recursos que elimina categorias inteiras de bugs. A FuelVM se inspira em ideias do design moderno de CPUs.

Alguma delas alcançou a EVM em termos de adoção? Não. Nem de perto. Tecnologia melhor no papel não supera os efeitos de rede no mundo real. A EVM tem o maior número de desenvolvedores, o maior número de protocolos ativos, o maior número de padrões de código auditados e o maior número de cicatrizes por ter sido hackeada e ter sobrevivido. Em criptomoedas, onde uma única falha pode causar prejuízos de nove dígitos, as cicatrizes contam mais do que os benchmarks.

Estado do Ethereum e como a EVM mantém o consenso

Esta parte é mais técnica, mas importante. Ela explica por que os nós do Ethereum precisam de hardware real e por que salvar dados na blockchain custa uma pequena fortuna.

O Ethereum mantém uma enorme tabela de consulta. Forneça qualquer endereço e ele retorna o saldo em Ether, o nonce (contagem de transações) e, para endereços de contratos, o bytecode completo mais todos os dados armazenados. Milhões de endereços. Centenas de gigabytes. Esse é o estado do Ethereum.

Tudo isso reside em uma árvore Merkle Patricia. Resumindo: é uma árvore onde cada ramo tem seu próprio hash, e todos os hashes convergem para um hash raiz no topo. Esse hash raiz está presente em cada cabeçalho de bloco. Transfira 0,001 ETH entre duas carteiras e o hash raiz muda completamente. Os validadores verificam os blocos executando cada transação, calculando o hash raiz resultante e comparando-o. Mesmo hash? O bloco é válido. Hash diferente? O bloco é rejeitado.

Executar um nó significa manter toda essa árvore atualizada a cada bloco. Esse é, na verdade, o maior problema de escalabilidade do Ethereum. A própria VM é rápida o suficiente. O problema é que o estado continua crescendo. Cada SSTORE adiciona uma nova folha à árvore. Cada novo contrato acumula ainda mais dados. As árvores Verkle podem resolver isso. A equipe do Ethereum vem trabalhando nelas há alguns anos. Elas permitiriam que os nós verificassem os blocos sem precisar armazenar o estado completo. Se o Verkle for lançado, executar um nó ficará muito mais barato e mais pessoas poderão se juntar ao conjunto de validadores.

Implementação da EVM: uma especificação, muitos clientes

A maioria das pessoas não percebe isso: "a EVM" é uma especificação, não um programa. É um documento que diz "dadas essas entradas, produza essas saídas". Qualquer pessoa pode construir sua própria versão em qualquer linguagem que desejar, desde que siga a especificação.

O Geth é o principal. Escrito em Go. Roda na maioria dos nós do Ethereum. Mas existem outros: Nethermind (C#), Besu (Java, feito para empresas), Erigon (Go, otimizado para disco) e Reth (Rust, desenvolvido pela Paradigm). Os desenvolvedores principais querem essa diversidade. Por quê? Se 95% dos nós usam Geth e o Geth apresenta um bug crítico, toda a rede fica em apuros. Se o bug for distribuído entre cinco clientes, ele afetará apenas 20% dos nós. O restante continua funcionando normalmente.

As redes de camada 2 adicionam seu próprio toque especial. A Arbitrum criou uma versão modificada chamada Arbitrum VM. O Optimism busca a "equivalência com a EVM", ou seja, um comportamento idêntico byte a byte. O zkSync Era vai além. Ele compila o bytecode da EVM em um formato compatível com provas de conhecimento zero. O caminho de execução é totalmente diferente nos bastidores. Mas para um desenvolvedor Solidity? A aparência continua a mesma. O fato de arquiteturas radicalmente diferentes apresentarem a mesma interface para os desenvolvedores é, honestamente, um dos aspectos mais subestimados da EVM.

Como desenvolvedor, você geralmente não se importa com qual cliente processa seu contrato. Você escreve Solidity, compila para bytecode e implanta. A especificação garante o mesmo resultado em todos os lugares.

Desenvolvimento de contratos inteligentes na EVM: o que os desenvolvedores realmente enfrentam

Desenvolvedores web que tentam criar código para a EVM levam um choque de realidade. Bugs custam dinheiro de verdade. Não é possível corrigir um código em produção. Se você enviar um contrato com defeito, ele permanecerá com defeito, a menos que você tenha planejado com antecedência.

Solidity é a linguagem que alimenta mais de 90% dos contratos da EVM. As ferramentas melhoraram bastante. O Hardhat oferece JavaScript/TypeScript com plugins. O Foundry usa Rust, é mais rápido e permite escrever testes diretamente em Solidity. Ambos criam uma EVM local, permitindo testar sem custos adicionais de gás. Eu optaria pelo Foundry para qualquer projeto novo. Quando o conjunto de testes ultrapassa cem, a diferença de velocidade fica evidente.

Os padrões de tokens mantêm o ecossistema organizado. O ERC-20 abrange tokens fungíveis como USDT, LINK e UNI. O ERC-721 é para NFTs. O ERC-1155 lida com contratos multi-token. O ERC-4626 abrange cofres de rendimento. Todos eles funcionam da mesma forma em todas as blockchains da EVM. Escreva seu contrato uma vez e implante-o no Ethereum, Arbitrum, Base ou Polygon. Mesmo código, mesmo comportamento.

Segurança? Complicada. Ataques de reentrância drenaram centenas de milhões ao longo dos anos. O ataque ao DAO em 2016 dividiu o Ethereum em dois devido a uma falha de reentrância que permitiu a um atacante realizar saques em loop e drenar US$ 60 milhões. Estouros de inteiros eram uma praga até que o Solidity 0.8 adicionou verificações de valores padrão em 2021. Erros de controle de acesso ainda aparecem em códigos auditados de equipes profissionais. Ferramentas como Slither, Mythril e Certora detectam alguns bugs, mas nada substitui uma auditoria adequada. E mesmo as auditorias deixam passar algumas coisas. É assim que funciona.

Implantação atual: um token ERC-20 básico custa de US$ 5 a US$ 20 na rede principal. Um protocolo DeFi completo? Talvez algumas centenas de dólares. Em redes de camada 2? Centavos. Não é à toa que 65% dos novos contratos em 2025 foram lançados na camada 2.

O ecossistema EVM em 2026: Domínio da camada 2 e o que vem a seguir.

Há três anos, as redes de camada 2 detinham US$ 4 bilhões em TVL (Valor Total Percentual). Agora, esse valor ultrapassa US$ 50 bilhões. Só a Arbitrum possui US$ 16,6 bilhões. A Base está em US$ 10 bilhões. A Optimism estima US$ 6 bilhões. Essa mudança ocorreu porque as taxas da camada 2 caíram para quase zero. Swaps abaixo de um centavo na maioria dos rollups. Até mesmo as taxas da mainnet caíram para menos de um dólar. Antes, as pessoas diziam que o Ethereum era muito caro e que todos deveriam usar Solana. Essa ideia já não tem o mesmo impacto.

A abstração de contas (ERC-4337) mudou silenciosamente o jogo em 2025 e 2026. Carteiras inteligentes permitem que os usuários paguem taxas de gás em stablecoins, agrupem várias ações em uma única transação e recuperem contas sem frases-semente. Se você já viu um amigo desistir de usar criptomoedas porque o MetaMask o obrigou a aprovar duas notificações para uma única troca, você entende por que isso é importante. A diferença entre uma carteira de criptomoedas e um aplicativo bancário comum está diminuindo.

O que vem a seguir? Estou de olho em algumas coisas. O EOF (EVM Object Format) limpa o bytecode, tornando a validação mais barata e as ferramentas mais eficientes. Pesquisas sobre execução paralela podem permitir que a EVM processe transações independentes simultaneamente, em vez de uma por vez. Ainda é cedo, mas se funcionar, o desempenho aumentará significativamente sem nenhuma alteração para os desenvolvedores. E as árvores de Verkle estão cada vez mais perto de serem lançadas.

A competição é real, sem dúvida. A SVM da Solana oferece maior capacidade de processamento. A MoveVM introduziu padrões que previnem categorias inteiras de bugs. Mas observe os números. O ecossistema EVM detém mais de US$ 190 bilhões em TVL DeFi. O volume mensal de DEX ultrapassa US$ 400 bilhões. Mais de 20.000 desenvolvedores criam soluções para ele. Quase 11 anos de testes rigorosos. VMs mais recentes vencem benchmarks. A EVM vence em tudo o que realmente importa quando há dinheiro de verdade em jogo.

Alguma pergunta?

O Ethereum foi lançado em julho de 2015 a cerca de US$ 0,30 por ETH. Mil dólares teriam lhe rendido aproximadamente 3.333 ETH. A US$ 1.800 por ETH no início de 2026, você teria cerca de US$ 6 milhões. Claro, esse é o melhor cenário possível; você também precisaria de muita coragem para aguentar múltiplas quedas de mais de 80%. Os retornos passados das criptomoedas são notoriamente péssimos indicadores de retornos futuros.

Não. O ERC-20 é um conjunto de regras que define como os tokens fungíveis (USDT, LINK, UNI) devem se comportar. A EVM é a máquina que executa essas regras. Quando você envia USDT ou troca LINK em uma DEX, é a EVM que lê o código do contrato ERC-20 e realiza a transferência.

Não, são duas coisas diferentes. ETH é a moeda que você compra e vende. A EVM é o motor que executa os contratos inteligentes. Se o Ethereum fosse um carro, o ETH seria a gasolina e a EVM seria o motor. Você usa ETH para pagar a gasolina, e essa gasolina mantém a EVM funcionando. Mas ETH e EVM não são a mesma coisa.

Sim. O Ethereum inventou a EVM, então chamá-la de "compatível" é como perguntar se o inglês é compatível com o dicionário de inglês. Quando as pessoas falam sobre compatibilidade com a EVM, elas se referem a outras blockchains como BNB Chain, Polygon ou Avalanche, que copiaram a máquina virtual do Ethereum para que os desenvolvedores pudessem migrar seu código Solidity sem precisar reescrever uma única linha.

Você escreve código em Solidity. Um compilador o transforma em bytecode, que é o que a EVM (Máquina Virtual Ethereum) realmente lê. Nós em toda a blockchain Ethereum recebem esse bytecode e o executam uma instrução por vez. Cada nó realiza o trabalho individualmente com as mesmas entradas, portanto, todos obtêm a mesma resposta. As taxas de gás (gas) atribuem um preço a cada etapa. Dessa forma, loops infinitos não podem congelar a rede e os validadores são pagos por realizar o trabalho pesado.

Imagine isso como o motor por trás do Ethereum. Cada computador na rede executa uma cópia. Todos processam a mesma transação e chegam à mesma resposta. Nenhuma máquina individual está no comando. Ninguém pode adulterá-la. A concordância simultânea de milhares de nós é o que garante a integridade do sistema.

Ready to Get Started?

Create an account and start accepting payments – no contracts or KYC required. Or, contact us to design a custom package for your business.

Make first step

Always know what you pay

Integrated per-transaction pricing with no hidden fees

Start your integration

Set up Plisio swiftly in just 10 minutes.