O ZK Rollup, como forma de dimensionar o Ethereum, permite que as transações sejam processadas fora da cadeia e mescladas na cadeia principal como uma única transação compactada. Esse processo melhora o rendimento da transação, reduz os custos da transação, garante a validade do estado por meio de prova de conhecimento zero e melhora a privacidade e a segurança da cadeia principal. Portanto, o ZK Rollup é considerado a solução definitiva para a expansão do Ethereum.
No entanto, atualmente, a geração de prova de conhecimento zero requer uma grande quantidade de poder de computação e a dificuldade técnica também é maior. Ao mesmo tempo, como a Ethereum Virtual Machine (EVM) não foi projetada para suportar circuitos ZK, ela não pode executar contratos inteligentes diretamente. Para resolver esse problema, muitos desenvolvedores tentaram desenvolver o zkEVM, que pode executar contratos inteligentes de maneira compatível com cálculos de prova de conhecimento zero. Para muitos ZK Rollups, alcançar a equivalência EVM significa alcançar compatibilidade completa em nível de bytecode.No momento, zkEVM é a chave para a expansão do Ethereum.
Este artigo estudará cinco tipos comuns de zkEVM e o andamento de cada tipo de projeto, além de apontar os desafios de design de cada tipo de zkEVM.
O que é zkEVM
zkEVM é uma máquina virtual compatível com EVM que suporta computação de prova de conhecimento zero e é uma plataforma de desenvolvimento de aplicativos baseada na tecnologia blockchain Ethereum. O contrato EVM pode ser implantado diretamente e executado sem modificação, e a operação do programa pode provar a validade de seu cálculo por meio de conhecimento zero.
Vantagens do zkEVM
zkEVM melhora a compatibilidade. O zkEVM é altamente compatível com contratos inteligentes escritos para execução no EVM e pode ser perfeitamente integrado à infraestrutura do EVM. Os desenvolvedores podem migrar os aplicativos Ethereum existentes para L2 sem redesenvolver os aplicativos. Ao mesmo tempo, o zk proof herda a segurança da rede Ethereum.
zkEVM aumenta a escalabilidade. O zkEVM usa provas não interativas, o que melhora a taxa de transferência e reduz a latência porque é mais rápido verificar provas para blocos L2 do que reexecutar cada transação em um novo bloco proposto.
O zkEVM reduz os custos de armazenamento. Um zkEVM Rollup pode optar por publicar apenas compromissos para seu estado final no Ethereum L1, reduzindo os custos de armazenamento na cadeia. As provas de validade garantem a correção do novo estado do zkEVM, de forma que o ordenante não tenha que publicar todos os dados necessários para reexecutar a mudança de transição de estado.
É com a melhoria contínua do zkEVM que as limitações do ZK Rollup são resolvidas.Usando a segurança e eficiência do ZK Rollup, juntamente com a compatibilidade do EVM, os aplicativos podem interagir com contratos inteligentes para melhorar a experiência do aplicativo.
Cinco tipos diferentes de zkEVM e projetos relacionados
No início do projeto EVM, não foi considerado para suportar provas de conhecimento zero, o que dificultou a construção de uma máquina virtual zk compatível com EVM. No entanto, conforme a pesquisa avança, os cálculos EVM podem ser agrupados em provas de conhecimento zero. Diferentes projetos zkEVM usam Diferentes abordagens combinam execução de EVM com computação de prova de conhecimento zero.
Vitalik Buterin, o fundador da Ethereum, também publicou um artigo explicando as compensações entre diferentes tipos de zkEVM. V God acredita que os objetivos principais desses projetos são os mesmos: usar a tecnologia ZK-SNARK para fornecer provas criptografadas para a execução de transações semelhantes ao Ethereum, de modo que é mais fácil verificar a própria cadeia Ethereum ou construir ZK Rollups equivalentes ao que o Ethereum oferece, mas mais escalável que o Ethereum.
Tipo 1 (equivalente ao nível de consenso - totalmente equivalente ao Ethereum)
Tipo 1 zkEVM se esforça para ser completamente equivalente ao Ethereum. Ele não altera nenhuma parte do sistema Ethereum para facilitar a geração de provas, não substitui hashes, árvores de estado, árvores de transações, pré-compilações ou qualquer outra lógica de consenso.
A vantagem do Type 1 zkEVM é que ele é perfeitamente compatível com o Ethereum. A longo prazo, as modificações no Ethereum testadas no Tipo 2 ou Tipo 3 ZK-EVM podem ser introduzidas no próprio Ethereum, mas essa re-arquitetura tem suas próprias complexidades, então o Tipo 1 é o que é necessário para tornar o próprio Ethereum Fang L1 é algo mais escalável. Ao mesmo tempo, os zkEVMs Tipo 1 são ideais para rollups porque permitem que os rollups reutilizem muita infraestrutura.
A desvantagem do tipo 1 zkEVM é o problema do tempo de verificação. O Ethereum não foi originalmente projetado para ser amigável ao ZK, então muitas partes do protocolo Ethereum requerem muita computação para realizar as provas do ZK. O tipo 1 zkEVM foi projetado para replicar exatamente o Ethereum, portanto, não pode mitigar essas ineficiências. Tipo 1 zkEVM é o zkEVM mais ideal, e há muitos projetos construindo ou explorando este tipo.
Atualmente, os projetos relacionados ao tipo 1 zkEVM incluem Taiko e Kakarot.
O Type 1 zkEVM construído pela Taiko permite que desenvolvedores e usuários experimentem o Ethereum com segurança, com taxas de transação mais baixas e sem ter que considerar nenhuma alteração. Arrecadou $ 22 milhões em duas rodadas iniciais, a primeira rodada foi de $ 10 milhões liderada pela Sequoia China, e a segunda rodada foi de $ 12 milhões liderada pela Generative Ventures. Em 7 de junho, Taiko lançou o Alpha-3 Incentive Testnet. De acordo com a introdução oficial de Taiko, o testnet se concentra na parte ZK-EVM descentralizada e equivalente ao Ethereum.
Kakarot zkEVM é um EVM implantado usando a linguagem Cario, estendendo a confiabilidade do ecossistema Starknet ao aprimorar a compatibilidade do EVM. Kakarot zkEVM pode existir em diferentes formas, no primeiro estágio para trazer EVM para Starknet, no segundo estágio Kakarot e Madara serão fundidos em uma pilha unificada para suportar L3 zkEVM, no terceiro estágio Kakarot e Madara também podem ser combinados em Juntos , Tipo 1 zkEVM está ativado. Em 2 de junho, Kakarot zkEVM concluiu a rodada de financiamento pré-semente, StarkWare, LambdaClass e outras instituições e investidores anjos como Vitalik Buterin, Nicolas Bacca e Rand Hindi participaram do investimento.
Tipo 2 (equivalência em nível de bytecode - totalmente equivalente a EVM)
O Type2 zkEVM se esforça para ser totalmente equivalente ao EVM, mas não ao Ethereum. Ou seja, eles parecem idênticos ao Ethereum internamente, mas apresentam algumas diferenças externamente, principalmente em termos de estruturas de dados, como estruturas de blocos e árvores de estado. O objetivo é ser totalmente compatível com os aplicativos existentes, mas com algumas pequenas modificações no Ethereum para tornar o desenvolvimento mais fácil e a geração de provas mais rápida.
A vantagem do tipo 2 zkEVM é a equivalência perfeita no nível da VM. Tipo 2 zkEVM faz alterações nas estruturas de dados que contêm coisas como o estado do Ethereum. Essas são estruturas às quais o próprio EVM não tem acesso direto; portanto, os aplicativos executados no Ethereum quase sempre serão executados em rollups tipo 2 zkEVM. Este tipo não pode usar clientes de execução Ethereum como estão, mas com algumas modificações eles podem ser usados, e ferramentas de depuração EVM e outras infraestruturas ainda podem ser usadas.
A desvantagem do tipo 2 zkEVM é que o tempo de verificação ainda é lento. O tipo 2 zkEVM fornece tempos de verificação mais rápidos do que o tipo 1 zkEVM, principalmente removendo a criptografia que depende de partes desnecessariamente complexas e hostis ao ZK da pilha Ethereum. Por exemplo, eles podem alterar as árvores Keccak da Ethereum e Merkle-Patricia baseadas em RLP e também podem alterar a estrutura de blocos e recibos. Essas modificações melhoram significativamente o tempo do provador, mas não resolvem todos os problemas. Com todas as ineficiências e antipatia ZK inerentes ao EVM, provando que o EVM ainda é lento.
Atualmente, os projetos relacionados ao tipo 2 zkEVM incluem Linea e Polygon.
Linea é um tipo-2 zkEVM alimentado por Consensys. Ao integrar ZKP com compatibilidade total com EVM, os desenvolvedores podem criar DApps escaláveis ou transferir DApps existentes para novas plataformas sem alterar o código ou reescrever contratos inteligentes. A testnet pública foi lançada em 28 de março deste ano e foi adicionada às opções de rede padrão da extensão Metamask. A Linea lançou o Alpha v0.2 às 12h do dia 13 de junho. Esta versão se concentra em testar atualizações de arquitetura substanciais e preparar o lançamento da rede principal.
O polígono zkEVM é de código aberto e usa o tipo 2 zkEVM. Ele emprega provas ZK para reduzir as taxas de transação e aumentar o rendimento, mantendo a segurança do Ethereum L1. A Polygon declarou em 14 de fevereiro deste ano que o Polygon zkEVM passou em 100% dos vetores de teste Ethereum adequados para zkEVM. Os desenvolvedores não precisam modificar ou reescrever nenhum código, e todas as ferramentas Ethereum podem funcionar perfeitamente com o Polygon zkEVM. Isso significa que o EVM A compatibilidade do ZK Rollup deu mais um grande passo e atingiu o nível do Tipo 2, que é totalmente equivalente ao EVM. O beta da rede principal Polygon zkEVM foi lançado oficialmente em 27 de março de 2023.
Tipo 2.5 (EVM equivalente, exceto custo de gás)
Uma maneira de melhorar o tempo de verificação é aumentar consideravelmente o custo do gás de certas operações no EVM que são difíceis de provar ZK. Isso pode envolver pré-compilação, keccak opcodes e possivelmente padrões específicos de invocar contratos ou acessar memória, armazenamento ou restauração.
Alterar o custo do gás pode reduzir a compatibilidade da ferramenta do desenvolvedor e interromper alguns aplicativos, mas geralmente é considerado menos arriscado do que alterações "mais profundas" do EVM. Os desenvolvedores devem ter cuidado para não pedir mais de um bloco de gás em uma transação e nunca fazer chamadas com quantidades de gás codificadas.
No momento, não há nenhum projeto específico para fazer o Tipo 2.5 EVM, apenas entrou em um estágio do Tipo 2.
Tipo 3 (equivalência em nível de bytecode - quase equivalente a EVM)
Tipo 3 zkEVM é quase equivalente ao EVM, mas alguns sacrifícios são feitos para a equivalência exata a fim de reduzir ainda mais o tempo de prova e tornar o EVM mais fácil de desenvolver.
As vantagens do tipo 3 zkEVM são mais fáceis de construir e tempo de verificação mais rápido. Tipo 3 zkEVM pode remover alguns recursos que são particularmente difíceis de implementar em implementações zkEVM. Além disso, os zkEVMs Tipo 3 às vezes têm diferenças sutis na maneira como lidam com o código do contrato, a memória ou a pilha.
A desvantagem do tipo 3 zkEVM é que ele é menos compatível. O tipo 3 zkEVM visa ser compatível com a maioria dos aplicativos, exigindo um esforço mínimo de reescrita para o resto. Dito isso, haverá alguns aplicativos que precisarão ser reescritos porque usam pré-compilações removidas pelo tipo 3 zkEVM ou por causa de dependências sutis em casos extremos com os quais a VM lida de maneira diferente.
Atualmente, os projetos relacionados ao tipo 3 zkEVM incluem Scroll.
Scroll é um zk-rollup equivalente a EVM desenvolvido pela equipe Scroll em cooperação com o grupo PSE (Privacy and Scaling Explorations) da Ethereum Foundation. Atualmente está no estágio pré-alfa da rede de teste e pretende ser totalmente compatível com EVM no nível de bytecode. Isso significa que os desenvolvedores podem usar qualquer linguagem compatível com EVM para criar contratos inteligentes e implantá-los no Scroll. Embora Scroll esteja atualmente construindo um EVM Tipo 2, muitas das pré-compilações mais complexas ainda não foram implementadas e, portanto, são consideradas um EVM Tipo 3. Segundo Scroll, a previsão é lançar a mainnet em julho e agosto deste ano, e disse que pode lançar um programa de parcerias para estimular o desenvolvimento ecológico.
Atualmente, o Tipo 3 EVM é apenas um estágio de transição até que o trabalho complexo de adicionar pré-compilação seja concluído e, então, os projetos podem passar para o Tipo 2.5 zkEVM. Mas, no futuro, os EVMs Tipo 1 e Tipo 3 podem adicionar uma nova pré-compilação compatível com ZK-SNARK, fornecendo aos desenvolvedores baixo tempo de verificação e funções de baixo custo de gás.
Tipo 4 (equivalência de nível de linguagem de desenvolvimento - linguagem de alto nível equivalente a EVM)
O Type 4 EVM funciona compilando o código-fonte do contrato inteligente escrito em uma linguagem de alto nível (como Solidity, Vyper ou linguagem intermediária) em alguma linguagem explicitamente projetada para ser compatível com o ZK-SNARK.
A vantagem do tipo 4 zkEVM é a velocidade de prova mais rápida. Como esse tipo não prova zk todas as diferentes partes de cada etapa de execução do EVM, mas começa diretamente no código de alto nível, muitos custos podem ser evitados.
A desvantagem do tipo 4 zkEVM é que ele é menos compatível. Uma é que os endereços dos contratos no sistema Tipo 4 podem ser diferentes de seus endereços no EVM; a outra é que muitos aplicativos usam bytecodes EVM manuscritos em algumas partes para melhorar a eficiência, o que o sistema Tipo 4 pode não suportar. As instalações também não podem ser herdadas.
Atualmente, os projetos relacionados ao tipo 4 zkEVM incluem zkSync Era e StarkNet.
O zkSync Era foi criado pelo Matters Lab. O zkSync Era é o primeiro EVM a ser lançado na rede principal e ter acesso total ao público para conectar seus fundos ao sistema ou implantar seu código na rede. O zkSync Era usa um formato de bytecode diferente para oferecer suporte ao Solidity, fornecendo um compilador. Ele suporta Solidity, mas não o próprio bytecode EVM. Ferramentas como Hardhat não podem ser usadas diretamente, embora um plug-in para zkSync esteja disponível.
Criado pela StarkWare, StarkNet é um zk-rollup L2 que usa provas de conhecimento zero para criar uma camada de execução off-chain para Ethereum. Na verdade, o EVM não é um recurso nativo do Starknet. A Starknet usa um conversor Warp (fornecido pela Nethermind) para converter o código Solidity em Cairo para dar suporte à implantação de contrato inteligente.
Desafios e futuro do zkEVM
** **
Como o EVM não é construído tendo em mente a computação à prova de zk, ele possui recursos que não são amigáveis para circuitos de prova, especialmente em termos de opcodes especiais, sobrecarga de armazenamento arquitetônico baseado em pilha e custos de prova. Mas vários avanços na tecnologia de conhecimento zero tornaram possível aliviar esses problemas.
Os cinco tipos de zkEVM não têm claro quem é bom e quem é mau. O tipo de número mais baixo é mais compatível com a infraestrutura existente, mas mais lento, enquanto o tipo de número mais alto é menos compatível com a infraestrutura existente, mas mais lento, mais rápido. Em geral, diferentes projetos que exploram diferentes tipos são benéficos para o desenvolvimento de zkEVM e Ethereum.
No futuro, haverá várias implementações zkEVM que podem ser usadas tanto para ZK Rollup quanto para validar a própria cadeia Ethereum. Em teoria, o Ethereum não precisa usar um único padrão zkEVM para L1, e diferentes clientes podem usar provas diferentes. No entanto, levará algum tempo até que tal futuro seja realizado. Ao mesmo tempo, veremos mais inovações nos diferentes caminhos de dimensionamento do Ethereum e do ZK-rollup baseado no Ethereum.
Ver original
O conteúdo serve apenas de referência e não constitui uma solicitação ou oferta. Não é prestado qualquer aconselhamento em matéria de investimento, fiscal ou jurídica. Consulte a Declaração de exoneração de responsabilidade para obter mais informações sobre os riscos.
Cinco tipos comuns de zkEVM e o andamento de seus projetos
O ZK Rollup, como forma de dimensionar o Ethereum, permite que as transações sejam processadas fora da cadeia e mescladas na cadeia principal como uma única transação compactada. Esse processo melhora o rendimento da transação, reduz os custos da transação, garante a validade do estado por meio de prova de conhecimento zero e melhora a privacidade e a segurança da cadeia principal. Portanto, o ZK Rollup é considerado a solução definitiva para a expansão do Ethereum.
No entanto, atualmente, a geração de prova de conhecimento zero requer uma grande quantidade de poder de computação e a dificuldade técnica também é maior. Ao mesmo tempo, como a Ethereum Virtual Machine (EVM) não foi projetada para suportar circuitos ZK, ela não pode executar contratos inteligentes diretamente. Para resolver esse problema, muitos desenvolvedores tentaram desenvolver o zkEVM, que pode executar contratos inteligentes de maneira compatível com cálculos de prova de conhecimento zero. Para muitos ZK Rollups, alcançar a equivalência EVM significa alcançar compatibilidade completa em nível de bytecode.No momento, zkEVM é a chave para a expansão do Ethereum.
Este artigo estudará cinco tipos comuns de zkEVM e o andamento de cada tipo de projeto, além de apontar os desafios de design de cada tipo de zkEVM.
O que é zkEVM
zkEVM é uma máquina virtual compatível com EVM que suporta computação de prova de conhecimento zero e é uma plataforma de desenvolvimento de aplicativos baseada na tecnologia blockchain Ethereum. O contrato EVM pode ser implantado diretamente e executado sem modificação, e a operação do programa pode provar a validade de seu cálculo por meio de conhecimento zero.
Vantagens do zkEVM
zkEVM melhora a compatibilidade. O zkEVM é altamente compatível com contratos inteligentes escritos para execução no EVM e pode ser perfeitamente integrado à infraestrutura do EVM. Os desenvolvedores podem migrar os aplicativos Ethereum existentes para L2 sem redesenvolver os aplicativos. Ao mesmo tempo, o zk proof herda a segurança da rede Ethereum.
zkEVM aumenta a escalabilidade. O zkEVM usa provas não interativas, o que melhora a taxa de transferência e reduz a latência porque é mais rápido verificar provas para blocos L2 do que reexecutar cada transação em um novo bloco proposto.
O zkEVM reduz os custos de armazenamento. Um zkEVM Rollup pode optar por publicar apenas compromissos para seu estado final no Ethereum L1, reduzindo os custos de armazenamento na cadeia. As provas de validade garantem a correção do novo estado do zkEVM, de forma que o ordenante não tenha que publicar todos os dados necessários para reexecutar a mudança de transição de estado.
É com a melhoria contínua do zkEVM que as limitações do ZK Rollup são resolvidas.Usando a segurança e eficiência do ZK Rollup, juntamente com a compatibilidade do EVM, os aplicativos podem interagir com contratos inteligentes para melhorar a experiência do aplicativo.
Cinco tipos diferentes de zkEVM e projetos relacionados
No início do projeto EVM, não foi considerado para suportar provas de conhecimento zero, o que dificultou a construção de uma máquina virtual zk compatível com EVM. No entanto, conforme a pesquisa avança, os cálculos EVM podem ser agrupados em provas de conhecimento zero. Diferentes projetos zkEVM usam Diferentes abordagens combinam execução de EVM com computação de prova de conhecimento zero.
Vitalik Buterin, o fundador da Ethereum, também publicou um artigo explicando as compensações entre diferentes tipos de zkEVM. V God acredita que os objetivos principais desses projetos são os mesmos: usar a tecnologia ZK-SNARK para fornecer provas criptografadas para a execução de transações semelhantes ao Ethereum, de modo que é mais fácil verificar a própria cadeia Ethereum ou construir ZK Rollups equivalentes ao que o Ethereum oferece, mas mais escalável que o Ethereum.
Tipo 1 (equivalente ao nível de consenso - totalmente equivalente ao Ethereum)
Tipo 1 zkEVM se esforça para ser completamente equivalente ao Ethereum. Ele não altera nenhuma parte do sistema Ethereum para facilitar a geração de provas, não substitui hashes, árvores de estado, árvores de transações, pré-compilações ou qualquer outra lógica de consenso.
A vantagem do Type 1 zkEVM é que ele é perfeitamente compatível com o Ethereum. A longo prazo, as modificações no Ethereum testadas no Tipo 2 ou Tipo 3 ZK-EVM podem ser introduzidas no próprio Ethereum, mas essa re-arquitetura tem suas próprias complexidades, então o Tipo 1 é o que é necessário para tornar o próprio Ethereum Fang L1 é algo mais escalável. Ao mesmo tempo, os zkEVMs Tipo 1 são ideais para rollups porque permitem que os rollups reutilizem muita infraestrutura.
A desvantagem do tipo 1 zkEVM é o problema do tempo de verificação. O Ethereum não foi originalmente projetado para ser amigável ao ZK, então muitas partes do protocolo Ethereum requerem muita computação para realizar as provas do ZK. O tipo 1 zkEVM foi projetado para replicar exatamente o Ethereum, portanto, não pode mitigar essas ineficiências. Tipo 1 zkEVM é o zkEVM mais ideal, e há muitos projetos construindo ou explorando este tipo.
Atualmente, os projetos relacionados ao tipo 1 zkEVM incluem Taiko e Kakarot.
O Type 1 zkEVM construído pela Taiko permite que desenvolvedores e usuários experimentem o Ethereum com segurança, com taxas de transação mais baixas e sem ter que considerar nenhuma alteração. Arrecadou $ 22 milhões em duas rodadas iniciais, a primeira rodada foi de $ 10 milhões liderada pela Sequoia China, e a segunda rodada foi de $ 12 milhões liderada pela Generative Ventures. Em 7 de junho, Taiko lançou o Alpha-3 Incentive Testnet. De acordo com a introdução oficial de Taiko, o testnet se concentra na parte ZK-EVM descentralizada e equivalente ao Ethereum.
Kakarot zkEVM é um EVM implantado usando a linguagem Cario, estendendo a confiabilidade do ecossistema Starknet ao aprimorar a compatibilidade do EVM. Kakarot zkEVM pode existir em diferentes formas, no primeiro estágio para trazer EVM para Starknet, no segundo estágio Kakarot e Madara serão fundidos em uma pilha unificada para suportar L3 zkEVM, no terceiro estágio Kakarot e Madara também podem ser combinados em Juntos , Tipo 1 zkEVM está ativado. Em 2 de junho, Kakarot zkEVM concluiu a rodada de financiamento pré-semente, StarkWare, LambdaClass e outras instituições e investidores anjos como Vitalik Buterin, Nicolas Bacca e Rand Hindi participaram do investimento.
Tipo 2 (equivalência em nível de bytecode - totalmente equivalente a EVM)
O Type2 zkEVM se esforça para ser totalmente equivalente ao EVM, mas não ao Ethereum. Ou seja, eles parecem idênticos ao Ethereum internamente, mas apresentam algumas diferenças externamente, principalmente em termos de estruturas de dados, como estruturas de blocos e árvores de estado. O objetivo é ser totalmente compatível com os aplicativos existentes, mas com algumas pequenas modificações no Ethereum para tornar o desenvolvimento mais fácil e a geração de provas mais rápida.
A vantagem do tipo 2 zkEVM é a equivalência perfeita no nível da VM. Tipo 2 zkEVM faz alterações nas estruturas de dados que contêm coisas como o estado do Ethereum. Essas são estruturas às quais o próprio EVM não tem acesso direto; portanto, os aplicativos executados no Ethereum quase sempre serão executados em rollups tipo 2 zkEVM. Este tipo não pode usar clientes de execução Ethereum como estão, mas com algumas modificações eles podem ser usados, e ferramentas de depuração EVM e outras infraestruturas ainda podem ser usadas.
A desvantagem do tipo 2 zkEVM é que o tempo de verificação ainda é lento. O tipo 2 zkEVM fornece tempos de verificação mais rápidos do que o tipo 1 zkEVM, principalmente removendo a criptografia que depende de partes desnecessariamente complexas e hostis ao ZK da pilha Ethereum. Por exemplo, eles podem alterar as árvores Keccak da Ethereum e Merkle-Patricia baseadas em RLP e também podem alterar a estrutura de blocos e recibos. Essas modificações melhoram significativamente o tempo do provador, mas não resolvem todos os problemas. Com todas as ineficiências e antipatia ZK inerentes ao EVM, provando que o EVM ainda é lento.
Atualmente, os projetos relacionados ao tipo 2 zkEVM incluem Linea e Polygon.
Linea é um tipo-2 zkEVM alimentado por Consensys. Ao integrar ZKP com compatibilidade total com EVM, os desenvolvedores podem criar DApps escaláveis ou transferir DApps existentes para novas plataformas sem alterar o código ou reescrever contratos inteligentes. A testnet pública foi lançada em 28 de março deste ano e foi adicionada às opções de rede padrão da extensão Metamask. A Linea lançou o Alpha v0.2 às 12h do dia 13 de junho. Esta versão se concentra em testar atualizações de arquitetura substanciais e preparar o lançamento da rede principal.
O polígono zkEVM é de código aberto e usa o tipo 2 zkEVM. Ele emprega provas ZK para reduzir as taxas de transação e aumentar o rendimento, mantendo a segurança do Ethereum L1. A Polygon declarou em 14 de fevereiro deste ano que o Polygon zkEVM passou em 100% dos vetores de teste Ethereum adequados para zkEVM. Os desenvolvedores não precisam modificar ou reescrever nenhum código, e todas as ferramentas Ethereum podem funcionar perfeitamente com o Polygon zkEVM. Isso significa que o EVM A compatibilidade do ZK Rollup deu mais um grande passo e atingiu o nível do Tipo 2, que é totalmente equivalente ao EVM. O beta da rede principal Polygon zkEVM foi lançado oficialmente em 27 de março de 2023.
Tipo 2.5 (EVM equivalente, exceto custo de gás)
Uma maneira de melhorar o tempo de verificação é aumentar consideravelmente o custo do gás de certas operações no EVM que são difíceis de provar ZK. Isso pode envolver pré-compilação, keccak opcodes e possivelmente padrões específicos de invocar contratos ou acessar memória, armazenamento ou restauração.
Alterar o custo do gás pode reduzir a compatibilidade da ferramenta do desenvolvedor e interromper alguns aplicativos, mas geralmente é considerado menos arriscado do que alterações "mais profundas" do EVM. Os desenvolvedores devem ter cuidado para não pedir mais de um bloco de gás em uma transação e nunca fazer chamadas com quantidades de gás codificadas.
No momento, não há nenhum projeto específico para fazer o Tipo 2.5 EVM, apenas entrou em um estágio do Tipo 2.
Tipo 3 (equivalência em nível de bytecode - quase equivalente a EVM)
Tipo 3 zkEVM é quase equivalente ao EVM, mas alguns sacrifícios são feitos para a equivalência exata a fim de reduzir ainda mais o tempo de prova e tornar o EVM mais fácil de desenvolver.
As vantagens do tipo 3 zkEVM são mais fáceis de construir e tempo de verificação mais rápido. Tipo 3 zkEVM pode remover alguns recursos que são particularmente difíceis de implementar em implementações zkEVM. Além disso, os zkEVMs Tipo 3 às vezes têm diferenças sutis na maneira como lidam com o código do contrato, a memória ou a pilha.
A desvantagem do tipo 3 zkEVM é que ele é menos compatível. O tipo 3 zkEVM visa ser compatível com a maioria dos aplicativos, exigindo um esforço mínimo de reescrita para o resto. Dito isso, haverá alguns aplicativos que precisarão ser reescritos porque usam pré-compilações removidas pelo tipo 3 zkEVM ou por causa de dependências sutis em casos extremos com os quais a VM lida de maneira diferente.
Atualmente, os projetos relacionados ao tipo 3 zkEVM incluem Scroll.
Scroll é um zk-rollup equivalente a EVM desenvolvido pela equipe Scroll em cooperação com o grupo PSE (Privacy and Scaling Explorations) da Ethereum Foundation. Atualmente está no estágio pré-alfa da rede de teste e pretende ser totalmente compatível com EVM no nível de bytecode. Isso significa que os desenvolvedores podem usar qualquer linguagem compatível com EVM para criar contratos inteligentes e implantá-los no Scroll. Embora Scroll esteja atualmente construindo um EVM Tipo 2, muitas das pré-compilações mais complexas ainda não foram implementadas e, portanto, são consideradas um EVM Tipo 3. Segundo Scroll, a previsão é lançar a mainnet em julho e agosto deste ano, e disse que pode lançar um programa de parcerias para estimular o desenvolvimento ecológico.
Atualmente, o Tipo 3 EVM é apenas um estágio de transição até que o trabalho complexo de adicionar pré-compilação seja concluído e, então, os projetos podem passar para o Tipo 2.5 zkEVM. Mas, no futuro, os EVMs Tipo 1 e Tipo 3 podem adicionar uma nova pré-compilação compatível com ZK-SNARK, fornecendo aos desenvolvedores baixo tempo de verificação e funções de baixo custo de gás.
Tipo 4 (equivalência de nível de linguagem de desenvolvimento - linguagem de alto nível equivalente a EVM)
O Type 4 EVM funciona compilando o código-fonte do contrato inteligente escrito em uma linguagem de alto nível (como Solidity, Vyper ou linguagem intermediária) em alguma linguagem explicitamente projetada para ser compatível com o ZK-SNARK.
A vantagem do tipo 4 zkEVM é a velocidade de prova mais rápida. Como esse tipo não prova zk todas as diferentes partes de cada etapa de execução do EVM, mas começa diretamente no código de alto nível, muitos custos podem ser evitados.
A desvantagem do tipo 4 zkEVM é que ele é menos compatível. Uma é que os endereços dos contratos no sistema Tipo 4 podem ser diferentes de seus endereços no EVM; a outra é que muitos aplicativos usam bytecodes EVM manuscritos em algumas partes para melhorar a eficiência, o que o sistema Tipo 4 pode não suportar. As instalações também não podem ser herdadas.
Atualmente, os projetos relacionados ao tipo 4 zkEVM incluem zkSync Era e StarkNet.
O zkSync Era foi criado pelo Matters Lab. O zkSync Era é o primeiro EVM a ser lançado na rede principal e ter acesso total ao público para conectar seus fundos ao sistema ou implantar seu código na rede. O zkSync Era usa um formato de bytecode diferente para oferecer suporte ao Solidity, fornecendo um compilador. Ele suporta Solidity, mas não o próprio bytecode EVM. Ferramentas como Hardhat não podem ser usadas diretamente, embora um plug-in para zkSync esteja disponível.
Criado pela StarkWare, StarkNet é um zk-rollup L2 que usa provas de conhecimento zero para criar uma camada de execução off-chain para Ethereum. Na verdade, o EVM não é um recurso nativo do Starknet. A Starknet usa um conversor Warp (fornecido pela Nethermind) para converter o código Solidity em Cairo para dar suporte à implantação de contrato inteligente.
Desafios e futuro do zkEVM
**
**
Como o EVM não é construído tendo em mente a computação à prova de zk, ele possui recursos que não são amigáveis para circuitos de prova, especialmente em termos de opcodes especiais, sobrecarga de armazenamento arquitetônico baseado em pilha e custos de prova. Mas vários avanços na tecnologia de conhecimento zero tornaram possível aliviar esses problemas.
Os cinco tipos de zkEVM não têm claro quem é bom e quem é mau. O tipo de número mais baixo é mais compatível com a infraestrutura existente, mas mais lento, enquanto o tipo de número mais alto é menos compatível com a infraestrutura existente, mas mais lento, mais rápido. Em geral, diferentes projetos que exploram diferentes tipos são benéficos para o desenvolvimento de zkEVM e Ethereum.
No futuro, haverá várias implementações zkEVM que podem ser usadas tanto para ZK Rollup quanto para validar a própria cadeia Ethereum. Em teoria, o Ethereum não precisa usar um único padrão zkEVM para L1, e diferentes clientes podem usar provas diferentes. No entanto, levará algum tempo até que tal futuro seja realizado. Ao mesmo tempo, veremos mais inovações nos diferentes caminhos de dimensionamento do Ethereum e do ZK-rollup baseado no Ethereum.