O que é EVM (Ethereum Virtual Machine)?

11/21/2022, 9:06:51 AM
EVM é uma camada de abstração entre o código e o host que serve como garantia para manter o bom funcionamento do Ethereum. Afinal, o que é EVM? Quais são os princípios e casos de uso típicos do EVM? Vamos mergulhar mais fundo nisso.

Introdução

EVM é uma camada de abstração entre o código e o host que serve como garantia para manter o bom funcionamento do Ethereum. Afinal, o que é EVM? Quais são os princípios e casos de uso típicos do EVM? Vamos mergulhar mais fundo nisso.

Como o blockchain mais popular atualmente, o Ethereum fornece aos usuários uma variedade de aplicativos descentralizados. É o termo mais mencionado quando as pessoas se referem a DeFi, NFTs, etc. E o EVM, como parte central do Ethereum, também atrai a atenção das pessoas. Então, qual é a relação entre EVM e Ethereum?

O que é EVM?

EVM significa máquina virtual Ethereum. Conforme definido pela Ethereum, EVM é o ambiente de tempo de execução no qual todas as contas Ethereum e contratos inteligentes residem na cadeia Ethereum.

O EVM existe como uma única entidade mantida por todos os computadores conectados executando um cliente Ethereum. É o que define as regras para calcular um novo estado válido de bloco para bloco.

Como funciona o EVM?

Princípios por trás do EVM

Em vez de um livro-razão distribuído como o Bitcoin, o Ethereum é uma máquina de estado distribuída. A mudança de bloco para bloco representa uma atualização do estado de todas as contas e saldos no Ethereum. A atualização é calculada com base no código do contrato pelo EVM.


Figura: https://takenobu-hs.github.io/downloads/ethereum_evm_illustrated.pdf

EVM é uma máquina virtual baseada em pilha e executa todas as suas operações diretamente na pilha. Quando o contrato inteligente é compilado em bytecode, o EVM executa operações com base no bytecode, incluindo buscar variáveis da memória e adicionar à pilha, calcular as variáveis na pilha e armazenar variáveis na memória, etc.

Existem dois tipos principais de armazenamento de dados no EVM: memória e armazenamento. As variáveis em armazenamento serão armazenadas no Ethereum permanentemente após a execução do contrato, enquanto as variáveis em memória existem temporariamente enquanto o código está sendo executado no EVM.

Tome como exemplo a convocação de um contrato. Escrevemos um contrato com a Solidity, compilamos metadados por meio de um compilador e os publicamos no Ethereum. Quando precisamos atualizar o estado do contrato, precisamos chamar o método contract. No entanto, nem o sistema operacional nem o Windows podem executar contratos inteligentes diretamente. O EVM é necessário para fornecer um ambiente de execução para contratos inteligentes. As etapas específicas são as seguintes: Primeiro, o EVM encontra o código do contrato armazenado no Ethereum por meio do endereço do contrato; então, um ambiente de execução é gerado; finalmente, o conteúdo do contrato é convertido em bytecode e colocado no EVM para operação. O resultado obtido com a operação será armazenado como último estado no próximo bloco, completando assim o processo de atualização de estado.

Figura: https://cnodejs.org/topic/5aeecba802591040485bab2a

Implementações de EVM
Atualmente, todos os clientes Ethereum incluem uma implementação EVM. A Ethereum lançou o código-fonte de várias linguagens de programação, incluindo Python, C++, js, Go, etc., para implementar as funcionalidades do EVM. Ele ajuda os usuários a entender o princípio do EVM de uma maneira mais conveniente.

Py-EVM - Python: https://github.com/ethereum/py-evm
evmone - C++: https://github.com/ethereum/evmone
Ethereumjs - vm - JavaScript: https://github.com/ethereumjs/ ethereumjs-monorepo
eEVM - C++: https://github.com/microsoft/eevm
Hyperledger Burrow - Go: https://github.com/hyperledger/burrow

Elementos centrais do EVM

contrato inteligente

Contratos inteligentes são códigos executados exclusivamente no EVM. Eles não podem ser alterados depois de implantados. O Ethereum define, modifica e armazena o estado por meio de contratos inteligentes para obter vários aplicativos descentralizados. O EVM atua como um ambiente onde contratos inteligentes podem ser executados, o que é semelhante à relação entre uma rodovia e um carro.

Taxa de gasolina

É necessário um poder de computação significativo para executar contratos inteligentes no EVM, que consome uma certa quantidade de gás. Para melhor compreensão, pense em veículos que precisam pagar pedágio em rodovias com pedágio.
As taxas de gás ajudam a incentivar mineradores de todo o mundo a participar e fornecer poder de computação, como uma forma de tornar o Ethereum mais descentralizado. Ele também impede que os usuários enviem solicitações de operações aleatórias que podem levar ao congestionamento da Mainnet Ethereum ou protege o Ethereum de travar, evitando ataques maliciosos.

Solidez e Opcode

Os contratos inteligentes da Ethereum são escritos em Solidity e compilados em bytecode antes de serem executados no EVM. Bytecode contém opcodes, ou códigos de operação. O EVM possui 144 opcodes, cada um com funcionalidade específica, o que torna o EVM Turing-completo. Ele pode resolver qualquer tipo de problema de computação. Solidity e Opcodes nos permitem escrever contratos inteligentes complexos e implementar uma ampla variedade de funções no EVM, fornecendo assim aos usuários uma variedade de dApps.

Características do EVM

determinístico

Para o mesmo trecho de código, a saída é a mesma após ser executada em diferentes EVMs, pois não tem nada a ver com o ambiente de execução e o número de execuções. A certeza do EVM garante a confiabilidade do código e evita consequências inesperadas. Esse recurso ajuda a proteger os interesses dos usuários, especialmente quando eles estão fazendo grandes transações no Ethereum.

Isolada

EVM é como uma caixa de proteção isolada onde o código é executado. O processo em execução não prejudicará o software/hardware do computador nem afetará o protocolo subjacente do Ethereum. O isolamento do EVM impede que hackers ataquem a máquina que executa um EVM e também protege o protocolo subjacente do Ethereum de ser adulterado. Serve como uma garantia que protege o Ethereum.

Rescindível

O processo de execução do código EVM pode ser interrompido. Se o usuário executar o código errado, como um loop infinito, o mecanismo de gás pode ser implantado para encerrar o processo de execução, a fim de evitar que esse código ocupe o poder de computação indefinidamente. Antes de executar o código no EVM, o limite superior de gás deve ser definido com antecedência. Quando o gás acabar, o código parará de funcionar e o estado será revertido sem nenhuma atualização na cadeia.

Compatibilidade EVM

À medida que os usuários aumentam, o Ethereum Mainnet encontra muitos problemas, como redes congestionadas e altas taxas de gás. Limitados ao design do Ethereum, esses problemas não podem ser resolvidos radicalmente.

Nos últimos anos, existem muitas novas cadeias públicas com taxas de gás mais baixas e redes mais rápidas e cadeias de camada 2 projetadas para escalar o Ethereum. Essas cadeias são todas cadeias de contratos inteligentes, que dizem ter melhores designs subjacentes e podem ser usadas para criar uma variedade de dApps.

Essas cadeias atendem às demandas excedentes do ecossistema Ethereum e desafiam o status dominante do Ethereum. É necessário que as contrapartes Ethereum sejam compatíveis com EVM? Em relação a essa divergência, essas cadeias são divididas em duas categorias: cadeias compatíveis com EVM e cadeias não EVM.

Cadeias públicas compatíveis com EVM

Recentemente, as cadeias públicas da Camada 1 surgiram uma após a outra. Embora reconstruir um ecossistema on-chain que funcione em paralelo com o Ethereum possa superar as deficiências existentes do Ethereum, são necessários recursos humanos significativos para construir um ecossistema completo e desenvolver um dApp do zero. A falta de programadores qualificados impede o crescimento de novos ecossistemas de cadeias públicas. Para uma cadeia pública com um ecossistema subdesenvolvido, seria difícil atrair um usuário do Ethereum em um curto período de tempo.

Diante disso, algumas cadeias públicas são projetadas para serem compatíveis com EVM. Os DApps originalmente executados no Ethereum podem ser completamente transferidos para cadeias públicas compatíveis com EVM com apenas pequenas modificações no código-fonte. Ele pode não apenas maximizar o uso dos recursos de desenvolvimento, mas também fornecer aos usuários uma melhor experiência no processo de migração do Ethereum para uma nova cadeia.

No entanto, a compatibilidade EVM inevitavelmente trouxe alguns problemas. Confinadas às regras de EVM, muitas cadeias compatíveis com EVM encontram um problema em relação a como alcançar a inovação sem homogeneização. No entanto, as cadeias não EVM podem quebrar essas regras e desenvolver um novo conjunto de regras a partir do zero, alcançando assim a inovação fundamentalmente.

Atualmente, mais de 70% das cadeias públicas convencionais são compatíveis com EVM, como BSC, Avalanche, Fantom, Tron, Celo, etc. Não seria difícil para os desenvolvedores desenvolver dApps ou implantar aplicativos Ethereum nessas cadeias para maior desempenho e taxas de gás mais baixas, melhorando assim a experiência do usuário.

Algumas outras cadeias públicas não são EVM, mas desenvolveram suas próprias máquinas virtuais, como Sol, Terra, etc. Embora não sejam compatíveis com EVM, essas cadeias atraíram um grupo de usuários e instituições fiéis com seu design inovador e excelente desempenho na cadeia. Por exemplo, os dois jogos blockchain, Step N e Let me speak, que se tornaram populares em todo o mundo recentemente, são baseados na cadeia Sol e atraíram fãs entusiasmados de todo o mundo para participar.

Notavelmente, as cadeias compatíveis com EVM podem coexistir com cadeias não EVM. Algumas cadeias não EVM também começam a ser compatíveis com EVM. O processo de conseguir isso seria árduo, pois requer grandes esforços para modificar o código. Um exemplo disso é Sol, que lançou o Neon, que permite aos desenvolvedores criar dApps no EVM.

Figura: Compatibilidade EVM de cadeias públicas

Cadeias de camada 2 compatíveis com EVM

Como uma solução de escala do Ethereum, a Camada 2 é complementar ao Ethereum em vez de seu concorrente. As cadeias da Camada 2 são todas compatíveis com EVM, com um nível de compatibilidade mais alto que o da Camada 1. Para que a Camada 2 seja compatível com EVM, temos duas soluções: compatibilidade com EVM e equivalência com EVM.

As primeiras cadeias da Camada 2 são compatíveis com EVM, o que é semelhante à compatibilidade EVM das cadeias da Camada 1. Contratos inteligentes na camada 1 do Ethereum podem ser implantados na camada 2 fazendo algumas modificações. Por exemplo, o Unipig, lançado pela Optimism, é uma reconstrução completa do código Uniswap. É considerado Uniswap na Camada 2.

Existem algumas limitações para compatibilidade com EVM. Ao desenvolver contratos inteligentes em uma cadeia compatível com EVM, algumas ferramentas e estruturas de desenvolvimento baseadas em EVM podem não estar disponíveis. Além disso, para os contratos inteligentes originalmente organizados na Camada 1, os desenvolvedores ainda precisam fazer alguns ajustes para que os contratos inteligentes possam funcionar sem problemas no blockchain compatível com EVM.

A equivalência EVM visa oferecer aos desenvolvedores exatamente a mesma experiência ao desenvolver contratos inteligentes na Camada 2 e na Camada 1 do Ethereum. Isso beneficiou muito os desenvolvedores de Layer2, melhorou ainda mais a eficiência do desenvolvimento e economizou os custos de desenvolvimento e manutenção do código com base na compatibilidade do EVM.

Atualmente, as principais soluções de Camada 2, como Artbitrum, Optimism e Metis, alcançaram a equivalência EVM. A equivalência EVM pode transferir melhor os recursos do Ethereum para a Camada 2, com o objetivo de minimizar o custo de desenvolvimento e migração causado pelo dimensionamento. Espera-se que a equivalência EVM se torne o padrão principal da Camada 2 no futuro, e muitas soluções da Camada 2 terão uma corrida feroz em torno da equivalência EVM.

Conclusão

EVM é o núcleo que mantém o Ethereum funcionando. Com o estabelecimento do domínio da Ethereum, as principais cadeias públicas e as cadeias de Camada 2 seguiram ou são compatíveis com o conceito de design subjacente do EVM. Portanto, o EVM definitivamente teve um impacto profundo em todo o blockchain. O próprio EVM vem com muitos problemas, dificultando a compatibilidade das novas cadeias com o EVM. Apesar disso, os desenvolvedores têm trabalhado arduamente para fazer melhorias, o que facilitou muito o surgimento de muitas outras cadeias públicas.

Autor: Pigfly
Tradutor: Binyu
Revisores: Edward, Ashley, Cecilia
* As informações não pretendem ser e não constituem aconselhamento financeiro ou qualquer outra recomendação de qualquer tipo oferecida ou endossada pela Gate.
* Este artigo não pode ser reproduzido, transmitido ou copiado sem referência à Gate. A contravenção é uma violação da Lei de Direitos Autorais e pode estar sujeita a ação legal.

Compartilhar

Calendário Cripto

Atualizações de projeto
Etherex lançará o Token REX em 6 de agosto.
REX
22.27%
2025-08-06
Lançamento do Produto NFT AI
A Nuls lançará um produto NFT AI no terceiro trimestre.
NULS
2.77%
2025-08-06
Lançamento do dValueChain v.1.0
O Bio Protocol está prestes a lançar o dValueChain v.1.0 no primeiro trimestre. Ele visa estabelecer uma rede de dados de saúde descentralizada, garantindo registros médicos seguros, transparentes e à prova de adulterações dentro do ecossistema DeSci.
BIO
-2.47%
2025-08-06
Legendas de Vídeo Geradas por IA
A Verasity adicionará uma função de legendas de vídeo geradas por IA no quarto trimestre.
VRA
-1.44%
2025-08-06
Suporte Multi-Idioma do VeraPlayer
A Verasity adicionará suporte multilíngue ao VeraPlayer no quarto trimestre.
VRA
-1.44%
2025-08-06

Artigos Relacionados

O que é Bitcoin?
iniciantes

O que é Bitcoin?

Bitcoin, a primeira criptomoeda usada com sucesso no mundo, é uma rede descentralizada de pagamento digital peer-to-peer inventada por Satoshi Nakamoto. O Bitcoin permite que os usuários negociem diretamente sem uma instituição financeira ou terceiros.
11/21/2022, 10:12:36 AM
O que é o PolygonScan e como você pode usá-lo? (Atualização 2025)
iniciantes

O que é o PolygonScan e como você pode usá-lo? (Atualização 2025)

PolygonScan é um explorador de blockchain que permite aos usuários acessar detalhes de transações publicamente compartilhados na rede Polygon. Na atualização de 2025, agora processa mais de 5 bilhões de transações com confirmações em milissegundos, apresenta ferramentas de desenvolvedor aprimoradas, integração com Layer 2, análises avançadas, recursos de segurança melhorados e uma experiência móvel redesenhada. A plataforma ajuda os usuários a rastrear transações e obter insights mais profundos sobre o fluxo de ativos no crescente ecossistema da Polygon, que agora abriga 3,2 milhões de endereços ativos diários e $8,7 bilhões em valor total bloqueado.
11/11/2023, 6:20:25 PM
O que é EtherVista, o autoproclamado "Novo Padrão para DEX"?
intermediário

O que é EtherVista, o autoproclamado "Novo Padrão para DEX"?

Este artigo fornece uma análise aprofundada da emergente exchange descentralizada (DEX) EtherVista e seu token de plataforma, VISTA. Explora como a EtherVista visa desafiar o modelo existente de AMM (Automated Market Maker), especialmente o da Uniswap, por meio de seus mecanismos de negociação exclusivos e modelo de distribuição de taxas. O artigo também explora os contratos inteligentes da EtherVista, a tokenomia e como atrai usuários ao oferecer taxas de gás baixas e um inovador sistema de distribuição de receitas.
9/10/2024, 3:49:43 PM
O que é Coti? Tudo o que você precisa saber sobre o COTI
iniciantes

O que é Coti? Tudo o que você precisa saber sobre o COTI

Coti (COTI) é uma plataforma descentralizada e escalonável que oferece suporte a pagamentos sem atrito para finanças tradicionais e moedas digitais.
11/2/2023, 9:09:18 AM
O que é Tronscan e como você pode usá-lo em 2025?
iniciantes

O que é Tronscan e como você pode usá-lo em 2025?

Tronscan é um explorador de blockchain que vai além do básico, oferecendo gerenciamento de carteira, rastreamento de tokens, insights de contratos inteligentes e participação em governança. Até 2025, evoluiu com recursos de segurança aprimorados, análises expandidas, integração entre cadeias e experiência móvel aprimorada. A plataforma agora inclui autenticação biométrica avançada, monitoramento de transações em tempo real e um painel abrangente de DeFi. Os desenvolvedores se beneficiam da análise de contratos inteligentes alimentados por IA e ambientes de teste aprimorados, enquanto os usuários desfrutam de uma visualização unificada de portfólio multi-cadeias e navegação baseada em gestos em dispositivos móveis.
11/22/2023, 6:27:42 PM
O que é Neiro? Tudo o que você precisa saber sobre NEIROETH em 2025
intermediário

O que é Neiro? Tudo o que você precisa saber sobre NEIROETH em 2025

Neiro é um cachorro da raça Shiba Inu que inspirou o lançamento de tokens Neiro em diferentes blockchains. Em 2025, o Neiro Ethereum (NEIROETH) evoluiu para uma das principais moedas meme com um valor de mercado de $215 milhões, mais de 87.000 detentores e listagens em 12 grandes exchanges. O ecossistema agora inclui um DAO para governança comunitária, uma loja oficial de mercadorias e um aplicativo móvel. NEIROETH implementou soluções de camada 2 para melhorar a escalabilidade e consolidou sua posição entre as 10 principais moedas meme temáticas de cachorro por capitalização de mercado, apoiado por uma comunidade vibrante e influenciadores cripto líderes.
9/5/2024, 3:37:06 PM
Comece agora
Inscreva-se e ganhe um cupom de
$100
!