O que é a ZkEVM e como ela pode melhorar o ecossistema da Ethereum?
P√°gina Inicial
Artigos
O que é a ZkEVM e como ela pode melhorar o ecossistema da Ethereum?

O que é a ZkEVM e como ela pode melhorar o ecossistema da Ethereum?

Avançado
Publicado em Apr 14, 2023Atualizado em Jun 15, 2023
8m

Este artigo é um envio da comunidade. O autor é Kenny Li, cofundador da Manta Network, um protocolo de Layer-1 de privacidade programável, fomentado pela tecnologia de zero-knowledge proof (prova de conhecimento zero). 

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

TL;DR

  • A m√°quina virtual de conhecimento zero da Ethereum (zkEVM) √© uma m√°quina de estados capaz de executar contratos inteligentes de maneira compat√≠vel com a tecnologia de zero-knowledge proof (ZKP).¬†

  • As zkEVMs aprimoram as capacidades de zero-knowledge rollups (zk-rollups) na Ethereum para oferecer suporte a aplicativos descentralizados (DApps).¬†

  • As zkEVMs facilitam a implanta√ß√£o de projetos Ethereum, existentes e novos, usando ZKPs para melhorar o ecossistema da Ethereum.

Introdução 

Inicialmente, ao propor a rede em 2014, os desenvolvedores da Ethereum n√£o consideraram a tecnologia ZKP. Nos √ļltimos anos, no entanto, a ZKP ganhou aten√ß√£o e h√° a expectativa de que ela tenha um papel muito mais relevante no espa√ßo blockchain. Sendo assim, os esfor√ßos para combinar a tecnologia ZKP e a m√°quina virtual da Ethereum se intensificaram.¬†

Para compreender o que é zkEVM, vamos primeiro fazer uma breve revisão de seus dois conceitos fundamentais: zk-rollups e EVM. 

O que são zk-rollups? 

Um rollup √© uma solu√ß√£o de escalabilidade que consolida v√°rias execu√ß√Ķes de transa√ß√Ķes fora da blockchain principal e envia os dados de volta para a rede principal como uma √ļnica transa√ß√£o. Esse processo aumenta a taxa de transfer√™ncia, ao mesmo tempo em que reduz o custo de execu√ß√£o dessas transa√ß√Ķes.

Na Ethereum, as transa√ß√Ķes dentro de um rollup s√£o compactadas e enviadas para a mainnet (rede principal) da Ethereum pelo custo de verifica√ß√£o de uma √ļnica transa√ß√£o. A mainnet da Ethereum fornece liquida√ß√£o e verifica os dados das transa√ß√Ķes inclu√≠das no rollup.

Um zk-rollup √© um tipo de rollup que usa a tecnologia ZKP, uma tecnologia criptogr√°fica que permite que a validade de uma informa√ß√£o seja verificada sem revelar a informa√ß√£o em si. Zk-rollups n√£o precisam publicar todos os dados de transa√ß√Ķes na mainnet da Ethereum; eles precisam apenas das diferen√ßas de estado (como altera√ß√Ķes no status da conta do usu√°rio) e da comprova√ß√£o de validade, o que reduz as taxas de Gas do processo.

A segurança dos zk-rollups vem da criptografia ZKP, que usa meios criptográficos para verificar a prova e alcançar um estado onde não há necessidade de confiança (trustlessness). Eles são diferentes de outros rollups, como optimistic rollups, cuja segurança vem da economia da teoria dos jogos, onde os usuários são incentivados a agir honestamente e em benefício da rede para evitar possíveis perdas e receber recompensas.

O que é EVM?

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

O conceito de estado √© importante na Ethereum. √Č uma estrutura de dados de √°rvore de Merkle (Merkle Patricia Trie) que representa o estado atual da Ethereum e permite que qualquer pessoa rastreie informa√ß√Ķes de transa√ß√£o desde o bloco atual at√© o bloco de g√™nese.

Todos os nodes envolvidos na manutenção da Ethereum existem para garantir continuidade e consenso, o que permite que cada node consulte o estado atual exato. A EVM desempenha um papel fundamental na manutenção dessa consistência.

Como a ZkEVM funciona? 

Por padr√£o, a EVM n√£o oferece suporte para ZKPs. O objetivo da zkEVM √© garantir a continuidade do estado da Ethereum, fornecendo uma prova de que todas as informa√ß√Ķes est√£o corretas. Dessa forma, os v√°rios fatores envolvidos no c√°lculo desses processos s√£o verificados, mantendo a seguran√ßa e a privacidade da rede.¬†

A zkEVM faz isso replicando o ambiente da Ethereum como zk-rollups. Ele pega o estado inicial, calcula todas as transa√ß√Ķes e, em seguida, gera um novo estado atualizado juntamente com uma prova ZKP correspondente. Essa prova √© enviada a um contrato inteligente que verifica a exatid√£o dos dados (tanto o output do estado inicial quanto o do novo estado) sem precisar verificar todas as transa√ß√Ķes individualmente.¬†

Como as zkEVMs são baseadas na EVM, os desenvolvedores podem facilmente transferir DApps e contratos inteligentes da Ethereum para zkEVMs, sem precisar fazer todo o trabalho de desenvolvimento da ZKP. Em outras palavras, as zkEVMs permitem que zk-rollups executem contratos inteligentes, além de oferecer suporte para swap (troca) de tokens e pagamentos previamente suportados sem zkEVMs.   

Devido aos recursos de compatibilidade da EVM, os desenvolvedores podem criar novos produtos usando as mesmas ferramentas e a linguagem de programa√ß√£o (Solidity) da EVM, ao mesmo tempo em que desfrutam da seguran√ßa aprimorada proporcionada pela zkEVM. Os mesmos benef√≠cios tamb√©m se aplicam aos usu√°rios ‚ÄĒ eles podem continuar usando os mesmos DApps e ferramentas que j√° conhecem, mas com maior seguran√ßa e privacidade.

Compatibilidade EVM vs. Equivalência EVM 

Quando dizemos que uma blockchain é compatível com EVM, significa que ela oferece um ambiente capaz de implantar DApps escritos na linguagem de programação Solidity. A linguagem Solidity é projetada para desenvolvimento de contratos inteligentes executados na rede Ethereum. 

Na realidade, desenvolvedores da Ethereum podem facilmente copiar c√≥digos de DApps existentes na Ethereum e implant√°-los em outras redes compat√≠veis com a EVM, com poucas modifica√ß√Ķes necess√°rias. Para os usu√°rios, qualquer endere√ßo blockchain compat√≠vel com a EVM ser√° o mesmo que seu endere√ßo Ethereum.¬†

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

A compatibilidade da EVM não deve ser confundida com a equivalência da EVM, que significa que, da perspectiva do desenvolvedor de DApps, os rollups de Layer-2 são quase idênticos à Layer-1 da Ethereum. 

Usando uma analogia de sistema operacional, a equival√™ncia EVM √© semelhante √† restaura√ß√£o de arquivos e configura√ß√Ķes atrav√©s do iCloud da Apple quando um usu√°rio muda de um computador antigo para um novo (ambos executando o sistema operacional da Apple).

Por outro lado, pensando no mesmo exemplo ao considerar a compatibilidade EVM, se o novo computador mudar para um sistema Windows, ser√° necess√°rio baixar os arquivos originais por meio do armazenamento em nuvem e convert√™-los para recuperar as configura√ß√Ķes e arquivos antigos.¬†

Diferentes tipos de ZkEVMs 

Gerar e verificar ZKPs diretamente usando EVM é um processo extremamente lento, pois a Ethereum não foi originalmente projetada para suportar a tecnologia ZKP. Em alguns casos, isso pode demorar horas. No entanto, é fundamental encontrar um equilíbrio entre compatibilidade EVM e eficiência ZKP.

O fundador da Ethereum, Vitalik Buterin, categorizou as zkEVMs nos quatro tipos a seguir. Semelhante ao trilema blockchain, cada categoria tem suas vantagens e desvantagens em termos de eficiência de desempenho ZKP e compatibilidade EVM.    

Tipo 1: Equival√™ncia em n√≠vel de consenso ‚ÄĒ zkEVM completamente equivalente √† Ethereum

A n√≠vel de consenso, o tipo 1 de zkEVM ‚ÄĒ tamb√©m conhecido como enshrined rollup ‚ÄĒ √© equivalente ao da Ethereum. As transa√ß√Ķes e o estado blockchain da zkEVM tamb√©m s√£o id√™nticos aos da Ethereum. Esse tipo de zkEVM pode verificar blocos e ser usado diretamente com clientes de execu√ß√£o da Ethereum.

As zkEVMs de tipo 1 oferecem mais escalabilidade à própria Ethereum e podem ser introduzidas diretamente na mainnet da Ethereum. A desvantagem é que a eficiência ZKP é extremamente baixa e requer uma grande quantidade de poder computacional para verificação. A solução é usar validadores paralelos em larga escala ou circuitos integrados especializados para zk-SNARKs no futuro.

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

Tipo 2: Equival√™ncia em n√≠vel de bytecode ‚ÄĒ completamente equivalente √† EVM

O tipo 2 √© completamente equivalente √† EVM, mas n√£o √† Ethereum. Difere da Ethereum em termos de estruturas de dados (como estrutura de bloco e √°rvore de estado) e exclui algumas opera√ß√Ķes de stack que s√£o incompat√≠veis com ZKs.¬†

√Č um tipo totalmente compat√≠vel com os DApps existentes, ferramentas de remo√ß√£o de bugs e infraestrutura de desenvolvedor da Ethereum. A equival√™ncia em n√≠vel de bytecode pode acelerar os tempos de comprova√ß√£o, embora n√£o significativamente. Algumas desvantagens do tipo 2 s√£o custo, falta de sinergia com ZKs e baixa efici√™ncia.¬†

Tipo 2.5: Semelhante ao tipo 2, mas com modifica√ß√Ķes nas taxas de Gas

O tipo 2.5 compartilha as vantagens e desvantagens do tipo 2, mas tem taxas de Gas um pouco mais baixas.

Tipo 3: Equival√™ncia em n√≠vel de bytecode ‚ÄĒ quase equivalente √† EVM

Em compara√ß√£o com o tipo 2, o tipo 3 sacrifica ainda mais a compatibilidade para melhorar a efici√™ncia ZK. Ele exclui fun√ß√Ķes dif√≠ceis de implementar na zkEVM, como pr√©-compila√ß√Ķes. Portanto, √© preciso reescrever alguns c√≥digos usados em DApps que exigem essa fun√ß√£o.

Tipo 4: Equival√™ncia em n√≠vel de linguagem de desenvolvimento ‚ÄĒ linguagem de alto n√≠vel equivalente √† EVM

As EVMs do tipo 4 têm o melhor desempenho ZK, mas uma compatibilidade relativa abaixo da média.

Considera√ß√Ķes finais¬†

O principal objetivo da implementa√ß√£o da zkEVM √© ampliar o suporte da computa√ß√£o ZKP para a execu√ß√£o de contratos inteligentes e, ao faz√™-lo, estender os DApps a todos os protocolos compat√≠veis com EVM. Mas as aplica√ß√Ķes das ZKPs n√£o param por a√≠.¬†

A tecnologia ZKP tem potencial para ser compatível com casos de uso da Web2. A combinação de vários casos de uso da Web2 com ZKPs pode tornar os aplicativos da Web3 mais práticos e fáceis de usar. Com isso, os usuários que já estão acostumados com os navegadores de internet tradicionais também teriam mais acesso à Web3, o que por sua vez, impulsionaria a adoção da tecnologia.

Leituras adicionais


Aviso de Risco e Isen√ß√£o de Responsabilidade: este conte√ļdo √© apresentado a voc√™ ‚Äúno estado em que se encontra‚Äú apenas para fins informativos e educacionais, sem qualquer tipo de garantia. O conte√ļdo n√£o deve ser interpretado como aconselhamento financeiro, jur√≠dico ou profissional, e n√£o tem o objetivo de recomendar a compra de qualquer produto ou servi√ßo espec√≠fico. Voc√™ deve buscar seu pr√≥prio conselho de consultores profissionais. No caso de contribui√ß√Ķes e artigos enviados por colaboradores terceirizados, note que as opini√Ķes expressas pertencem ao respectivo autor e n√£o refletem necessariamente as opini√Ķes da Binance Academy. Para mais detalhes, por favor leia nosso aviso aqui. Os pre√ßos dos ativos digitais podem ser vol√°teis. O valor do seu investimento pode aumentar ou diminuir 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 nenhuma de suas poss√≠veis perdas. Este material n√£o deve ser interpretado como aconselhamento financeiro, jur√≠dico ou profissional. Para mais informa√ß√Ķes, por favor consulte nossos Termos de Uso e Aviso de Risco.