Ethereum Virtual Machine (EVM) é um software essencial para operações no protocolo Ethereum. Isto posto, saiba o que é e como funciona um Ethereum Virtual Machine (EVM) no artigo abaixo.
O que é Ethereum Virtual Machine (EVM)?
Ethereum Virtual Machine (EVM) é um software que define as regras de computação do estado da rede Ethereum de bloco a bloco.
O EVM é uma parte essencial do Ethereum, pois executa contratos inteligentes, processa transações e atualiza saldos de contas.
De maneira mais simples, o EVM é uma máquina virtual ou um computador em nuvem que alimenta o protocolo Ethereum.
Assim como um computador, ele executa código e tem memória para salvar informações.
No entanto, o EVM não é apenas um único computador, mas um conjunto de milhares de máquinas em nuvem em todo o mundo.
Funções principais do EVM Gerenciar o estado da blockchain Ethereum Calcular taxas de gás
Executar contratos inteligentes
Armazenar dados
Como funciona o EVM?
Os desenvolvedores do Ethereum escrevem seu código de contrato inteligente em uma linguagem de programação chamada Solidity.
O código é então traduzido em código de byte para que o EVM possa ler as instruções.
No processo de tradução do código do Solidity para o byte code, as instruções são primeiro divididas em ‘opcodes’ ou códigos de operação.
Cada linha de código é convertida em opcodes para que o EVM saiba exatamente como executar uma transação.
Como sabemos, toda transação no Ethereum requer uma taxa de gás para ser executada.
Portanto, a relação entre opcodes e taxas de gás também é importante para entender como o EVM funciona.
Em teoria, quando você está pagando taxas de gás, na verdade está pagando pelos opcodes a serem executados pelo EVM.
Quanto mais opcodes houver, maiores serão suas taxas de gás.
Transações simples, como enviar ETH de uma conta para outra, exigirão menos gás em comparação com processos complexos, como a criação de um contrato inteligente, pois o EVM é necessário para fazer mais trabalho.
Funções principais do EVM
- Máquina virtual Turing-complete
EVM é projetado como uma máquina virtual Turing-complete. A “completude de Turing” refere-se a uma máquina que pode resolver qualquer problema se receber os recursos necessários de tempo, energia e instruções completas.
A “completude de Turing” do Ethereum é a capacidade da rede de entender e implementar acordos futuros de um contrato inteligente.
- Execução de código determinístico
O EVM executa o código de forma determinística. Um contrato inteligente específico sempre produzirá a mesma saída para a mesma entrada. Não importa onde o contrato inteligente é executado ou quem o está executando, a saída sempre será consistente para uma entrada específica.
- Isolamento
O EVM foi projetado para funcionar isoladamente do resto do sistema de computador. Isso garante que os contratos inteligentes sejam executados em um ambiente seguro.
Arquitetura do EVM
Código EVM: O código de byte que o EVM pode executar.
Estado: Ethereum é uma grande estrutura de dados que contém informações sobre contas e saldos. O estado dessas informações muda de bloco para bloco à medida que o EVM processa novas entradas para produzir saídas determinísticas.
Transações: As transações são instruções assinadas criptograficamente pelos usuários que o EVM executa. Existem dois tipos de instruções:
- As chamadas de mensagens podem ser instruções de transação simples para enviar ETH de uma conta para outra.
- A criação de contratos são instruções para criar novos contratos inteligentes.
Espaço: O EVM utiliza três componentes de espaço:
- Stack – armazenamento temporário com capacidade máxima de 1024 itens. Todas as operações são executadas no stack.
- Memória – armazenamento temporário que só pode ser acessado durante a execução do contrato inteligente. Seu conteúdo é descartado assim que a execução do contrato é concluída.
- Armazenamento – memória persistente que não se perde à medida que os dados são armazenados na blockchain Ethereum. Em comparação com o stack e a memória, o uso de memória de armazenamento resulta em taxas de gás mais altas.
Gás: A quantidade de esforço computacional necessária para executar operações em uma rede blockchain. Todo cálculo de EVM requer taxas de gás, caso contrário, a transação não será processada.
A importância da compatibilidade do EVM
O Ethereum cresceu e se tornou a rede blockchain pública de contratos inteligentes mais valiosa do mundo.
Em 21 de junho de 2023, o ecossistema de aplicativos descentralizados (dApps) da Ethereum ostentava um valor total bloqueado (TVL) de US$ 24,63 bilhões. A segunda rede mais valiosa, a Tron, detinha um TVL de US$ 5 bilhões, de acordo com a DefiLlama. Isso mostra uma clara preferência do mercado pelo Ethereum, que se estabeleceu como o blockchain preferido para finanças descentralizadas (DeFi).
Os projetos de criptografia mais recentes e outras inúmeras redes blockchain são projetados para serem compatíveis com EVM. Isso permite que o blockchain execute contratos inteligentes Ethereum. A compatibilidade com EVM permite que os desenvolvedores implantem facilmente seus contratos inteligentes no Ethereum e em várias cadeias compatíveis com EVM.
As redes compatíveis com EVM podem acessar o vasto grupo de usuários do Ethereum, o que pode ser crítico para o crescimento e a adoção em massa.
Quais cadeias são compatíveis com EVM?
Resultado Final
O software EVM é a força vital do Ethereum, pois mantém o estado do blockchain e executa contratos inteligentes.
O crescimento meteórico do Ethereum tornou o EVM um padrão da indústria, tanto que as redes blockchain rivais estão projetando seus sistemas para serem compatíveis com ele.