Bem-vindo a esta exploração no intrigante mundo das Provas de Conhecimento Zero, Rollups e zkEVM - conceitos que estão rapidamente redefinindo o cenário da tecnologia blockchain. Esta visão geral foi projetada para levá-lo a uma jornada através dessas construções tecnológicas avançadas, simplificando-as em peças digeríveis e compreensíveis para que você possa apreciar seu impacto e potencial.
Nosso objetivo é preencher a lacuna entre os aspectos teóricos e práticos dessas tecnologias avançadas, fornecendo a você uma compreensão completa de suas aplicações no mundo real e impacto potencial. Assim, seja você um entusiasta ou um profissional da área, esperamos que esta visão geral sirva como um guia abrangente para esses conceitos transformadores na tecnologia blockchain.

O que é ZK?
"Conhecimento zero" geralmente se refere a um conceito em criptografia conhecido como "prova de conhecimento zero". Este é um método pelo qual uma parte (o provador) pode provar a outra parte (o verificador) que conhece um valor x, sem transmitir nenhuma informação além do fato de que conhece o valor x.
O termo se origina do fato de que o verificador não obtém conhecimento sobre os detalhes da prova além da validade da afirmação. Por exemplo, se você estivesse tentando provar que sabe a senha de uma conta, uma prova de conhecimento zero poderia confirmar que você sabe a senha sem nunca revelar qual é a senha.
A ideia das provas de conhecimento zero é significativa em tecnologias que aprimoram a privacidade. Por exemplo, é um componente fundamental de algumas criptomoedas e outros sistemas onde é crucial equilibrar a necessidade de verificação e a necessidade de privacidade.
A prova em ZK
No contexto da ciência da computação e criptografia, uma prova é um processo ou método que confirma a validade de uma alegação sem revelar nenhuma informação extra. A alegação pode ser tão simples quanto provar que você sabe uma senha sem revelar qual é a senha.
-
ZK-SNARK (Argumento de Conhecimento Zero Succinto Não Interativo): Esta é uma forma de prova de conhecimento zero que é particularmente eficiente em termos de computação e da quantidade de dados que precisam ser armazenados ou transmitidos. "Succinto" significa que as provas são pequenas e rápidas de verificar, e "Não interativo" significa que nenhuma comunicação de ida e volta é necessária. ZK-SNARKs são usados em sistemas blockchain que preservam a privacidade, como Zcash.
-
ZK-STARK (Argumento de Conhecimento Zero Escalável Transparente): Esta é outra forma de prova de conhecimento zero. Embora também forneçam eficiência, os ZK-STARKs oferecem a vantagem adicional de não exigir nenhuma configuração confiável (daí a parte "Transparente" do acrônimo). No entanto, os ZK-STARKs são mais intensivos em computação e produzem provas maiores do que os ZK-SNARKs. ZK-STARK é usado em Fractal, SuperSonic, StarkWare, Polygon Miden, etc.
Por que precisamos de ZK em uma blockchain?
À medida que redes blockchain como Bitcoin e Ethereum cresceram em popularidade, o número de transações processadas nessas redes aumentou dramaticamente. Este é um sinal positivo de adoção, mas também traz consigo alguns desafios. As blockchains, por seu design, não são inerentemente escaláveis, o que leva a problemas como tempos de transação lentos e taxas altas.
Por que a escalabilidade é necessária?
-
Vazão de transações limitada: Cada bloco em uma blockchain tem uma capacidade limitada, e há um novo bloco a cada poucos minutos (cerca de 10 minutos para Bitcoin e aproximadamente 15 segundos para Ethereum, conforme minha última atualização em 2021). Isso limita o número de transações que podem ser processadas por segundo. Por exemplo, o Bitcoin pode lidar com cerca de 3-7 transações por segundo (tps), e o Ethereum pode lidar com cerca de 15 tps. Isso é muito menos do que os sistemas tradicionais como o Visa podem lidar (milhares de tps).
-
Taxas altas: Quando a rede está congestionada, os usuários frequentemente precisam pagar taxas mais altas para priorizar suas transações.
-
Confirmações lentas: Em tempos de alta demanda, as transações podem levar muito tempo para serem confirmadas porque há mais transações do que a rede pode processar rapidamente.
Como escalar?
Existem geralmente duas abordagens para escalar uma blockchain - escalabilidade da Camada 1 (on-chain) e escalabilidade da Camada 2 (off-chain).
-
A escalabilidade da Camada 1 envolve mudanças no próprio protocolo da blockchain. Isso pode envolver o aumento do tamanho do bloco (permitindo que cada bloco contenha mais transações), a diminuição do tempo do bloco ou a implementação de sharding (dividindo a rede em pedaços menores, ou "shards", cada um capaz de processar suas próprias transações e contratos inteligentes).
-
A escalabilidade da Camada 2 envolve a construção de uma camada secundária sobre a blockchain existente. As transações são processadas off-chain e depois liquidadas on-chain. Exemplos de soluções de Camada 2 incluem canais de estado, cadeias Plasma e rollups (Rollups Otimistas e ZK-Rollups). Essas soluções essencialmente movem a maioria das transações para fora da cadeia principal, reduzindo o congestionamento.
Escalar uma blockchain é um equilíbrio entre manter sua natureza descentralizada (que pode ser comprometida por algumas soluções de Camada 1) e aumentar sua capacidade de lidar com mais transações de forma rápida e barata. Diferentes blockchains podem optar por diferentes soluções de escalabilidade com base em seus objetivos e restrições específicos.
A tecnologia ZK é aplicada nas soluções de escalabilidade de rollup.
O que é rollup?
"Rollups" são soluções de Camada 2 projetadas para aumentar a vazão de uma blockchain, como o Ethereum, sem ter que alterar seu protocolo subjacente ou "Camada 1". Eles visam resolver problemas de escalabilidade que muitas blockchains enfrentam à medida que se tornam mais populares.
Aqui está uma maneira simplificada de entender como eles funcionam:
-
Agregação Off-chain: As transações são coletadas e processadas fora da cadeia principal em uma "sidechain" ou "cadeia de rollup". Essa agregação acontece off-chain para evitar congestionar a cadeia principal.
-
Computação e Armazenamento: Os dados associados a essas transações são processados e armazenados off-chain. Isso reduz a carga computacional na cadeia principal.
-
Submissão à Cadeia Principal: Uma vez que o rollup de transações está pronto, uma prova das transações agregadas (esta pode ser uma prova criptográfica como um SNARK ou um STARK, ou simplesmente um hash dos dados) é submetida à cadeia principal. Esta prova é muito menor em tamanho do que a lista completa de transações individuais seria.
-
Verificação: Os validadores na cadeia principal verificam esta prova. Uma vez verificada, as transações agrupadas são consideradas confirmadas.
Existem dois tipos principais de rollups: Rollups Otimistas e ZK-Rollups.
-
Rollups Otimistas: Estes dependem de um sistema de "provas de fraude". Essencialmente, eles assumem que o rollup de transações está correto, a menos que alguém prove que é fraudulento.
-
ZK-Rollups: Estes usam provas de conhecimento zero para validar a correção de cada rollup de transações. Os ZK-Rollups têm a vantagem de não exigir um período de espera para confirmação, pois não dependem de provas de fraude.
Ambas as soluções ajudam a aumentar o número de transações que podem ser processadas por segundo na blockchain, levando a uma melhor escalabilidade. Aqui estão suas diferenças:
| Rollup Otimista | ZK-Rollup | |
|---|---|---|
| Estimativa de Vazão | ~500 TPS | ✅ >2000 TPS |
| Período de retirada de fundos | Semanas | ✅ Minutos a horas |
| Privacidade | Caro | ✅ Barato |
| Compatível com EVM | ✅ | ⚠️ precisa ajustar seu código Solidity |
| Custos | ✅ baixo | ❌ alto |
ZK-Rollup vs. zkEVM
ZK-Rollup e zkEVM são ambas soluções de escalabilidade de Camada 2 que usam provas de conhecimento zero para Ethereum, mas visam diferentes níveis de funcionalidade.
-
ZK-Rollup: Este é um tipo específico de solução de Camada 2 que agrupa ou "enrola" muitas transações em uma única transação, aumentando significativamente o número de transações que podem ser processadas por segundo. Cada ZK-Rollup contém uma transição de estado e uma prova de que a transição está correta. No entanto, tradicionalmente, os ZK-Rollups têm sido limitados na complexidade das computações que podem lidar, sendo usados principalmente para transferências simples.
-
zkEVM (zk Ethereum Virtual Machine): Este é um desenvolvimento mais recente que traz o poder das provas de conhecimento zero para a Ethereum Virtual Machine (EVM). A EVM é o ambiente no qual todos os contratos inteligentes no Ethereum são executados. O zkEVM permite que interações de contratos inteligentes mais complexas sejam agrupadas usando provas de conhecimento zero, não apenas transferências simples. Em outras palavras, o zkEVM visa tornar qualquer computação arbitrária verificável em conhecimento zero, permitindo efetivamente que a totalidade das capacidades de contratos inteligentes do Ethereum seja escalada via ZK-Rollups.
zkEVM vs EVM
A EVM é o ambiente de execução para contratos inteligentes no Ethereum. É um sistema poderoso que permite aos desenvolvedores escrever scripts complexos, na forma de contratos inteligentes, que são então executados à medida que as transações ocorrem na rede Ethereum. A compatibilidade com a EVM, portanto, significa que a solução de Camada 2 pode executar os mesmos contratos inteligentes da mesma forma que a EVM.
Aqui estão alguns níveis gerais de compatibilidade:
-
Equivalente à EVM: Este é o nível mais alto de compatibilidade. Uma solução equivalente à EVM pode executar qualquer contrato inteligente que possa ser executado na cadeia principal do Ethereum sem quaisquer alterações. Ela replica totalmente as capacidades da EVM. zkSync 2.0, por exemplo, afirma oferecer funcionalidade equivalente à EVM em um ZK-Rollup.
-
Compatível com EVM: Uma solução compatível com EVM pode executar muitos, mas não necessariamente todos, os mesmos contratos inteligentes que a EVM. Podem ser necessários alguns ajustes nos contratos inteligentes para fazê-los funcionar dentro da solução de Camada 2.
-
Não Compatível com EVM: Uma solução não compatível com EVM oferece funcionalidade diferente do que está disponível na cadeia principal do Ethereum. Ela pode ser capaz de processar transações simples, mas não contratos inteligentes complexos, por exemplo.
O objetivo dos projetos zkEVM é desenvolver ZK-Rollups que ofereçam funcionalidade total, ou quase total, equivalente à EVM. Isso permite que os desenvolvedores portem suas aplicações descentralizadas para essas soluções de Camada 2 sem mudanças significativas, beneficiando-se assim da escalabilidade aprimorada sem sacrificar a funcionalidade oferecida pela EVM.
Soluções zkEVM no mercado
Scroll
A equipe Scroll, estabelecida em 2021, tem se dedicado a desenvolver um ZK Rollup que seja equivalente à EVM (Ethereum Virtual Machine) do Ethereum como parte de seus esforços contínuos para escalar o Ethereum. Em colaboração com a equipe de Explorações de Privacidade e Escalabilidade e outros contribuidores de código aberto, a Scroll dedicou os últimos dois anos para construir publicamente uma zkEVM (Zero-Knowledge Ethereum Virtual Machine) compatível com bytecode.
A Scroll anunciou no final de fevereiro que sua testnet Alpha está agora ativa na rede Goerli. A testnet Alpha, aberta a todos os usuários para testes técnicos sem permissão, tem um tempo médio de bloco de três segundos. Até o momento, ela facilitou mais de 20 milhões de transações, gerou mais de 1,5 milhão de blocos e possui mais de quatro milhões de endereços interativos. Além disso, em 11 de abril, a Scroll abriu sua interface de ecossistema no site.
Divulgações recentes indicam que a Scroll está progredindo consistentemente no caminho da equivalência EVM Tipo 2. Eles concluíram com sucesso o desenvolvimento de compatibilidade para todos os códigos de operação EVM e estão atualmente passando por processos de auditoria. Seu próximo objetivo é garantir a compatibilidade com as transações EIP2718.
Do ponto de vista técnico, a arquitetura da Scroll é relativamente tradicional. Seu foco principal é a zkEVM, responsável por verificar a correção da execução da EVM na Camada 2 (L2). No entanto, para transformar a zkEVM em um ZK Rollup abrangente no Ethereum, uma arquitetura L2 completa é necessária. Especificamente, a testnet Scroll Alpha existente consiste no Scroll Node, Bridge Contract e Rollup Contract.
O Scroll Node é composto por um Sequencer, um Relayer e um Coordinator. O Sequencer, conhecido como ordenador, expõe JSON-RPC a usuários e aplicações, lê transações do pool de transações e gera blocos L2 e raízes de estado. Atualmente, os nós Sequencer da Scroll são centralizados, com planos de descentralizar progressivamente em futuras atualizações.

O Coordinator lida com a comunicação entre o Roller e o Scroll Node, selecionando um Roller aleatoriamente do pool para gerar prova sempre que um novo bloco é criado no Sequencer. O Relayer monitora o Bridge Contract e o Rollup Contract nas cadeias Ethereum e Scroll. O Rollup Contract garante a disponibilidade de dados L2 no nível da Camada 1 (L1) e assegura a recuperação de blocos L2 no nível L1. O Bridge Contract é responsável pela comunicação inter-cadeia durante operações cross-chain, facilitando a transmissão bidirecional de mensagens e as operações de colateralização e extração de ativos.
Por fim, a Rede Roller desempenha um papel crucial. O Roller, incorporado com zkEVM, atua como um provador na rede, gerando provas de validade para o ZK Rollup. O Roller inicialmente converte o rastro de execução recebido do Coordinator em testemunhas de circuito. Em seguida, ele gera provas para cada circuito zkEVM, eventualmente agregando essas provas de múltiplos circuitos ZK.
Este design arquitetônico sofisticado significa a dedicação inabalável da Scroll em aprimorar a escalabilidade do Ethereum através de rollups zkEVM. Com suas práticas de desenvolvimento públicas e transparentes, eles são um exemplo brilhante das possibilidades que a colaboração dentro da comunidade de código aberto pode render.
StarkWare
A StarkWare está expandindo os limites da tecnologia blockchain ao oferecer uma solução de escalabilidade baseada em STARK que garante segurança, velocidade e experiências de usuário contínuas na Camada 2 (L2). Eles suportam múltiplos modos de disponibilidade de dados, com suas ofertas incluindo StarkNet e StarkEx.
StarkNet é sua rede L2, enquanto StarkEx é um serviço de verificação de Rollup projetado para usuários corporativos. DApps (Aplicações Descentralizadas) podem ser constru ídos sobre o serviço StarkEx. No entanto, o serviço atualmente suporta apenas a escrita de circuitos personalizados para DApps específicos e não um ZK Rollup universal. StarkEx também inclui vários serviços plug-and-play, como cunhagem e negociação de NFTs, e negociação de derivativos. Em termos de ecossistema, dYdX, uma plataforma descentralizada de negociação de contratos futuros, é um usuário leal da StarkWare.
Estritamente falando, StarkNet pode ser descrita como uma zkVM (Máquina Virtual de Conhecimento Zero). Ela não usa circuitos ZK para opcodes do Ethereum. Em vez disso, emprega uma linguagem assembly mais amigável ao ZK, AIR (Representação Intermediária Algébrica), e a linguagem de alto nível, Cairo. Embora a própria StarkNet não seja compatível com a EVM, a compatibilidade com o Ethereum pode ser alcançada através de métodos como Kakarot, uma zkEVM escrita em Cairo e uma EVM equivalente a bytecode. Em termos de características centralizadas, a StarkNet é um tanto centralizada e não pode atualizar sua segurança em linha com o Ethereum. Portanto, requer esforços concentrados dos desenvolvedores para reforçar seus recursos de segurança e acompanhar o Ethereum na adaptação de novos protocolos.
StarkNet emprega STARK como seu sistema de prova, o que apresenta mais inovação em comparação com SNARK. Ao contrário do SNARK, o STARK não depende de uma "configuração confiável". Além disso, oferece suposições criptográficas mais simples, eliminando a necessidade de curvas elípticas, emparelhamentos e suposições de conhecimento exponencial. Em vez disso, ele se baseia puramente em hash e teoria da informação, tornando-o mais resiliente a ataques quânticos. No geral, o STARK é mais seguro que o SNARK. Em termos de escalabilidade, o STARK tem efeitos marginais substanciais, com provas maiores levando a custos totais mais baixos.
No entanto, existem preocupações arquitetônicas. Atualmente, o sistema possui apenas um Sequencer, controlado pela StarkWare, e um Prover, responsável por gerar Provas ZK. Este Prover não apenas gera provas para a StarkNet, mas também para todas as outras aplicações rodando em seu próprio rollup StarkEx. Essa concentração de controle pode representar riscos potenciais a longo prazo.
Em conclusão, a StarkWare está direcionando o desenvolvimento de soluções L2 com sua arquitetura de escalabilidade baseada em STARK. No entanto, como acontece com todas as tecnologias, seu sucesso futuro dependerá de quão bem ela aborda as questões de centralização e mantém um equilíbrio entre segurança, velocidade e experiência do usuário.
zkSync
Semelhante à StarkNet, a zkSync tem sido firme em optar por uma zkVM equivalente a uma linguagem de alto nível, atraindo muita atenção, com um calor e valor bloqueado notavelmente altos. Lançada na mainnet do Ethereum em 15 de junho de 2020, a zkSync 1.0 (também conhecida como zkSync Lite) alcançou uma vazão de transações de cerca de 300 TPS (Transações Por Segundo), mas não era compatível com a EVM (Ethereum Virtual Machine). A zkSync 2.0 (também referida como zkSync Era) foi lançada em 24 de março de 2023.
O objetivo da zkSync Era é gerar provas mais rapidamente otimizando sua VM personalizada, em vez de buscar compatibilidade com a EVM. Ela suporta Solidity, Vyper, Yul e Zinc (a linguagem de programação interna do rollup) através de um poderoso compilador LLVM, implementando assim a maioria das funcionalidades de contratos inteligentes. Como adota uma VM interna, a zkSync Era suporta abstração de conta nativa, permitindo que qualquer conta pague taxas usando qualquer token.
Além disso, a aplicação do protocolo zkPorter, que combina ZK Rollups e tecnologia de sharding, levou a um crescimento exponencial na vazão da rede, atingindo mais de 20.000 TPS (semelhante à comutação de disponibilidade de dados da Volition).
No geral, a zkSync se destaca como um projeto L2 com um ecossistema rico, atraindo a atenção de desenvolvedores e investidores. Embora tenha havido casos recentes de projetos falhando completamente na zkSync, permanece a questão se os desenvolvedores podem ter uma boa experiência de desenvolvimento e migração na zkVM equivalente a uma linguagem de alto nível. Atualmente, há uma falta de relatórios de uso definitivos de desenvolvedores. Se a experiência do desenvolvedor for favorável, isso levanta a questão da relevância de outros tipos de esforços para alinhar a zkVM com a EVM. Mais tempo e observação são necessários para responder a essas perguntas.
Em conclusão, a zkSync, com sua aderência a uma zkVM equivalente a uma linguagem de alto nível, apresenta uma evolução emocionante no mundo das soluções de escalabilidade de Camada 2 do Ethereum. À medida que o projeto continua a amadurecer, seu impacto no desenvolvimento de blockchain e na experiência do usuário se tornará mais claro, contribuindo para nossa compreensão do futuro da tecnologia de Camada 2.
Polygon zkEVM
Em 27 de março, a Polygon lançou a versão Beta de sua mainnet zkEVM Rollup, uma máquina virtual equivalente ao Ethereum, e abriu o código de todo o seu zkEVM. Embora o valor bloqueado na zkEVM da Polygon seja significativamente menor em comparação com a zkSync, ela hospeda uma variedade de projetos intrigantes e vibrantes dentro de seu ecossistema.
A Polygon se distingue da Scroll em seu design de Rollup, pois emprega um modelo de Prova de Eficiência (PoE) para incentivar Sequencers e Aggregators, abordando desafios relacionados à descentralização e validadores sem permissão. Neste modelo de dois passos Sequencer-Aggregator sem permissão, qualquer Sequencer pode propor aplicações de empacotamento em lote para ganhar taxas de empacotamento, mas deve pagar pelas taxas de Gas da Camada 1 (L1) e depositar uma certa quantidade de Tokens. Ao mesmo tempo, os Aggregators são obrigados a definir seus próprios objetivos para maximizar o lucro por geração de prova. Além disso, a Polygon exibe profunda compatibilidade com Volition (uma mistura de ZK Rollup e Validium) em seu modelo de disponibilidade de dados, oferecendo aos usuários vários níveis de serviço.
A Polygon também investiu um esforço substancial em seus protocolos ZK, produzindo resultados notáveis. Eles resumiram suas vantagens tecnológicas em sua documentação, que inclui principalmente:
-
Compatibilidade Aprimorada: A Polygon adere consistentemente a uma zkVM equivalente à EVM, visando reduzir os custos para desenvolvedores que migram aplicações descentralizadas (dApps). Apesar de o Polygon Miden utilizar o protocolo ZK-STARK, ele ainda suporta a execução de contratos Solidity.
-
Verificação Mais Fácil: O ZK Rollup frequentemente enfrenta críticas devido à exigência de hardware especializado caro para gerar provas de validade. Esses custos são então transferidos aos usuários pelos fabricantes que operam o hardware. O Polygon ZK Rollup (como o Polygon Zero) visa simplificar o esquema de prova, permitindo que dispositivos de menor qualidade participem. Por exemplo, o teste de geração de prova Plonky2 realizado em um PC de nível de consumidor.
-
Processo Mais Rápido de Geração e Verificação de Provas: O Polygon Zero pode gerar uma prova de 45kb em 170 milissegundos.
Em suma, o lançamento da versão Beta da mainnet zkEVM Rollup da Polygon significa um passo crucial na evolução da tecnologia de Camada 2 do Ethereum. Com seu ecossistema robusto e compromisso contínuo em aprimorar a compatibilidade, facilitar a verificação e acelerar a geração de provas, a Polygon está estabelecendo uma narrativa convincente no espaço blockchain.
Resumo
Esta visão geral girou em torno de zk, rollup e zkEVM, que são aspectos proeminentes da tecnologia blockchain. Também comparamos soluções fornecidas por Scroll, StarkWare, zkSync e Polygon, etc.
No entanto, não existe uma solução mágica. Os principais problemas que discutimos em relação ao zkEVM incluem centralização, custo e complexidade.
- A centralização está principalmente relacionada ao controle de Sequencers e Provers, potencialmente limitando o escopo da descentralização.
- A complexidade é outro desafio significativo, em grande parte devido aos intrincados requisitos de codificação e à necessidade de experiência especializada para gerar e verificar provas.
- O alto custo do zkEVM surge dos consideráveis recursos necessários para gerar provas de validade, frequentemente repassados aos usuários. No entanto, avanços estão sendo feitos para simplificar a geração de provas e reduzir os custos, sugerindo potenciais soluções para esses problemas.