Principais Conclusões
Um zkEVM é uma Máquina Virtual Ethereum de conhecimento zero que pode executar contratos inteligentes de uma maneira que é compatível com a tecnologia de prova de conhecimento zero (ZKP).
Os zkEVMs expandem os zk-rollups no Ethereum para suportar aplicações descentralizadas (DApps), não apenas transferências simples de tokens.
Os desenvolvedores podem portar DApps e contratos inteligentes existentes do Ethereum para um zkEVM sem precisar aprender criptografia de conhecimento zero.
Os zkEVMs são categorizados em quatro tipos principais com base no trade-off entre compatibilidade EVM e eficiência de prova ZK.
Introdução
Os desenvolvedores do Ethereum não projetaram a rede com provas de conhecimento zero (ZKPs) em mente quando propuseram a rede pela primeira vez em 2014. Nos anos que se seguiram, a tecnologia ZKP ganhou um impulso significativo no espaço blockchain, e as equipes trabalharam arduamente para trazer capacidades ZKP ao Ethereum.
O resultado é o zkEVM, um tipo de máquina virtual que pode executar contratos inteligentes do Ethereum enquanto gera provas criptográficas de sua correção. Este artigo explica o que é um zkEVM, como funciona e quais redes implementaram a tecnologia.
O que são zk-Rollups?
Um rollup é uma solução de escalabilidade Layer 2 que processa muitas transações fora da mainnet do Ethereum e, em seguida, envia um resumo comprimido para o Ethereum como uma única transação. Essa abordagem aumenta o throughput e reduz os custos em comparação com a execução de cada transação na Layer 1.
Um zk-rollup é um rollup que usa a tecnologia ZKP para provar que todas as transações off-chain foram processadas corretamente. Em vez de publicar todos os dados da transação, ele envia uma prova de validade juntamente com uma atualização de estado. Rollups otimistas adotam uma abordagem diferente, dependendo de provas de fraude e incentivos econômicos em vez de garantias criptográficas.
Os primeiros zk-rollups eram limitados a operações simples, como transferências de tokens. Um zkEVM estende isso para cobrir toda a gama de execução de contratos inteligentes, tornando os zk-rollups adequados para DApps de propósito geral.
O que é a EVM?
A Máquina Virtual Ethereum (EVM) é o ambiente de execução dentro do Ethereum onde os contratos inteligentes são executados. Cada vez que um contrato inteligente é executado, a EVM transita de um estado para outro. Todos os nós na rede devem concordar sobre esse estado para manter o consenso.
A EVM é definida por um conjunto de opcodes, que são instruções de baixo nível. Quando os desenvolvedores escrevem contratos em Solidity ou Vyper, esses contratos são compilados para bytecode da EVM que a EVM pode interpretar. Este padrão compartilhado é o que torna os contratos inteligentes do Ethereum portáteis entre cadeias compatíveis.
Como um zkEVM Funciona?
Um zkEVM replica o ambiente Ethereum dentro de um zk-rollup. Ele pega um estado inicial, processa um lote de transações de acordo com as regras da EVM e produz um novo estado junto com uma prova de validade. Um contrato verificador na mainnet do Ethereum verifica essa prova sem reexecutar cada transação.
Essa abordagem significa que a correção de cada transição de estado é garantida criptograficamente, não apenas assumida. Os desenvolvedores podem implantar contratos inteligentes existentes do Ethereum em um zkEVM com pouca ou nenhuma modificação, porque o ambiente de execução segue as mesmas regras que a mainnet.
Gerar provas ZK para execução da EVM é intensivo em computação. Aceleração de hardware e melhorias algorítmicas nos últimos anos reduziram consideravelmente os tempos de geração de provas para muitas implementações, de algo que antes poderia levar várias horas para minutos ou segundos em algumas configurações, embora isso varie de acordo com a rede e o tamanho do lote.
Compatibilidade da EVM vs. Equivalência da EVM
Compatibilidade da EVM significa que uma blockchain pode implantar e executar contratos baseados em Solidity com mudanças mínimas. Muitas cadeias (incluindo a BNB Smart Chain) são compatíveis com a EVM. Os desenvolvedores geralmente podem copiar contratos do Ethereum e implantá-los com apenas pequenos ajustes.
A equivalência EVM vai mais longe. Isso significa que um zkEVM se comporta de forma idêntica ao Ethereum em um nível técnico profundo, então as ferramentas existentes, ambientes de depuração e infraestrutura para desenvolvedores funcionam sem modificações. Quanto mais próximo um zkEVM está da equivalência total, mais fácil se torna a migração, mas mais difícil é gerar provas ZK eficientes.
Diferentes Tipos de zkEVMs
Em um post de blog, o cofundador do Ethereum, Vitalik Buterin, classificou os zkEVMs em quatro tipos com base no trade-off entre eficiência ZK e compatibilidade EVM.
Tipo 1: equivalência em nível de consenso
Um zkEVM Tipo 1 é totalmente equivalente ao Ethereum em nível de consenso. Ele pode verificar blocos do Ethereum diretamente. Isso o torna o tipo mais compatível, mas a geração de provas ZK é a mais exigente em termos computacionais. Um exemplo disso é a mainnet zkEVM Tipo 1 da Taiko, lançada em meados de 2024.
Tipo 2: equivalência em nível de bytecode
Um zkEVM Tipo 2 é totalmente compatível com a EVM, mas difere do Ethereum em algumas estruturas de dados internas, como a árvore de estados. Ele suporta todos os DApps e ferramentas existentes do Ethereum. Os tempos de prova são melhorados em comparação com o Tipo 1, mas ainda são significativos. Scroll e Polygon zkEVM são exemplos de redes Tipo 2.
Tipo 2.5: Tipo 2, com custos de gás modificados
O Tipo 2.5 é semelhante ao Tipo 2, mas ajusta os custos de gás para operações que são caras de provar. Isso melhora a eficiência do provedor com um pequeno impacto na compatibilidade total.
Tipo 3: equivalente perto da EVM
Os zkEVMs Tipo 3 sacrificam alguma compatibilidade para melhor desempenho ZK. Eles podem remover certos pré-compilados ou outras funcionalidades da EVM que são difíceis de provar eficientemente. Alguns DApps podem precisar de modificações menores para serem implantados.
Tipo 4: equivalência em linguagem de alto nível
Os zkEVMs Tipo 4 compilam linguagens de alto nível como Solidity diretamente para bytecode amigável a ZK, contornando completamente o bytecode da EVM. Isso oferece o melhor desempenho de prova, mas a menor compatibilidade. O zkSync Era usa uma abordagem Tipo 4.
Perguntas Frequentes
O que é um zkEVM?
Um zkEVM é uma Máquina Virtual Ethereum de conhecimento zero que processa contratos inteligentes dentro de um zk-rollup, gerando então uma prova criptográfica que mostra que todas as transações foram executadas corretamente. Isso permite que os desenvolvedores usem o código existente do Ethereum com os benefícios de segurança e escalabilidade da tecnologia ZKP.
Como um zkEVM é diferente de um zk-rollup regular?
Os primeiros zk-rollups suportavam apenas operações simples, como transferências de tokens. Um zkEVM estende isso para todo o conjunto de instruções da EVM, o que significa que qualquer contrato inteligente do Ethereum, incluindo protocolos DeFi complexos e plataformas de NFT, pode ser executado em um zkEVM com modificações mínimas.
Quais são os quatro tipos de zkEVMs?
Vitalik Buterin definiu quatro tipos. O Tipo 1 é totalmente equivalente ao Ethereum em nível de consenso. O Tipo 2 é totalmente compatível com a EVM, mas difere em algumas estruturas de dados internas. O Tipo 3 sacrifica alguma compatibilidade para um melhor desempenho ZK. O Tipo 4 compila linguagens de alto nível diretamente para bytecode amigável a ZK, oferecendo a maior eficiência de prova.
Os zkEVMs tornam o Ethereum mais seguro?
Os zkEVMs usam provas de validade criptográfica em vez de depender da teoria dos jogos econômicos para garantir a execução correta. Isso significa que a correção de cada lote é matematicamente verificável, o que pode fortalecer as garantias de segurança em comparação com sistemas que dependem de desafiantes para capturar fraudes. No entanto, como todos os sistemas de blockchain, os zkEVMs apresentam riscos de contratos inteligentes e outros riscos técnicos que os usuários devem pesquisar de forma independente.
Considerações Finais
Os zkEVMs combinam a segurança da criptografia ZKP com total compatibilidade de contratos inteligentes, tornando possível executar DApps com maior throughput e menor custo sem sacrificar as garantias de segurança de nível Ethereum. Vale a pena entender os diferentes tipos e como a tecnologia pode ser compatível com casos de uso do Web2.
Leitura Adicional
O que é Prova de Conhecimento Zero e como isso impacta o Blockchain?
Rollups Otimistas vs. Rollups de Conhecimento Zero: Qual é a Diferença?
Melhorando a Transparência Cripto com Provas de Conhecimento Zero
O que são zk-Rollups? A técnica de escalabilidade Layer-2
Blockchain Layer 1 vs. Soluções de Escalabilidade Layer 2
Isenção de Responsabilidade: Este conteúdo é apresentado a você em uma base "como está" para fins de informação geral e educacional apenas, sem representação ou garantia de qualquer tipo. Não deve ser interpretado como aconselhamento financeiro, legal ou profissional de qualquer tipo, nem é destinado a recomendar a compra de qualquer produto ou serviço específico. Você deve buscar seu próprio aconselhamento de consultores profissionais apropriados. Quando o conteúdo é contribuído por um terceiro, observe que as opiniões expressas pertencem ao terceiro contribuinte e não refletem necessariamente as de Binance Academy. Os preços dos ativos digitais podem ser voláteis. O valor do seu investimento pode cair ou subir 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 é responsável por qualquer perda que você possa incorrer. Para mais informações, consulte nossos Termos de Uso, Aviso de Risco e Termos da Binance Academy.
