Hub Insights

Ethereum Virtual Machine (EVM): o que é e como funciona?

Ethereum Virtual Machine

INTRODUÇÃO: CONTRATOS INTELIGENTES

A Ethereum realiza transferências de ativos digitais entre carteiras de usuários, mas também serve como uma plataforma de computação para os usuários implantarem aplicativos descentralizados (dApps) e contratos inteligentes para gerenciar transações específicas na rede.

Os contratos inteligentes, ou “smart contracts”, na verdade não são exatamente contratos e nem são tão inteligentes. Na verdade, eles nada mais são do que instruções de códigos programados para executar automaticamente funções específicas no formato: “Se X, então Y”.  Em outras palavras, uma função Y é programada para acontecer automaticamente sempre que houver um gatilho X.

contratos inteligentes

 

O QUE É UMA MÁQUINA VIRTUAL?

Em geral, o termo “máquina virtual” é comumente usado para designar uma virtualização ou emulação de um computador real. É um recurso de computação que usa um software em vez de um computador físico para executar programas e implantar aplicativos. Ou seja, abstrai-se as funções de um computador real (hardware), de chamadas de sistema e de outras funcionalidades, por meio da execução de um software que realiza estas funções em seu lugar.

ethereum virtual machine

O QUE É A MÁQUINA VIRTUAL DA ETHEREUM, A ETHEREUM VIRTUAL MACHINE (EVM)?

Ao aplicarmos essa lógica para a Ethereum, podemos dizer que a Ethereum Virtual Machine (EVM) é um mecanismo de computação semelhante a outras máquinas virtuais tradicionais, só que funcionando em um ambiente ainda mais restrito.

Assim como funciona a Java Virtual Machine (JVM), por exemplo, a EVM fornece uma abstração apenas de computação e armazenamento da rede. No caso da EVM, é por meio dessa abstração que ela fica responsável por gerenciar a execução de todos os contratos inteligentes implementados na Ethereum que vimos anteriormente.

Embora a EVM não precise ser executada para transferências simples de valor, ela calcula as atualizações para o estado da rede, que é algo que muda após cada transação realizada na Ethereum. A Ethereum Virtual Machine define quais as regras utilizadas para calcular esses novos estados válidos e serve como base de toda a estrutura operacional da Ethereum.

Outro paralelo que podemos fazer é que assim como o Java Virtual Machine, a EVM também requer que linguagens de programação de alto nível, como a Solidity, sejam compiladas em um conjunto de instruções de bytecode. Esses bytecodes são instruções que vão ser interpretadas por essa máquina virtual para executar os contratos inteligentes.

Para isto funcionar, a EVM é incorporada em cada node da rede Ethereum, ficando responsável por executar as ordens destes bytecodes do contrato inteligente, atualizando o estado da rede. Veremos isto melhor mais adiante.

code e ethereum virtual machine

Em outras palavras, para sintetizar, imaginemos que cada node da rede executa uma instância da Ethereum Virtual Machine, ou seja, todos ficam gerenciando e seguindo as mesmas instruções algorítmicas para verificar as transações de contratos inteligentes a fim de alcançar e manter o consenso, deixando todo mundo na mesma página.

Por isso, a EVM é frequentemente chamada de um “computador mundial descentralizado”.

 

 

COMO A ETHEREUM VIRTUAL MACHINE (EVM) FUNCIONA?

Dizemos que o conjunto de instruções da Ethereum Virtual Machine é Turing quase-completo, permitindo que os contratos implantados na rede executem qualquer tarefa que um programa de computador comum poderia fazer. Alguns exemplos de casos de uso populares incluem:

  • A criação de tokens fungíveis que utilizam o padrão ERC-20
  • A criação de NFTs sob o padrão ERC-721
  • Interação com instrumentos DeFi
  • Pools de liquidez

 

Para que estes contratos inteligentes sejam executados corretamente, cada node deve ser capaz de verificar se as condições anteriores foram atendidas. Assim, cada nó executa uma instância Ethereum Virtual Machine que permite que eles concordem em executar as mesmas instruções, como falamos acima.

No entanto, alguns contratos inteligentes envolvem condicionalidades mais complexas, exigindo entradas de várias fontes de dados ou ativação de outros contratos inteligentes em sua infraestrutura. Sim, por vezes um contrato inteligente depende da utilização de outro contrato inteligente.

Com isso, a Ethereum Virtual Machine (EVM) fornece os meios para que todos os estados atuais dos contratos inteligentes sejam rastreados e executados na blockchain.

Na prática, isso significa que quando os usuários da Ethereum em diferentes partes do mundo procuram entrar em um acordo entre si, a EVM facilita este acordo entre contratos inteligentes e, por consequência, facilita também as transferências de valor subsequentes sem a necessidade de uma autoridade central. À medida que as condições são atendidas e os dados são transferidos, a EVM ajuda a garantir que o estado atual correto seja mantido pela rede.

banner whats criptomoedas

 

QUAL A IMPORTÂNCIA DO GAS E COMO A ETHEREUM VIRTUAL MACHINE (EVM) ARMAZENA E EXECUTA ESSES CONTRATOS?

Existem dois tipos de contas na Ethereum:

  • Externally Owned Accounts (EOA).
  • Contract Accounts (CA).

As informações relevantes para EOAs são controladas por chaves privadas, enquanto as informações relevantes para CAs são mantidas nos próprios contratos inteligentes. Transferências simples de valor de um EOA para outro não precisam envolver a EVM, mas todo o resto sim, pois envolverá uma atualização de estado da rede que precisa ser computada pela EVM.

Contratos inteligentes escritos em Solidity são compilados nos bytecode que falamos. Estes, por sua vez, contêm “operation codes” (opcodes), que são instruções para que a EVM execute tarefas específicas, como o nome sugere. Toda vez que um opcode é executado, a EVM consome “gas”, que é o recurso computacional necessário para executar processos na blockchain Ethereum. Basicamente, é uma taxa exigida pela rede em razão dos custos de computação. Os usuários devem pagar pelo gas com o token nativo ether (ETH) para executar seus contratos inteligentes e realizar as transações.

eth

O “gas” é importantíssimo pois é ele quem serve de combustível para a operação em questão. Sim, o nome é bastante sugestivo. Para cada instrução implementada por um “opcode” na EVM, a rede possui um custo de execução associado em unidades gas. Assim, quando acaba o “gas” que está alimentando aquela transação, a execução termina exatamente no momento certo e interrompe a continuidade da execução para que ela não ocorra de maneira eterna e indefinida, evitando um problema conhecido como “halting problem”.

Isso significa que a EVM é uma máquina quase completa de Turing (citamos este termo mais acima) pois ela executa qualquer programa que você jogue nela, mas somente se o programa terminar após usar uma certa quantidade de poder computacional.

 

QUAL O FUTURO DA EVM?

Mesmo com as mudanças e propostas incríveis e inovadoras que estão sendo/irão ser implementadas na rede Ethereum, como sharding, rollups, plasma etc, a menos que a camada base possa funcionar com eficiência máxima, sempre haverá limitações para o que ela pode alcançar.

Para resolver algumas destas questões, a Ethereum planeja realizar um shift da EVM para o eWASM, permitindo que a rede implante qualquer código compilado em WebAssembly, tornando o sistema muito mais rápido e eficiente.

O WebAssembly foi projetado para ser mais próximo de instruções de hardware reais, o que o torna muito melhor na tradução dos códigos e melhora o desempenho da rede.

A implementação do eWASM também será segura, altamente compatível e permitirá que a rede utilize recursos de hardware padrão para executar contratos inteligentes em uma velocidade mais alta.

A assinatura Hub Crypto oferece carteiras recomendadas para diferentes estratégias de investimentos, análises das principais moedas do mercado, encontros ao vivo e gravados, e todo suporte para você tomar decisões com segurança!

Garanta seu acesso GRATUITO, clique aqui e saiba mais! 

perfectrolex

image_pdfBaixar .PDF
Caio Goetze

Formado em Direito pela PUC-RJ e pós-graduando em Direito Digital pelo Instituto de Tecnologia e Sociedade (ITS) em parceria com a UERJ, conta com 3 anos de experiência e diversos cursos de formação acadêmica de bagagem no “criptomercado”.

Compartilhe este conteúdo nas redes socias!

Posts relacionados

plugins premium WordPress