Voltar ao início

Ethereum Virtual Machine, o coração da rede Ethereum

Ethereum Virtual Machine, o coração da rede Ethereum

Conheça a máquina virtual da Ethereum, onde são implementados e executados os contratos inteligentes.

Luana Miyuki
Content Analyst
4/5/23

A rede Ethereum foi lançada e teve o seu primeiro bloco minerado em 30 de julho de 2015, e, a partir de então, começou a revolucionar o ecossistema cripto. Depois da rede Bitcoin trazer a sua proposta de transferência de valor entre pessoas com criptomoedas, a Ethereum adaptou essa tecnologia e projetou um "computador global distribuído" capaz de transferir dados e rodar programas de forma descentralizada. 

Sem a Ethereum, a Web3, as finanças descentralizadas (DeFi) e os tokens não fungíveis (NFTs) não teriam a forma e o poder que têm hoje, e muitas de suas tecnologias e protocolos não existiriam, já que uma das principais contribuições da rede são os contratos inteligentes: uma forma de programar a rede e todo tipo de aplicativo (dApp) criado nela.

Os contratos inteligentes são tão fundamentais para a Ethereum que existe até uma ferramenta específica para eles: a Ethereum Virtual Machine (EVM), uma máquina de computação distribuída. 

Praticamente tudo depende da EVM: a emissão de tokens, a criação de NFTs e a existência de seus marketplaces, dApps, DeFi, blockchain games, tokens esportivos ePOAPs. Todo produto ou serviço do ecossistema depende dos contratos inteligentes que são mediados pela Ethereum Virtual Machine.

O que é a Ethereum Virtual Machine (EVM)

A máquina virtual da Ethereum é o ambiente computacional em que os contratos inteligentes dessa rede e os milhões de dApps criados nela são implementados e executados. Em outras palavras, a EVM é a maior plataforma de programação em todo o ecossistema cripto.

Muitas vezes, a Ethereum Virtual Machine é definida como um "computador descentralizado", embora, na realidade, ela não seja nenhum tipo de dispositivo, mas sim uma virtualização ou simulação. As máquinas virtuais, que já existiam fora da Ethereum, permitem criar uma camada operacional no topo do sistema ou software base. Assim, são criados ambientes artificiais que podem ser usados para testar ou executar programas delicados de modo seguro que são cruciais para um ecossistema descentralizado.

A composição da Ethereum Virtual Machine

A EVM não possui hardware próprio, mas simula o trabalho de um centro de processamento e gera um ambiente para o desenvolvimento e a implementação de softwares por meio dos contratos inteligentes — por isso que se fala que ela é um computador. 

Ainda, a EVM é considerada descentralizada porque não é uma máquina específica localizada em um lugar, mas sim uma emulação acessível a partir de vários terminais, que, por sua vez, alimentam a EVM com capacidade, como uma mente coletiva. 

A máquina virtual elimina a necessidade de um galpão gigante cheio de hardware de altíssima performance, substituindo-o por um ambiente digital ao qual os usuários da rede podem adicionar voluntariamente poder de processamento em troca de receber alguns dos estímulos que a Ethereum oferece, enquanto que os desenvolvedores podem usá-la para implementar e executar os contratos inteligentes fundamentais para seus dApps. 

O que a Ethereum Virtual Machine faz

O objetivo da EVM é determinar e monitorar o status de cada bloco da rede. Isso pode soar como uma ferramenta de vigilância, mas se refere às mudanças de estado, que são indicadores ou gatilhos de ações em todos os tipos de sistemas computacionais. Por exemplo: quando algo é ligado ou desligado, ativado ou desativado, enviado ou recebido, ou quando um arquivo ou documento é movido, tem-se uma mudança de estado. 

Essas mudanças de estado geram modificações na estrutura de dados dos sistemas computacionais. Neste contexto, a EVM pode revisar as mudanças no estado da rede e dos dApps para que a Ethereum e o software que funciona em cima dela funcionem de forma descentralizada e levando em consideração questões como a saturação da rede e as prioridades de operação. 

Desta forma, a Ethereum Virtual Machine permite que qualquer desenvolvedor execute um código dentro de um ecossistema que não se baseia na confiança de terceiros, e onde a execução do software e o resultado das interações são garantidos e previsíveis. 

Como a Ethereum Virtual Machine funciona

As máquinas virtuais existem fora da Ethereum e são programas que emulam um sistema computacional com seu hardware e seu software. A EVM pode executar programas, criar arquivos e se comunicar com os nós dentro de uma rede, mas ela possui propriedades específicas. 

Quando uma transação ou operação relevante ocorre em um dApp, um contrato inteligente é executado. E e aqui que a EVM entra em ação para monitorar as mudanças de estado necessárias para continuar as operações e liquidá-las nos blocos que são gerados.

A Ethereum Virtual Machine é completamente isolada, sendo uma parte independente cujo código não é operável na rede. Isso permite que a implementação do software não atrapalhe ou cause crises na operação transacional da rede ou no gerenciamento de contas —  neste caso, nos endereços da Ethereum —, além de proteger a EVM de ataques maliciosos. 

Além disso, o protocolo base da Ethereum garante o funcionamento contínuo, ininterrupto e imutável desta máquina especial, que, no entanto, pode causar paradas por possuir um sistema de regulação interna. 

Ethereum Virtual Machine e a economia da Ethereum

A EVM pode executar qualquer programa desenvolvido em sua linguagem de programação compatível, a Solidity. Mas essa liberdade mantém a sua demanda cada vez maior à medida que o ecossistema de dApps continua a crescer. Para regular e dar prioridade para uma operação, bem como para evitar que um programa seja executado infinitamente, a EVM registra os custos de implementação e execução de contratos inteligentes, que são medidos em unidades de "gás", um tipo de taxa como a que outras redes blockchain possuem.  

Na Ethereum, o gás é usado para ordenar o tráfego e também faz parte do sistema de incentivos da rede. Quando há muita demanda operacional, mais gás é cobrado. Se alguém quiser que o processamento seja prioritário, essa pessoa deverá pagar mais gás — que é pago com ETH, a criptomoeda da Ethereum, um token de preço variável. 

Esses dois fatos combinados fazem com que duas operações semelhantes realizadas em momentos diferentes praticamente nunca paguem a mesma taxa, que é medida em dólares, o que é algo a se levar em conta na hora de calcular os custos da operação. 

A EVM e o gás da Ethereum

Ao gerenciar as taxas de gás, a EVM consolida o sistema econômico e descentralizado da Ethereum com seus custos (taxa de gás) e incentivos (pagamento de desempenho de staking, por exemplo). Cada operação de código tem um custo de gás e quanto mais complexo o código, maior a taxa de gás.

Essa taxa também funciona como um seguro contra eventuais ataques, já que o custo operacional de se realizar um ataque massivo à rede se torna impagável. 

Não apenas do ponto de vista monetário, mas também tecnológico, existem limites que definem o gás máximo que pode ser consumido em todas as transações contidas em um bloco, o que determina quantas transações entram por bloco. Atualmente, esse valor é de 21 mil unidades de gás por bloco. 

👉 Você pode se informar mais sobre o gás da Ethereum com esse documento do projeto.