Este artigo é um envio da comunidade. O autor é Kenny Li, cofundador da Manta Network, um protocolo programável de camada 1 de privacidade alimentado por tecnologia de prova de conhecimento zero.

As opiniões neste artigo são do colaborador/autor e não refletem necessariamente as da Binance Academy.

DR

  • Uma Máquina Virtual Ethereum de conhecimento zero (zkEVM) é uma máquina de estado Ethereum que pode executar contratos inteligentes de maneira compatível com a tecnologia de prova de conhecimento zero (ZKP).

  • Os zkEVMs estendem os recursos de rollups de conhecimento zero (zk-rollups) no Ethereum para oferecer suporte a aplicativos descentralizados (DApps).

  • Os zkEVMs facilitam a implantação de projetos Ethereum novos e existentes usando ZKPs para aprimorar o ecossistema Ethereum.

Introdução

Os desenvolvedores originais do Ethereum não consideraram a tecnologia ZKP quando propuseram a rede pela primeira vez em 2014. Nos últimos anos, no entanto, o ZKP ganhou atenção e espera-se que desempenhe um papel muito mais proeminente no espaço blockchain. Como tal, os esforços para combinar a tecnologia ZKP e a máquina virtual Ethereum intensificaram-se.

Para entender o que é um zkEVM, vamos primeiro revisar brevemente seus dois conceitos subjacentes: zk-rollups e EVM.

O que são rollups Zk?

Um rollup é uma solução de escalonamento que compila inúmeras execuções de transações fora da cadeia principal e envia os dados de volta para a rede principal como uma única transação. Esse processo aumenta o rendimento e reduz o custo de execução dessas transações.

No Ethereum, as transações dentro de um rollup são compactadas e enviadas à rede principal do Ethereum pelo custo de verificação de uma única transação. A rede principal Ethereum fornece liquidação e verifica os dados de transação contidos no rollup.

Um zk-rollup é um tipo de rollup que utiliza a tecnologia ZKP, uma tecnologia criptográfica que permite verificar a validade de uma informação sem revelar a própria informação. zk-rollups não precisam publicar todos os dados de transação na rede principal Ethereum; eles precisam apenas de diferenças de estado (como alterações no status da conta do usuário) e prova de validade, reduzindo as taxas do gás no processo.

A segurança dos zk-rollups vem da criptografia ZKP, onde meios criptográficos são usados ​​para verificar a prova e alcançar a falta de confiança. Isto é diferente de outros rollups, como os rollups optimistas, cuja segurança provém da teoria dos jogos económicos, onde os maus actores são desincentivados por perdas potenciais e os desafiantes são motivados por incentivos.

O que é EVM?

O EVM é uma máquina de estado na qual o sistema de contas Ethereum e os contratos inteligentes são executados. Cada execução de contrato inteligente aciona a transição do EVM de um estado antigo para um novo estado. O EVM define a regra para calcular estados novos e válidos de um bloco para outro.

Estado é um conceito importante no Ethereum. É uma estrutura de dados Merkle Patricia Trie que representa o estado atual do Ethereum e permite que qualquer pessoa rastreie informações de transação desde o bloco atual até o bloco gênese.

Todos os nós envolvidos na manutenção do Ethereum existem para garantir continuidade e consenso, o que permite que cada nó veja o estado atual exato. O EVM desempenha um papel crítico na manutenção desta consistência.

Como funciona um ZkEVM?

EVM não oferece suporte a ZKPs por padrão. zkEVM visa garantir a continuidade do estado Ethereum, ao mesmo tempo que fornece prova de que todas as informações estão corretas. Dessa forma, são verificados os diversos fatores envolvidos na computação desses processos, mantendo a segurança e a privacidade.

zkEVM faz isso replicando o ambiente Ethereum como zk-rollups. Ele pega o estado inicial, calcula todas as transações e, em seguida, gera um estado novo e atualizado junto com um ZKP que o acompanha. Esta prova é submetida a um verificador de contrato inteligente que verifica a exatidão da saída inicial e do novo estado sem ter que verificar todas as transações individualmente.

Como os zkEVMs são baseados no EVM, os desenvolvedores podem facilmente portar DApps Ethereum e contratos inteligentes para zkEVMs sem ter que fazer o trabalho de desenvolvimento do ZKP. Em outras palavras, os zkEVMs permitem que zk-rollups executem contratos inteligentes, além de trocas de tokens e pagamentos anteriormente suportados sem zkEVMs.

Devido ao recurso de compatibilidade do EVM, os desenvolvedores podem construir novos produtos usando as ferramentas EVM e a linguagem de programação existentes, Solidity, enquanto desfrutam da segurança aprimorada que vem com o zkEVM. Os mesmos benefícios também se aplicam aos usuários – eles podem continuar usando os mesmos DApps e ferramentas familiares, mas com segurança e privacidade adicionais.

Compatibilidade EVM versus Equivalência EVM

Quando um blockchain é chamado de compatível com EVM, significa que ele oferece um ambiente que pode implantar DApps escritos na linguagem de programação Solidity. Solidity foi projetado para desenvolver contratos inteligentes executados na rede Ethereum.

Na verdade, os desenvolvedores do Ethereum podem copiar e colar o código dos DApps existentes do Ethereum e implantá-lo em outras cadeias compatíveis com EVM com modificações mínimas. Para os usuários, qualquer endereço de cadeia compatível com EVM é igual ao endereço Ethereum.

Isso significa que os endereços são compatíveis com carteiras convencionais, como Metamask e Trust Wallet. Atualmente, as principais cadeias compatíveis com EVM incluem BNB Chain, Avalanche C-Chain e Polygon.

A compatibilidade EVM não deve ser confundida com a equivalência EVM, o que significa que, do ponto de vista do desenvolvedor DApp, os rollups da Camada 2 são quase idênticos aos da Camada 1 Ethereum.

Para usar uma analogia com o sistema operacional, a equivalência EVM é semelhante à restauração de arquivos e configurações por meio da Apple Cloud se o computador anterior e o novo computador de um usuário rodarem no sistema operacional da Apple.

Por outro lado, a compatibilidade EVM significa que se um novo computador mudar para um sistema Windows, os arquivos originais precisarão ser baixados através do armazenamento em nuvem e convertidos para recuperar configurações preferenciais e arquivos antigos.

Diferentes tipos de ZkEVMs

Gerar e verificar ZKPs diretamente usando EVM é extremamente lento porque o Ethereum não foi originalmente projetado para suportar a tecnologia ZKP. Em alguns casos, pode demorar até várias horas. No entanto, é imperativo encontrar um equilíbrio entre a compatibilidade do EVM e a eficiência do ZKP.

O fundador da Ethereum, Vitalik Buterin, categorizou os zkEVMs nos quatro tipos a seguir. Semelhante ao trilema do blockchain, cada um deles tem compensações diferentes entre a eficiência de desempenho do ZKP e a compatibilidade do EVM.

Tipo 1: Equivalência em nível de consenso — zkEVM que é completamente equivalente ao Ethereum

No nível de consenso, um zkEVM Tipo 1 – também conhecido como rollup consagrado – é equivalente ao Ethereum, e o estado e as transações da cadeia zkEVM são idênticos aos do Ethereum. Eles podem verificar blocos mutuamente e ser usados ​​diretamente com clientes de execução Ethereum.

Os zkEVMs tipo 1 tornam o próprio Ethereum mais escalável e podem ser introduzidos diretamente na rede principal do Ethereum. A desvantagem é que a eficiência do ZKP é extremamente baixa e requer uma grande quantidade de cálculos para ser verificada. A solução é usar validadores paralelos em larga escala ou circuitos integrados especializados para zk-SNARKs no futuro.

ZkEVMs tipo 1 com alta eficiência ZK seriam a forma mais ideal de zkEVM. Atualmente, existem muitos projetos construindo ou explorando este tipo de zkEVM.

Tipo 2: Equivalência em nível de bytecode — completamente equivalente a EVM

O Tipo 2 é completamente equivalente ao EVM, mas não ao Ethereum. Ele difere do Ethereum em termos de estruturas de dados (como estrutura de bloco e árvore de estado) e exclui algumas operações de pilha que não são compatíveis com ZK.

É totalmente compatível com os DApps, ferramentas de depuração e infraestrutura de desenvolvedor existentes da Ethereum. A equivalência em nível de bytecode pode acelerar os tempos de prova, embora não significativamente. Uma clara desvantagem do Tipo 2 é que ele é caro, não tem sinergia com o ZK e tem eficiência baixa e cara.

Tipo 2.5: Semelhante ao Tipo 2, mas com modificações nas taxas do gás

O Tipo 2.5 compartilha as vantagens e desvantagens do Tipo 2, mas tem taxas de gás ligeiramente mais baixas.

Tipo 3: Equivalência em nível de bytecode — quase equivalente a EVM

Baseado no Tipo 2, o Tipo 3 sacrifica ainda mais a compatibilidade para melhorar a eficiência do ZK. Ele exclui funções que são difíceis de implementar no zkEVM, como pré-compilações, portanto, alguns códigos usados ​​em DApps que exigem essa função devem ser reescritos.

Tipo 4: Equivalência em nível de linguagem de desenvolvimento - linguagem de alto nível equivalente a EVM

EVMs tipo 4 têm o desempenho ZK mais alto, mas compatibilidade relativamente abaixo da média.

Considerações finais

O principal objetivo da implementação do zkEVM é estender o suporte da computação ZKP para a execução de contratos inteligentes e, ao fazê-lo, estender DApps a todos os protocolos compatíveis com EVM. Mas as aplicações dos ZKPs não param por aqui.

A tecnologia ZKP pode ser potencialmente compatível com casos de uso Web2. A combinação de vários casos de uso Web2 com ZKP poderia tornar os aplicativos Web3 mais suaves e fáceis de usar. Também concederia aos usuários que já estão acostumados com os navegadores tradicionais da Internet acesso ao Web3 e, por sua vez, impulsionaria a adoção do Web3.

Leitura adicional

Isenção de responsabilidade e aviso de risco: Este conteúdo é apresentado a você “como está” apenas para fins informativos gerais e educacionais, sem representação ou garantia de qualquer tipo. Não deve ser interpretado como aconselhamento financeiro, jurídico ou outro aconselhamento profissional, nem tem a intenção de recomendar a compra de qualquer produto ou serviço específico. Você deve procurar aconselhamento de consultores profissionais apropriados. Quando o artigo for contribuído por um contribuidor terceirizado, observe que as opiniões expressas pertencem ao contribuidor terceirizado e não refletem necessariamente as da Binance Academy. Por favor, leia nosso aviso completo aqui para obter mais detalhes. Os preços dos ativos digitais podem ser voláteis. O valor do seu investimento pode diminuir ou aumentar e você pode não recuperar o valor investido. Você é o único responsável por suas decisões de investimento e a Binance Academy não se responsabiliza por quaisquer perdas que você possa incorrer. Este material não deve ser interpretado como aconselhamento financeiro, jurídico ou outro aconselhamento profissional. Para obter mais informações, consulte nossos Termos de Uso e Aviso de Risco.