Pular para o conteúdo
0%

O que é ZKsync Era? Uma visão geral para desenvolvedores Ethereum

Sankrit K headshot

Escrito por Sankrit K

Publicado em 9 de maio de 202411 min de leitura

Rollups ZK surgiram como uma solução promissora para a escalabilidade do blockchain — eles melhoraram a privacidade por meio de provas de conhecimento zero (ZKPs), aumentaram a velocidade das transações e reduziram significativamente as taxas. No entanto, careciam de adoção, já que os rollups ZK não eram compatíveis com a Ethereum Virtual Machine (EVM).

A EVM é o núcleo da Ethereum que permite aos desenvolvedores criar e implantar apps usando Solidity. Como os rollups ZK tradicionais não eram compatíveis com a EVM, os desenvolvedores tinham que reescrever os smart contracts por completo para o ambiente de rollup ZK. Consequentemente, apesar de seu potencial, isso se tornou um obstáculo para a adoção da tecnologia. O ZKsync busca mudar isso.

O ZKsync, da Matter Labs, é uma solução de escalabilidade em camada 2 inédita para a Ethereum. Em apenas seis meses após revelar sua visão de uma solução de escalabilidade trustless e focada em privacidade para a Ethereum, o ZKsync surpreendeu o espaço blockchain ao alcançar o aparentemente impossível: compatibilidade com a EVM.

Com o tempo, o ZKsync se dividiu em dois: ZKsync Lite e ZKsync Era.

Este artigo entra nos detalhes do ZKsync Era, como ele difere do ZKsync Lite e como se destaca em relação a outras blockchains ZK.

O que é o zkSync era?

O ZKsync é uma solução de camada 2 de propósito geral para Ethereum e o primeiro rollup ZK compatível com a EVM do mundo.

Ele resolve dois problemas persistentes da mainnet da Ethereum: escalabilidade e taxas de transação elevadas.

Um gráfico do TVL da zkSync Era
TVL da zkSync Era

Com seu compilador baseado em LLVM, desenvolvedores que constroem para a Ethereum através do ZKsync podem escrever smart contracts em linguagens como Solidity e Vyper. A maioria dos smart contracts baseados em EVM pode ser migrada para aproveitar todo o potencial dos rollups ZK sem reescrever uma única linha de código.

Uma introdução ao zkEVM

As EVMs são completamente transparentes — e por um bom motivo, ou seja, a verificabilidade. Somente por meio da transparência uma blockchain baseada em EVM conseguiria garantir que todas as transações sejam não apenas visíveis, mas também verificáveis por qualquer participante.

Esse nível de abertura garante que todas as operações sigam as regras de consenso definidas pela rede, evitando assim fraudes e mantendo a rede segura e descentralizada.

Mas o objetivo nunca foi a transparência. Foi a trustlessness. A transparência era apenas o caminho até a trustlessness antes dos rollups ZK.

Por exemplo, um agente honesto (digamos, um usuário comum) pode preferir que suas transações e outras informações permaneçam privadas, por preferência pessoal. As blockchains, tradicionalmente, não permitiam isso.

Mas com as zkEVMs, qualquer transação na blockchain pode ser provada de forma probabilística, em vez de revelar cada informação da transação.

Um diagrama de uma transação zkEVM.
Diagrama de transação zkEVM

O que é o zkSync lite?

A primeira versão do ZKsync criada pela Matter Labs foi o ZKsync 1.0 — uma solução de camada 2 focada principalmente em viabilizar transferências de tokens seguras e de baixo custo na Ethereum. Mais tarde, foi renomeada para "ZKsync Lite".

O ZKsync Lite agrupa transações off-chain para gerar provas de validade, que são então enviadas à mainnet da Ethereum para verificação. No entanto, não possui compatibilidade total com a EVM, o que limita a variedade de apps suportados.

As limitações do ZKsync Lite motivaram uma segunda versão, o ZKsync 2.0, que hoje conhecemos como "ZKsync Era".

zkSync lite vs. zkSync era

Chain

ZKsync Lite

ZKsync Era

Foco

Pagamentos e transferências de tokens escaláveis

Solução de escalabilidade totalmente programável

Compatibilidade com EVM

Limitada

Total

Suporte a Smart Contracts

Básico (swaps, transferências)

Extenso (DeFi, NFTs, DAOs, etc.)

Arquitetura

Rollup ZK puro

Híbrida (rollup ZK e zkPorter para maior escalabilidade)

Velocidade de Integração

Rápida

Mais lenta que o ZKsync Lite

Casos de Uso

Pagamentos, transações simples

Pagamentos, apps complexos, protocolos DeFi, marketplaces de NFT, jogos, etc.

Saiba mais na documentação.

Visão geral da abstração de conta nativa do zkSync

Blockchains mais antigas ou legadas têm dificuldade para implementar as inovações de abstração de conta nativamente no nível do protocolo. Por serem muito mais maduras, integrar a stack de tecnologia de AA nesse nível causaria problemas de compatibilidade retroativa.

O ZKsync, por outro lado, é uma solução relativamente nova que consagrou a AA por meio de uma integração semelhante ao ERC-4337.

Veja como o protocolo implementa a AA nativamente:

Diagrama de abstração de conta da zkSync. Fonte: Clave
Diagrama de abstração de conta da zkSync

Iniciação da transação

As transações são enviadas de EOAs e contratos para o mempool. Isso inclui transferências regulares, interações com contratos e outros tipos de transação.

Agregação de transações

O Bundler (Operador Sequencer) coleta as transações do mempool e as agrupa em um batch.

Esse processo inclui a geração de provas criptográficas (provavelmente provas de conhecimento zero) pelo Entrypoint (BootLoader), que atestam a validade de todas as transações do batch sem revelar os dados subjacentes das transações.

Envio da prova e finalização da transação

As transações agrupadas e suas provas são enviadas ao Rollup Contract na Ethereum L1.

O Rollup Contract verifica essas provas e, após a validação bem-sucedida, finaliza as transações.

Essa etapa efetivamente grava os resultados das computações da Camada 2 de volta na blockchain principal da Ethereum.

Finalização

Uma vez confirmadas pelo Rollup Contract, as transações são consideradas finalizadas.

A finalidade do bloco na Ethereum garante que todas as transações incluídas sejam imutáveis e façam parte oficialmente do ledger da Ethereum.

Que tipo de tecnologia ZK é usada no zkSync?

"A tecnologia ZK é o santo graal da escalabilidade. E é assim que, eventualmente, a Ethereum e todas as blockchains vão escalar."

— Alex Gluchowski | Cofundador e CEO da Matter Labs

Prova de conhecimento zero, especificamente ZK-SNARKs recursivas, são centrais para a tecnologia usada no ZKsync.

SNARKs são um tipo específico de prova de conhecimento zero que são tanto sucintas (ou seja, pequenas em tamanho e rápidas de verificar) quanto não-interativas (não exigem comunicação de ida e volta entre o provador e o verificador).

As SNARKs recursivas expandem esse conceito ao permitir que uma prova SNARK verifique outra SNARK. Isso possibilita a construção de uma "pirâmide de provas", em que cada camada depende da validade da anterior, permitindo a verificação escalável e eficiente de um número potencialmente enorme de computações ou transações.

Assim, mesmo dispositivos com poder computacional comparativamente baixo, como smartphones, conseguem verificar um grande número de transações com recursos mínimos.

Um diagrama de verificação de bloco da zkSync criado pela Matter Labs
Diagrama de verificação de bloco da zkSync. Fonte: Matter Labs

Dando suporte à tecnologia do ZKsync está seu framework, o ZK Stack.

Construindo com o ZK stack: o framework por trás do zkSync

O ZK Stack é um framework modular e open-source baseado nos princípios do ZK Credo para a construção de Hyperchains com tecnologia ZK.

Essas Hyperchains funcionam como blockchains independentes que se beneficiam de interoperabilidade contínua dentro do ecossistema do ZK Sync.

Um diagrama da estrutura de hyperchain baseada em ZK.
Diagrama de hyperchain ZK. Fonte: Matter Labs

A modularidade do ZK Stack oferece aos desenvolvedores controle granular sobre:

  • Disponibilidade de Dados: Escolha entre configurações de rollup, validium ou volition para equilibrar privacidade e escalabilidade da forma ideal.
  • Tokenomics: Projete sua Hyperchain com Ether como token base, um token personalizado ou até suporte a múltiplos tokens.
  • Sequenciamento: Implemente diferentes configurações de sequenciador, seja para eficiência centralizada (negociação de alta frequência) ou segurança descentralizada e sem permissão.

zkSync vs. blockchains ZK alternativas

Até alguns anos atrás, a comunidade buscava sidechains e plasma para a escalabilidade da Ethereum. Agora, porém, os rollups assumiram o protagonismo como a tecnologia para escalar a Ethereum de forma eficaz.

Desde sua introdução em 2018, os rollups ZK, em particular, reuniram atenção e adoção significativas, com grandes projetos como o Polygon adotando-os e líderes de pensamento como Vitalik Buterin defendendo-os.

Um diagrama de Provas ZK e Escalabilidade.
Diagrama de Provas ZK e Escalabilidade. Fonte: Linea

Segundo o L2 Beat, já existem 11 soluções de escalabilidade em camada 2 baseadas em rollup ZK ativas e mais 14 a caminho, no momento em que este texto foi escrito. Diante de tantas opções, como as equipes de desenvolvimento tomam a decisão certa ao escolher o rollup adequado para construir?

Uma lista de soluções de escalabilidade de camada 2 baseadas em ZK rollup.
Soluções de escalabilidade de camada 2 baseadas em ZK rollup. Fonte: L2Beat

Há três fatores a considerar ao construir um app:

  1. Escolher a Chain Certa: Avalie escalabilidade, segurança e suporte aos desenvolvedores. Selecione a blockchain que melhor atende às necessidades do projeto nessas áreas.
  2. Considerar uma Estratégia Multichain: Pondere o acesso mais amplo ao mercado e a mitigação de riscos de uma abordagem multichain contra o aumento de complexidade e custos.
  3. Avaliar o Overhead de Engenharia: Considere a facilidade de integração, a manutenção operacional e as habilidades exigidas dos desenvolvedores. Estime os custos totais e o tempo necessário.

Vamos ver como o ZKsync Era se diferencia do Starknet e do Polygon zkEVM.

zkSync era vs. StarkNet

O Starknet é a principal solução de escalabilidade em rollup ZK para a Ethereum (em termos de TVL) e compartilha um objetivo semelhante ao do ZKsync Era: escalar a Ethereum e viabilizar a adoção em massa.

O ZKsync Era priorizou a compatibilidade retroativa, para que os desenvolvedores tenham facilidade em migrar seus projetos ou construir com base no conhecimento existente de Solidity e Vyper.

O Starknet, por outro lado, priorizou uma abordagem que pudesse atrair iniciantes não familiarizados com nenhuma das linguagens de desenvolvimento blockchain convencionais, permitindo que continuassem com o Cairo, uma linguagem supostamente mais simples.

Abaixo está uma tabela que esclarece a diferença entre o ZKsync Era e o Starknet.

Chain

ZKsync Era

Starknet

Geração de Provas

ZK-SNARK

ZK-STARK

Tamanho da Prova

Pequeno

Grande

Trustlessness

Menor

Maior

Custo de Verificação

~460.000 gas por batch

Polilogarítmico (menor com EIP-4844)

Compatibilidade com EVM

Sim

Não

Experiência do Desenvolvedor

Mais fácil para devs de Ethereum

Curva de aprendizado para devs de Ethereum

Linguagens de Programação

Solidity, Vyper

Cairo

Compilador

LLVM

Warp

zkSync era vs. Polygon zkEVM

O ZKsync Era e o Polygon zkEVM foram lançados com menos de uma semana de diferença e ambos se baseiam em tecnologia semelhante, com diferenças sutis. Em particular, o Polygon zkEVM é um rollup equivalente à EVM, enquanto o ZKsync Era é um rollup compatível com a EVM.

"Compatível com a EVM" significa que sua máquina virtual subjacente consegue entender e executar código escrito para a Ethereum Virtual Machine (EVM). Os desenvolvedores conseguem portar facilmente smart contracts Ethereum existentes para o ZKsync Era com modificações mínimas.

"Equivalente à EVM" significa que alcança funcionalidade semelhante à da EVM, mas usa uma máquina virtual diferente por baixo dos panos. Os desenvolvedores podem precisar adaptar seus smart contracts Ethereum existentes para funcionarem perfeitamente no Polygon zkEVM.

A tabela comparativa abaixo destaca diferenças cruciais entre o ZKsync Era e o Polygon zkEVM.

Chain

ZKsync Era

Polygon zkEVM

Geração de Provas

ZK-SNARK

ZK-SNARK e zk-STARK

Tamanho da Prova

Pequeno

Grande

Trustlessness

Menor

Maior

Compatibilidade com EVM

Compatível

Equivalente

Experiência do Desenvolvedor


Migração fácil de smart contracts Ethereum

Pode exigir alguma adaptação de código

Linguagens de Programação

Solidity, Vyper

Solidity

Compilador

LLVM

Nenhum compilador usado

Construa com a Alchemy

O ZKsync já está disponível na Alchemy.

Essa integração elimina a necessidade de executar e manter nós ZKsync, permitindo que você se concentre na proposta de valor exclusiva da sua aplicação.

Acesse os endpoints RPC de mainnet e testnet do ZKsync Era pela Node API da Alchemy. Com as APIs da Alchemy, os desenvolvedores obtêm alta confiabilidade e uma experiência de desenvolvimento simplificada.

3 passos para começar

  1. Crie uma conta gratuita: Acesse a Alchemy e crie sua conta.
  2. Obtenha os Endpoints RPC do ZKsync Era: Procure pelos endpoints do ZKsync Era (mainnet e testnet) no seu painel da Alchemy.
  3. Comece a Construir: Integre esses endpoints ao seu dApp.

Confira a documentação de Quickstart da API do ZKsync Era para mais informações.

Perguntas frequentes

O que é o zkSync era?

O zkSync Era é uma solução de escalabilidade em camada 2 para a Ethereum e o primeiro rollup ZK compatível com a EVM do mundo, que resolve os problemas de escalabilidade e as altas taxas de transação da Ethereum, mantendo compatibilidade total com os smart contracts Ethereum existentes.

Como o zkSync era difere do zkSync lite?

O zkSync Lite foca em pagamentos e transferências de tokens escaláveis, com compatibilidade limitada com a EVM, enquanto o zkSync Era é uma solução de escalabilidade totalmente programável com compatibilidade completa com a EVM, que suporta apps extensos como protocolos DeFi, marketplaces de NFT e jogos.

Os desenvolvedores precisam aprender novas linguagens de programação para construir no zkSync era?

Não, os desenvolvedores podem usar linguagens Ethereum já conhecidas, como Solidity e Vyper, e a maioria dos smart contracts baseados em EVM pode ser migrada sem reescrever uma única linha de código.

Que tipo de tecnologia de conhecimento zero o zkSync era utiliza?

O zkSync Era usa ZK-SNARKs recursivas, que são provas de conhecimento zero sucintas e não-interativas, permitindo a verificação eficiente de grandes volumes de transações com recursos computacionais mínimos.

O que é abstração de conta nativa no zkSync era?

O zkSync Era possui abstração de conta consagrada no nível do protocolo, permitindo funcionalidades avançadas de carteira e melhorias na experiência do usuário sem os problemas de compatibilidade retroativa enfrentados por blockchains mais antigas.

Como o zkSync era se compara a outros rollups ZK, como o starknet?

O zkSync Era prioriza a compatibilidade com a EVM usando Solidity e Vyper para facilitar a migração, enquanto o Starknet usa sua própria linguagem de programação, Cairo, exigindo que os desenvolvedores aprendam novas ferramentas, mas oferecendo um desenvolvimento potencialmente mais simples para iniciantes.

O que é o ZK stack e qual sua relação com o zkSync era?

O ZK Stack é o framework modular e open-source por trás do zkSync Era, que possibilita a construção de Hyperchains com tecnologia ZK, com controle granular sobre disponibilidade de dados, tokenomics e configurações de sequenciamento.

Background gradient

Construa magia blockchain

A Alchemy combina os produtos e ferramentas de desenvolvimento Web3 mais poderosos com recursos, comunidade e suporte lendário.