Autor: xpara, Four Pillars; tradução: Jinse Finance xiaozou
Pontos chave:
A Matterlabs, empresa de desenvolvimento do zkSync, tem trabalhado no desenvolvimento de seu zkEVM exclusivo e na criação de ótimos produtos.
Atualmente, a Era zkSync está mostrando crescimento, conforme evidenciado por suas métricas impressionantes e implantações de desenvolvimento em projetos.
Podemos entender a arquitetura zkSync por meio de três camadas principais do zkSync: camada de execução, camada de liquidação e camada de disponibilidade de dados.
ZK-Stack (base de código subjacente do zkSync) e OP-Stack podem ter filosofias semelhantes. Ainda assim, existem diferenças claras que podem ser vistas da perspectiva dos desenvolvedores dapp, desenvolvedores principais e operadores de negócios.
1**, o desenvolvimento da história do zkSync******
1.1 Breve Histórico do zkSync
O desenvolvimento do zkSync começou no EthCC em 2019. Naquela época, ainda era uma pequena equipe dedicada ao desenvolvimento e implantação conjunta do Rollup com o zkSNARK. Eles lançaram uma prova de conceito em janeiro de 2019 usando zkSNARKs para operar uma sidechain no Ethereum. Desde então, eles fizeram da descentralização um princípio fundamental. Eles se concentraram em armazenar todos os dados da transação no Ethereum e elaboraram um modelo multioperador para lidar com o modelo de descentralização do classificador.
Em junho de 2020, a equipe fez um progresso significativo com o lançamento da rede principal zkSync v1. zkSync v1 é um marco importante no desenvolvimento do zkSync, representando a implementação real de seu conceito original em uma escala maior. Um ano depois, em junho de 2021, eles fizeram mais um avanço e lançaram o testnet zkSync 2.0, também conhecido como Era.
Em março de 2023, a rede principal completa do zkSync foi lançada com sucesso, marcando uma grande conquista para a equipe. Esse desenvolvimento mostra que a plataforma atingiu um alto nível de maturidade e está pronta para uma adoção mais ampla. Este é o lançamento da primeira rede principal zkEVM implantada no ecossistema Ethereum Rollup.
Atualmente, a equipe está trabalhando para tornar o zkSync open source. Isso permitirá a implantação separada de cadeias de rollup zk de dentro de um ZK-Stack, permitindo que as equipes lancem seus próprios rollups personalizados. Mais detalhes sobre este emocionante desenvolvimento devem ser anunciados em breve.
*** **** '* *** **
A Matterlabs, a equipe de desenvolvimento por trás do zkSync, levantou fundos significativos para avançar em sua missão. Com sua rodada mais recente da Série C em novembro de 2022, seu financiamento total chegou a US$ 458 milhões, que incluiu várias rodadas e fundos de ecossistema dedicados, incluindo, por exemplo, um fundo de ecossistema dedicado separado de US$ 200 milhões, A Série C de US$ 200 milhões, uma Série B de US$ 50 milhões liderado por a16z, e uma Série A de $ 8 milhões e rodada de sementes.
· Rodada inicial: Na rodada inicial, a Matterlabs recebeu US$ 2 milhões em financiamento de PlaceholderVC, Hashed e outros investidores. Esse estímulo financeiro inicial forneceu a base necessária para o trabalho deles para iniciar o projeto zkSync.
Série A: após sua rodada inicial, a Matterlabs levantou US$ 6 milhões adicionais em financiamento da Série A. Esse novo influxo de capital fornece o ímpeto para avançar em P&D e aproximar o zkSync de seu objetivo final.
Série B: Matterlabs está ganhando força ao conseguir arrecadar US$ 50 milhões em uma rodada da Série B liderada principalmente por a16z.
· Série C: a rodada C de financiamento da Matterlabs é de US$ 200 milhões.
Por fim, além das rodadas de investimento acima, a Matterlabs lançou um fundo ecossistêmico dedicado de US$ 200 milhões. Este fundo é dedicado a promover o crescimento e desenvolvimento do ecossistema zkSync mais amplo.
Todos esses recursos fornecem à Matterlabs o suporte financeiro necessário para promover a missão do zkSync, acelerar o ritmo de desenvolvimento e promover o crescimento do ecossistema mais amplo. Ao todo, a Matterlabs tem uma quantidade considerável de financiamento em importantes projetos de blockchain.
2**、Status atual do ecossistema zkSync**
2.1 Situação Geral
Ao longo dos anos, o zkSync fez um progresso significativo no desenvolvimento. O zkSync v1, agora zkSync Lite, atingiu um marco de desenvolvimento em dezembro de 2020, ultrapassando US$ 1 milhão em Total Value Locked (TVL). Desde então, o TVL do ecossistema zkSync cresceu exponencialmente. A partir de agora, o TVL do zkSync ultrapassou US$ 650 milhões, tornando-se o terceiro maior L2 Rollup no ecossistema Ethereum.
Em junho deste ano, o zkSync tinha algumas métricas importantes impressionantes. Embora o zkSync tenha sido ligeiramente inferior ao Arbitrum em junho, ficou em primeiro lugar no TPS. Tem a taxa de crescimento de TVL mais rápida e lidera em pagamentos totais de taxas no Nível 1.
Além disso, o número de carteiras exclusivas também está aumentando, indicando uma crescente adoção do usuário. Ao mesmo tempo, a quantidade de ETH conectada ao zkSync também está crescendo.
2.2Principais Itens
2.2.1 Dinheiro
Argent é uma carteira móvel sem custódia para criptomoedas baseadas em Ethereum, fornecendo uma experiência segura e amigável para o gerenciamento de ativos digitais.
Argent tem um design de modo de segurança exclusivo, mesmo se o celular do usuário for perdido ou roubado, ele também pode proteger os ativos do usuário. O modelo de segurança inclui recursos como autenticação biométrica, recuperação social e carteiras de contratos inteligentes on-chain. V God, o fundador da Ethereum, também disse que Argent é uma carteira com segurança de assinatura múltipla e funções de recuperação social.
2.2.2 SyncSwap
SyncSwap é o maior protocolo DeFi na era zkSync. É um DEX baseado em AMM que fornece vários recursos importantes no design de AMM. Ele fornece um pool AMM para vários tokens, as propriedades importantes são as seguintes.
Stableswap: O multi-pool permite que o SyncSwap agregue vários modelos de pool diferentes, cada um com seu próprio cenário ideal, tornando as transações eficientes. O primeiro modelo de pool a ser implementado será o Stable Pool.Comparado com o Classic Pool de uso geral, o Stable Pool suporta transações eficientes de stablecoin, permitindo que a SyncSwap entre no mercado de stablecoin em grande escala.
· Smart Router: Serve como uma plataforma de agregação de liquidez que agrega diferentes pools de liquidez e vários modelos de pool para fornecer o melhor preço sem esforço. Fornece multi-hop e divisão de caminho.
Taxas dinâmicas: SyncSwap introduziu taxas dinâmicas em seu DEX, permitindo que os usuários personalizem as taxas de transação com base nas condições do mercado e nas preferências da comunidade. Incluindo taxas variáveis, taxas direcionadas, descontos de taxas e atribuição de taxas. Esses recursos fornecem aos usuários flexibilidade e adaptabilidade para otimizar suas estratégias de negociação e manter-se em sintonia com mercados e comunidades em constante mudança.
2.2.3 Teveera
O ecossistema de jogos da Teveera traz uma mistura única de aventura e tecnologia para o mundo dos jogos. A Teva Games oferece jogos em uma variedade de gêneros, ambientados em ambientes naturais e conectados por um enredo central de personagens do Guardian. O primeiro jogo multijogador será lançado com o lançamento do Tevaera 2.0, oferecendo jogabilidade emocionante, incluindo atualizações com tema criptográfico e vários modos de jogo.
A infraestrutura de jogos on-chain composta por Teva Core, Teva Chain, Teva Dex e Teva Market aprimora ainda mais o ecossistema.
· Teva Core é uma estrutura de jogo multijogador avançada.
· Teva Chain é uma hipercadeia de jogos de terceira camada que facilita a transição para jogos de cadeia completa.
· Teva DEX contribui para a economia de jogo sustentável por meio de dex de jogo automática.
· Teva Market permite a cunhagem e negociação de personagens NFT únicos.
3**, Arquitetura zkSync**
zkSync Era é um protocolo L2 projetado para resolver o problema de escalabilidade do Ethereum, usando uma estrutura de acúmulo de conhecimento zero (ZK). Desenvolvido pela Matter Labs, é uma plataforma zk-rollup focada nas necessidades do usuário. A plataforma foi projetada para ser amplamente compatível com a Ethereum Virtual Machine (EVM) em uma máquina virtual personalizada, otimizada para provas de conhecimento zero.
A operação do zkSync rollup pode ser resumida nas seguintes etapas:
(1) Inicialmente, as transações ou ações prioritárias são geradas pelos usuários.
(2) Posteriormente, o operador assume a responsabilidade pelo processamento do pedido do utilizador. Após o processamento bem-sucedido, o operador cria uma operação de rollup e a inclui no bloco.
(3) Após a conclusão do bloco, a operadora o envia ao contrato inteligente zkSync na forma de envio de bloco. Vale a pena notar que o contrato inteligente verifica parte da lógica que certos rollups executam.
(4) Finalmente, a prova do bloco é fornecida ao contrato inteligente zkSync, e esta etapa é a verificação do bloco. Se o contrato do validador considerar a validação bem-sucedida, ele validará o novo estado como final. Este é o ciclo de vida operacional do rollup zkSync.
Esta seção se aprofundará em como o zkSync funciona, focando em três camadas básicas:
(1) Camada de execução: A camada de execução refere-se ao processo que leva a mudanças ou transições no estado do blockchain. Simplificando, é o local onde as transações são recebidas e aplicadas ao estado anterior.
(2) Camada de liquidação: A camada de liquidação usa um sistema de prova para garantir que as alterações feitas durante a fase de execução reflitam com precisão o estado geral do sistema.
(3) Camada de disponibilidade de dados: A camada de disponibilidade de dados é a parte de manutenção de registros do sistema. É onde são armazenados todos os dados das transações (entradas), atualizações do sistema (saídas) e comprovantes. O objetivo é garantir que o estado atual do sistema sempre possa ser recriado do zero quando necessário.
3.1 Camada de Execução
3.1.1 Camada de Execução no Nível da Máquina Virtual
Ele roda em type4 zkEVM, o que significa que ele pega o código de contrato inteligente escrito em uma linguagem de alto nível (por exemplo, Solidity, Vyper) e então o compila em uma linguagem amigável zk-SNARK.
Além disso, um recurso exclusivo do zkSync Era é que ele usa um compilador baseado em LLVM que eventualmente permitirá que os desenvolvedores escrevam contratos inteligentes em C++, Rust e outras linguagens populares.
A estrutura LLVM é um compilador para construir cadeias de ferramentas de linguagem de contrato inteligente. Sua representação intermediária (IR) de alto nível permite que os desenvolvedores projetem, implantem e melhorem recursos específicos de linguagem eficientes, aproveitando simultaneamente o amplo ecossistema LLVM.
Na cadeia de ferramentas estabelecida, o LLVM processa o LLVM IR, introduz otimizações completas e, finalmente, passa o IR otimizado para o gerador de código back-end zkEVM.
3.1.2 Visão geral da camada de execução
No zkSync, o Core App (aplicativo principal) desempenha um papel fundamental no gerenciamento da camada de execução.
Sua principal responsabilidade é rastrear depósitos ou operações prioritárias de contratos inteligentes L1. Este mecanismo é fundamental para garantir a integração perfeita do zkSync com a rede Ethereum, pois todas as alterações iniciadas na rede Ethereum precisam ser monitoradas e refletidas no ambiente zkSync Layer 2 (L2).
O Core App também é responsável por gerenciar o pool de memória (mempool) que coleta as transações recebidas. Essa coleção de transações fica em uma fila para ser processada, atuando efetivamente como uma área de espera antes que as transações sejam confirmadas e adicionadas a um bloco.
As responsabilidades do Core App também incluem buscar transações do mempool, executá-las em uma máquina virtual (VM) e ajustar o estado conforme necessário. Essencialmente, o processo consiste em adquirir transações, processá-las e refletir os resultados no sistema.
Após a execução da transação, o Core App gera um bloco em cadeia. Esses blocos consistem em pacotes de transações executados e verificados. O Core App então envia esses blocos e provas para o contrato inteligente L1. Esse processo garante que o estado da cadeia L1 Ethereum seja mantido em sincronia com a cadeia L2 zkSync.
Para oferecer suporte à interação perfeita entre aplicativos baseados em Ethereum, ele fornece uma API web3 compatível com Ethereum. Isso torna o zkSync mais acessível e fácil de usar para desenvolvedores e usuários qualificados no ecossistema Ethereum.
3.2 Camada de Liquidação
A camada de liquidação é responsável por garantir a integridade das transições de estado do zkSync. Este processo de verificação é feito em um contrato inteligente implantado no Ethereum. Existem dois contratos importantes nesse processo.
(1) Contrato do executor: Este contrato obtém dados de bloco de validadores e provas zk de transições de estado em zkSync.
(2) Contrato do verificador: Este é um contrato lógico que permite ao sistema verificar os dados do bloco e as provas zk fornecidas pelo contrato do executor.
3.2.1 Contrato do executor
A função proveBlocks desempenha um papel central na garantia da integridade e segurança do sistema zkSync. Sua principal responsabilidade de trabalho é verificar as provas zk-SNARK dos blocos enviados. Aqui está uma breve descrição de como funciona:
Primeiro, proveBlocks garante que os blocos sejam verificados na ordem correta. Ele faz isso verificando se o bloco anterior recebido é o próximo bloco na sequência do blockchain que precisa ser verificado.
· Em seguida, a função começa a iterar sobre cada bloco submetido. Ele verifica se os hashes desses blocos correspondem ao valor esperado em um determinado local no blockchain. Isso garante que o bloco que está sendo verificado seja de fato o bloco correto.
A função então começa a construir a matriz proofPublicInput, que se torna o valor de entrada público para o processo de verificação de prova zk-SNARK. O número de bloco para cada bloco confirmado está contido nesta matriz.
Em seguida, usando o array proofPublicInput e alguns parâmetros armazenados, a função verificará a prova zk-SNARK. É como resolver um quebra-cabeça, todas as peças devem se encaixar perfeitamente.
· Se a prova for verificada, a função atualiza o sistema para refletir que os blocos agora estão verificados. É como colocar uma marca ao lado de um item em uma lista de verificação.
Finalmente, para cada bloco verificado, a função aciona um evento especial chamado BlockVerification. É como enviar uma notificação de que o número do bloco, o hash e o compromisso foram verificados.
Resumindo, a função proveBlocks atua como um vigilante guardião, garantindo que os blocos sejam verificados na ordem correta, garantindo que as provas do zk-SNARK sejam precisas e atualizando o estado do sistema de acordo. Seu objetivo é impedir que blocos inválidos sejam executados, garantindo a segurança e integridade geral do sistema zkSync.
3.2.2****Contrato do verificador
O contrato do verificador é o local para implementar a lógica de verificação acima. Ele atua como um guarda para o zkSync, verificando as provas do zk-SNARK para verificar os dados confirmados. O contrato do validador é usado para verificar se os dados enviados ao zkSync são válidos.
O contrato do verificador armazena a "chave de verificação", que é usada para verificar as provas do zk-SNARK. Sempre que o zkSync deseja confirmar uma atualização, ele gera uma prova zk-SNARK e a envia ao contrato do validador por meio do contrato do executor.
O contrato validador então usa a chave de validação para verificar se a prova é válida. Se funcionar, você sabe que a atualização é legítima sem olhar para os dados reais. Se inválido, a atualização será rejeitada.
Ao verificar essas provas, o contrato do validador garante que apenas dados corretos e válidos sejam recebidos no zkSync. Isso é crítico para segurança e prevenção de atualizações de estado inválidas.
3.3 Camada de Disponibilidade de Dados
A camada de disponibilidade de dados do sistema atua como um arquivo, armazenando todas as informações de transações (entradas), alterações do sistema (saídas) e comprovantes. O zkSync usa uma interface de contrato inteligente para definir sua política de disponibilidade de dados (DA). O zkSync planeja fornecer várias opções de disponibilidade de dados para reduzir custos e proteger a privacidade.
3.3.1 zkPorter
zkSync lançou uma solução de disponibilidade de dados off-chain chamada "zkPorter". A ferramenta foi projetada para integrar-se ao sistema de rollup do zkSync, facilitando as interações entre rollups e contas do zkPorter. Para garantir a segurança dos dados no zkPorter, "guardiões" - indivíduos que apostam tokens zkSync e verificam a disponibilidade de dados assinando blocos - são habilitados.
O zkPorter opera como um protocolo de consenso interno, facilitando o throughput de transações massivas. Em comparação, o modo ZK Rollup padrão no zkSync 2.0 é capaz de processar cerca de 1.000 a 5.000 transações por segundo (TPS). O zkPorter pode gerenciar de 20.000 a 100.000 TPS, dependendo da complexidade da transação.
Uma desvantagem do uso do zkPorter é que os usuários devem confiar no mecanismo de consenso interno do zkSync. Isso leva a uma solução de rollup menos descentralizada. A consideração do usuário é escolher entre o modo zkPorter (menor custo, mas menos seguro) ou ZK-rollup (mais seguro).
Além disso, o zkSync 2.0 facilita a interoperabilidade, permitindo trocas contínuas entre contas ZK-rollup e zkPorter. A diferença fundamental entre o zkPorter e o Starkware Volition é a determinação da disponibilidade de dados: no zkPorter, essa decisão é tomada com base na conta, enquanto no Volition essa decisão é feita com base na transação individual dentro de uma conta feita em.
4**、Pilha ZK e pilha OP**
Recentemente, a Matter Labs anunciou o próximo lançamento do ZK-Stack. O ZK-Stack fornecerá um software semelhante ao OP-Stack para personalizar e operar o rollup.
Os recursos comuns do OP-Stack e do ZK-Stack são os seguintes:
Livre e Open Source: Ambos são desenvolvidos sob licença de código aberto, garantindo livre acesso. Eles incentivam os desenvolvedores a contribuir construindo sobre o software.
Interoperabilidade: O conceito de hyperchain da ZK Stack pode ser facilmente conectado em uma rede sem confiança com baixa latência e liquidez compartilhada. Além disso, OP-Stack prevê um conceito Superchain para conectar todas as cadeias baseadas em OP-Stack.
· Descentralização: Para alcançar uma rede e comunidade mais descentralizadas, tanto o OP-Stack quanto o ZK-Stack propuseram claramente um plano de descentralização no roteiro recente. Esse movimento não apenas aumenta a resiliência da rede, mas também garante uma distribuição mais justa de poder e controle.
Apesar das semelhanças do ponto de vista conceitual, existem diferenças do ponto de vista técnico e de negócios. Esta seção se aprofundará nas diferenças entre as perspectivas a seguir.
(1) Desenvolvedores Dapp
(2) Desenvolvedores principais
(3) Negócios
4.1****Perspectiva do desenvolvedor Dapp
4.1.1 Equivalência EVM
Implantação do EVM do OP-Stack: O EVM do OP-Stack é implementado fazendo pequenas alterações no geth do Ethereum, tornando o sistema quase totalmente compatível com o EVM. Por outro lado, o ZK-Stack incorpora algumas mudanças nos opcodes EVM, e alguns opcodes ainda não são suportados. Apesar dessas mudanças, o impacto foi mínimo e os projetos foram rigorosamente testados e validados no mundo real.
No entanto, houve incidentes devido à equivalência não-EVM do ZK-Stack. Um exemplo notável é o 921 ETH preso em um contrato inteligente porque o contrato usa a função de transferência. Este problema foi efetivamente resolvido.
4.1.2 Abstração de conta nativa
Ao contrário do ERC-4337, a arquitetura do ZK-Stack inclui uma função nativa de abstração de conta (AA). Em um sistema como o ERC-4337, é necessário ter um mempool separado de UserOps para permitir a abstração de contas na rede.
4.1.3 Suporte de privacidade
Ao usar validum, armazenar os dados em um banco de dados confidencial garante a privacidade na premissa de que o operador mantém os dados do bloco confidenciais. Esse recurso é especialmente benéfico para usuários corporativos.
4.2 Perspectiva principal do desenvolvedor
4.2.1 Operação de infraestrutura: OP-Stack é mais intuitivo
Operação: Tanto o zkSync quanto o OP-Stack usam um Sequencer para coordenar transações e armazenar dados no Ethereum. No entanto, o zkSync requer um provador para funcionar. Este aplicativo provador processa blocos gerados pelo servidor e metadados associados para construir provas de validade de conhecimento zero. Em contraste, o OP-Stack não requer uma infraestrutura complexa separada para participar do jogo de desafio de prova.
4.2.2 Alternativas VM: ZK-Stack tem mais potencial para fornecer várias opções
O zkSync é executado com o compilador LLVM, que se traduz em bytecode zkEVM, mostrando o potencial para criar ambientes de execução usando outras linguagens, como C++.
4.2.3 Disponibilidade de dados: ZK-Stack oferece várias opções
A camada de disponibilidade de dados do OP-Stack depende principalmente do Ethereum, onde todas as informações de transação e raízes de estado de saída são armazenadas. Isso leva a um alto custo de operação da cadeia OP-Stack. No entanto, houve tentativas de compensar esse custo armazenando dados de transação no Celestia DA.
O ZK-Stack está pesquisando e desenvolvendo alternativas para soluções de disponibilidade de dados como o zkPorter. Essa abordagem permite que os usuários determinem sua própria disponibilidade de dados com base em sua preferência por maior segurança ou menor custo. Além disso, as empresas que desejam manter a privacidade dos dados podem empregar soluções como o Validium, que oferece suporte ao armazenamento de dados sem comprometimento.
4.3 Perspectiva de Negócios: Custos e Benefícios
Hoje, o lançamento de rollups independentes é uma opção viável, especialmente porque softwares de código aberto como ZK-Stack e OP-Stack estão sendo desenvolvidos e mantidos publicamente. Além disso, as plataformas Rollup-as-a-Service (RaaS), como Caldera e Conduit, simplificam muito o processo.
Além da perspectiva do desenvolvedor, é fundamental avaliar de forma realista os possíveis custos e benefícios associados às operações de rollup. No entanto, prever esses valores pode ser complicado devido a diversas variáveis.
Como grandes melhorias na base de código estão sendo feitas regularmente, como visto na atualização recente do Optimism's Bedrock, os custos associados à execução de rollups estão diminuindo rapidamente. Essa dinâmica torna desafiador estimar custos e benefícios com precisão. Além disso, os custos específicos associados a servidores e infraestrutura não são amplamente conhecidos, pois uma única entidade geralmente gerencia todo o rollup. Por fim, as flutuações no preço do token subjacente (como zkSync e ETH da Optimism) adicionam outra camada de incerteza, pois os custos podem flutuar com base no sentimento do mercado.
Alguns dos principais custos e benefícios são os seguintes:
4.3.1 Custo
· Custo de liberação L1: o custo de armazenamento de transações, raízes de estado e dados de prova. Normalmente, um rollup otimista é mais caro de emitir porque requer o armazenamento de dados brutos da transação para validação. Alguns rollups publicam diferenças de estado em vez de dados de estado completos para evitar custos adicionais.
· Custo operacional do classificador L2.
Custo da prova: para zk, é o custo da geração e verificação da prova; para a prova de fraude, é o custo do desafio da prova.
4.3.2 Benefícios
· Taxas de transação L2
Possivelmente MEV, mas para evitar problemas de centralização, os classificadores L2 mais conhecidos não extraem MEV.
5. Conclusão
A Matterlabs tem trabalhado no desenvolvimento do zkEVM e fez progressos significativos nele. Embora não seja totalmente compatível com EVM (Type4 EVM), explorar o LLVM parece ter um grande potencial. A próxima fase dos planos da Matterlabs é lançar o ZK-Stack, uma base de código que permitirá aos desenvolvedores aproveitar sua sólida base de código para criar seus próprios rollups. A ferramenta promete vantagens claras sobre o OP-Stack, especialmente em termos de proteção de privacidade e escalabilidade.
No entanto, ambos os projetos ainda estão em seus estágios iniciais e muito trabalho precisa ser feito. Uma avaliação completa da estrutura de custo e benefício associada à implantação é crítica. Além disso, um desafio importante está em cultivar um ecossistema de desenvolvedores em torno dessas duas bases de código. A análise detalhada e o planejamento estratégico são essenciais para garantir o desenvolvimento sustentável da plataforma e suas tecnologias associadas.
Espero que ambos os projetos prosperem e que a construção de código aberto e roteiros compartilhados se tornem a norma no espaço web3.
Ver original
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
Explicação detalhada da arquitetura zkSync e suas semelhanças e diferenças com o OP-Stack
Autor: xpara, Four Pillars; tradução: Jinse Finance xiaozou
Pontos chave:
A Matterlabs, empresa de desenvolvimento do zkSync, tem trabalhado no desenvolvimento de seu zkEVM exclusivo e na criação de ótimos produtos.
Atualmente, a Era zkSync está mostrando crescimento, conforme evidenciado por suas métricas impressionantes e implantações de desenvolvimento em projetos.
Podemos entender a arquitetura zkSync por meio de três camadas principais do zkSync: camada de execução, camada de liquidação e camada de disponibilidade de dados.
ZK-Stack (base de código subjacente do zkSync) e OP-Stack podem ter filosofias semelhantes. Ainda assim, existem diferenças claras que podem ser vistas da perspectiva dos desenvolvedores dapp, desenvolvedores principais e operadores de negócios.
1**, o desenvolvimento da história do zkSync******
1.1 Breve Histórico do zkSync
O desenvolvimento do zkSync começou no EthCC em 2019. Naquela época, ainda era uma pequena equipe dedicada ao desenvolvimento e implantação conjunta do Rollup com o zkSNARK. Eles lançaram uma prova de conceito em janeiro de 2019 usando zkSNARKs para operar uma sidechain no Ethereum. Desde então, eles fizeram da descentralização um princípio fundamental. Eles se concentraram em armazenar todos os dados da transação no Ethereum e elaboraram um modelo multioperador para lidar com o modelo de descentralização do classificador.
Em junho de 2020, a equipe fez um progresso significativo com o lançamento da rede principal zkSync v1. zkSync v1 é um marco importante no desenvolvimento do zkSync, representando a implementação real de seu conceito original em uma escala maior. Um ano depois, em junho de 2021, eles fizeram mais um avanço e lançaram o testnet zkSync 2.0, também conhecido como Era.
Em março de 2023, a rede principal completa do zkSync foi lançada com sucesso, marcando uma grande conquista para a equipe. Esse desenvolvimento mostra que a plataforma atingiu um alto nível de maturidade e está pronta para uma adoção mais ampla. Este é o lançamento da primeira rede principal zkEVM implantada no ecossistema Ethereum Rollup.
Atualmente, a equipe está trabalhando para tornar o zkSync open source. Isso permitirá a implantação separada de cadeias de rollup zk de dentro de um ZK-Stack, permitindo que as equipes lancem seus próprios rollups personalizados. Mais detalhes sobre este emocionante desenvolvimento devem ser anunciados em breve.
*** **** '* *** **
A Matterlabs, a equipe de desenvolvimento por trás do zkSync, levantou fundos significativos para avançar em sua missão. Com sua rodada mais recente da Série C em novembro de 2022, seu financiamento total chegou a US$ 458 milhões, que incluiu várias rodadas e fundos de ecossistema dedicados, incluindo, por exemplo, um fundo de ecossistema dedicado separado de US$ 200 milhões, A Série C de US$ 200 milhões, uma Série B de US$ 50 milhões liderado por a16z, e uma Série A de $ 8 milhões e rodada de sementes.
· Rodada inicial: Na rodada inicial, a Matterlabs recebeu US$ 2 milhões em financiamento de PlaceholderVC, Hashed e outros investidores. Esse estímulo financeiro inicial forneceu a base necessária para o trabalho deles para iniciar o projeto zkSync.
Série A: após sua rodada inicial, a Matterlabs levantou US$ 6 milhões adicionais em financiamento da Série A. Esse novo influxo de capital fornece o ímpeto para avançar em P&D e aproximar o zkSync de seu objetivo final.
Série B: Matterlabs está ganhando força ao conseguir arrecadar US$ 50 milhões em uma rodada da Série B liderada principalmente por a16z.
· Série C: a rodada C de financiamento da Matterlabs é de US$ 200 milhões.
Por fim, além das rodadas de investimento acima, a Matterlabs lançou um fundo ecossistêmico dedicado de US$ 200 milhões. Este fundo é dedicado a promover o crescimento e desenvolvimento do ecossistema zkSync mais amplo.
Todos esses recursos fornecem à Matterlabs o suporte financeiro necessário para promover a missão do zkSync, acelerar o ritmo de desenvolvimento e promover o crescimento do ecossistema mais amplo. Ao todo, a Matterlabs tem uma quantidade considerável de financiamento em importantes projetos de blockchain.
2**、Status atual do ecossistema zkSync**
2.1 Situação Geral
Ao longo dos anos, o zkSync fez um progresso significativo no desenvolvimento. O zkSync v1, agora zkSync Lite, atingiu um marco de desenvolvimento em dezembro de 2020, ultrapassando US$ 1 milhão em Total Value Locked (TVL). Desde então, o TVL do ecossistema zkSync cresceu exponencialmente. A partir de agora, o TVL do zkSync ultrapassou US$ 650 milhões, tornando-se o terceiro maior L2 Rollup no ecossistema Ethereum.
Em junho deste ano, o zkSync tinha algumas métricas importantes impressionantes. Embora o zkSync tenha sido ligeiramente inferior ao Arbitrum em junho, ficou em primeiro lugar no TPS. Tem a taxa de crescimento de TVL mais rápida e lidera em pagamentos totais de taxas no Nível 1.
Além disso, o número de carteiras exclusivas também está aumentando, indicando uma crescente adoção do usuário. Ao mesmo tempo, a quantidade de ETH conectada ao zkSync também está crescendo.
2.2 Principais Itens
2.2.1 Dinheiro
Argent é uma carteira móvel sem custódia para criptomoedas baseadas em Ethereum, fornecendo uma experiência segura e amigável para o gerenciamento de ativos digitais.
Argent tem um design de modo de segurança exclusivo, mesmo se o celular do usuário for perdido ou roubado, ele também pode proteger os ativos do usuário. O modelo de segurança inclui recursos como autenticação biométrica, recuperação social e carteiras de contratos inteligentes on-chain. V God, o fundador da Ethereum, também disse que Argent é uma carteira com segurança de assinatura múltipla e funções de recuperação social.
2.2.2 SyncSwap
SyncSwap é o maior protocolo DeFi na era zkSync. É um DEX baseado em AMM que fornece vários recursos importantes no design de AMM. Ele fornece um pool AMM para vários tokens, as propriedades importantes são as seguintes.
Stableswap: O multi-pool permite que o SyncSwap agregue vários modelos de pool diferentes, cada um com seu próprio cenário ideal, tornando as transações eficientes. O primeiro modelo de pool a ser implementado será o Stable Pool.Comparado com o Classic Pool de uso geral, o Stable Pool suporta transações eficientes de stablecoin, permitindo que a SyncSwap entre no mercado de stablecoin em grande escala.
· Smart Router: Serve como uma plataforma de agregação de liquidez que agrega diferentes pools de liquidez e vários modelos de pool para fornecer o melhor preço sem esforço. Fornece multi-hop e divisão de caminho.
Taxas dinâmicas: SyncSwap introduziu taxas dinâmicas em seu DEX, permitindo que os usuários personalizem as taxas de transação com base nas condições do mercado e nas preferências da comunidade. Incluindo taxas variáveis, taxas direcionadas, descontos de taxas e atribuição de taxas. Esses recursos fornecem aos usuários flexibilidade e adaptabilidade para otimizar suas estratégias de negociação e manter-se em sintonia com mercados e comunidades em constante mudança.
2.2.3 Teveera
O ecossistema de jogos da Teveera traz uma mistura única de aventura e tecnologia para o mundo dos jogos. A Teva Games oferece jogos em uma variedade de gêneros, ambientados em ambientes naturais e conectados por um enredo central de personagens do Guardian. O primeiro jogo multijogador será lançado com o lançamento do Tevaera 2.0, oferecendo jogabilidade emocionante, incluindo atualizações com tema criptográfico e vários modos de jogo.
A infraestrutura de jogos on-chain composta por Teva Core, Teva Chain, Teva Dex e Teva Market aprimora ainda mais o ecossistema.
· Teva Core é uma estrutura de jogo multijogador avançada.
· Teva Chain é uma hipercadeia de jogos de terceira camada que facilita a transição para jogos de cadeia completa.
· Teva DEX contribui para a economia de jogo sustentável por meio de dex de jogo automática.
· Teva Market permite a cunhagem e negociação de personagens NFT únicos.
3**, Arquitetura zkSync**
zkSync Era é um protocolo L2 projetado para resolver o problema de escalabilidade do Ethereum, usando uma estrutura de acúmulo de conhecimento zero (ZK). Desenvolvido pela Matter Labs, é uma plataforma zk-rollup focada nas necessidades do usuário. A plataforma foi projetada para ser amplamente compatível com a Ethereum Virtual Machine (EVM) em uma máquina virtual personalizada, otimizada para provas de conhecimento zero.
A operação do zkSync rollup pode ser resumida nas seguintes etapas:
(1) Inicialmente, as transações ou ações prioritárias são geradas pelos usuários.
(2) Posteriormente, o operador assume a responsabilidade pelo processamento do pedido do utilizador. Após o processamento bem-sucedido, o operador cria uma operação de rollup e a inclui no bloco.
(3) Após a conclusão do bloco, a operadora o envia ao contrato inteligente zkSync na forma de envio de bloco. Vale a pena notar que o contrato inteligente verifica parte da lógica que certos rollups executam.
(4) Finalmente, a prova do bloco é fornecida ao contrato inteligente zkSync, e esta etapa é a verificação do bloco. Se o contrato do validador considerar a validação bem-sucedida, ele validará o novo estado como final. Este é o ciclo de vida operacional do rollup zkSync.
Esta seção se aprofundará em como o zkSync funciona, focando em três camadas básicas:
(1) Camada de execução: A camada de execução refere-se ao processo que leva a mudanças ou transições no estado do blockchain. Simplificando, é o local onde as transações são recebidas e aplicadas ao estado anterior.
(2) Camada de liquidação: A camada de liquidação usa um sistema de prova para garantir que as alterações feitas durante a fase de execução reflitam com precisão o estado geral do sistema.
(3) Camada de disponibilidade de dados: A camada de disponibilidade de dados é a parte de manutenção de registros do sistema. É onde são armazenados todos os dados das transações (entradas), atualizações do sistema (saídas) e comprovantes. O objetivo é garantir que o estado atual do sistema sempre possa ser recriado do zero quando necessário.
3.1 Camada de Execução
3.1.1 Camada de Execução no Nível da Máquina Virtual
Ele roda em type4 zkEVM, o que significa que ele pega o código de contrato inteligente escrito em uma linguagem de alto nível (por exemplo, Solidity, Vyper) e então o compila em uma linguagem amigável zk-SNARK.
Além disso, um recurso exclusivo do zkSync Era é que ele usa um compilador baseado em LLVM que eventualmente permitirá que os desenvolvedores escrevam contratos inteligentes em C++, Rust e outras linguagens populares.
A estrutura LLVM é um compilador para construir cadeias de ferramentas de linguagem de contrato inteligente. Sua representação intermediária (IR) de alto nível permite que os desenvolvedores projetem, implantem e melhorem recursos específicos de linguagem eficientes, aproveitando simultaneamente o amplo ecossistema LLVM.
Na cadeia de ferramentas estabelecida, o LLVM processa o LLVM IR, introduz otimizações completas e, finalmente, passa o IR otimizado para o gerador de código back-end zkEVM.
3.1.2 Visão geral da camada de execução
No zkSync, o Core App (aplicativo principal) desempenha um papel fundamental no gerenciamento da camada de execução.
Sua principal responsabilidade é rastrear depósitos ou operações prioritárias de contratos inteligentes L1. Este mecanismo é fundamental para garantir a integração perfeita do zkSync com a rede Ethereum, pois todas as alterações iniciadas na rede Ethereum precisam ser monitoradas e refletidas no ambiente zkSync Layer 2 (L2).
O Core App também é responsável por gerenciar o pool de memória (mempool) que coleta as transações recebidas. Essa coleção de transações fica em uma fila para ser processada, atuando efetivamente como uma área de espera antes que as transações sejam confirmadas e adicionadas a um bloco.
As responsabilidades do Core App também incluem buscar transações do mempool, executá-las em uma máquina virtual (VM) e ajustar o estado conforme necessário. Essencialmente, o processo consiste em adquirir transações, processá-las e refletir os resultados no sistema.
Após a execução da transação, o Core App gera um bloco em cadeia. Esses blocos consistem em pacotes de transações executados e verificados. O Core App então envia esses blocos e provas para o contrato inteligente L1. Esse processo garante que o estado da cadeia L1 Ethereum seja mantido em sincronia com a cadeia L2 zkSync.
Para oferecer suporte à interação perfeita entre aplicativos baseados em Ethereum, ele fornece uma API web3 compatível com Ethereum. Isso torna o zkSync mais acessível e fácil de usar para desenvolvedores e usuários qualificados no ecossistema Ethereum.
3.2 Camada de Liquidação
A camada de liquidação é responsável por garantir a integridade das transições de estado do zkSync. Este processo de verificação é feito em um contrato inteligente implantado no Ethereum. Existem dois contratos importantes nesse processo.
(1) Contrato do executor: Este contrato obtém dados de bloco de validadores e provas zk de transições de estado em zkSync.
(2) Contrato do verificador: Este é um contrato lógico que permite ao sistema verificar os dados do bloco e as provas zk fornecidas pelo contrato do executor.
3.2.1 Contrato do executor
A função proveBlocks desempenha um papel central na garantia da integridade e segurança do sistema zkSync. Sua principal responsabilidade de trabalho é verificar as provas zk-SNARK dos blocos enviados. Aqui está uma breve descrição de como funciona:
Primeiro, proveBlocks garante que os blocos sejam verificados na ordem correta. Ele faz isso verificando se o bloco anterior recebido é o próximo bloco na sequência do blockchain que precisa ser verificado.
· Em seguida, a função começa a iterar sobre cada bloco submetido. Ele verifica se os hashes desses blocos correspondem ao valor esperado em um determinado local no blockchain. Isso garante que o bloco que está sendo verificado seja de fato o bloco correto.
A função então começa a construir a matriz proofPublicInput, que se torna o valor de entrada público para o processo de verificação de prova zk-SNARK. O número de bloco para cada bloco confirmado está contido nesta matriz.
Em seguida, usando o array proofPublicInput e alguns parâmetros armazenados, a função verificará a prova zk-SNARK. É como resolver um quebra-cabeça, todas as peças devem se encaixar perfeitamente.
· Se a prova for verificada, a função atualiza o sistema para refletir que os blocos agora estão verificados. É como colocar uma marca ao lado de um item em uma lista de verificação.
Finalmente, para cada bloco verificado, a função aciona um evento especial chamado BlockVerification. É como enviar uma notificação de que o número do bloco, o hash e o compromisso foram verificados.
Resumindo, a função proveBlocks atua como um vigilante guardião, garantindo que os blocos sejam verificados na ordem correta, garantindo que as provas do zk-SNARK sejam precisas e atualizando o estado do sistema de acordo. Seu objetivo é impedir que blocos inválidos sejam executados, garantindo a segurança e integridade geral do sistema zkSync.
3.2.2****Contrato do verificador
O contrato do verificador é o local para implementar a lógica de verificação acima. Ele atua como um guarda para o zkSync, verificando as provas do zk-SNARK para verificar os dados confirmados. O contrato do validador é usado para verificar se os dados enviados ao zkSync são válidos.
O contrato do verificador armazena a "chave de verificação", que é usada para verificar as provas do zk-SNARK. Sempre que o zkSync deseja confirmar uma atualização, ele gera uma prova zk-SNARK e a envia ao contrato do validador por meio do contrato do executor.
O contrato validador então usa a chave de validação para verificar se a prova é válida. Se funcionar, você sabe que a atualização é legítima sem olhar para os dados reais. Se inválido, a atualização será rejeitada.
Ao verificar essas provas, o contrato do validador garante que apenas dados corretos e válidos sejam recebidos no zkSync. Isso é crítico para segurança e prevenção de atualizações de estado inválidas.
3.3 Camada de Disponibilidade de Dados
A camada de disponibilidade de dados do sistema atua como um arquivo, armazenando todas as informações de transações (entradas), alterações do sistema (saídas) e comprovantes. O zkSync usa uma interface de contrato inteligente para definir sua política de disponibilidade de dados (DA). O zkSync planeja fornecer várias opções de disponibilidade de dados para reduzir custos e proteger a privacidade.
3.3.1 zkPorter
zkSync lançou uma solução de disponibilidade de dados off-chain chamada "zkPorter". A ferramenta foi projetada para integrar-se ao sistema de rollup do zkSync, facilitando as interações entre rollups e contas do zkPorter. Para garantir a segurança dos dados no zkPorter, "guardiões" - indivíduos que apostam tokens zkSync e verificam a disponibilidade de dados assinando blocos - são habilitados.
O zkPorter opera como um protocolo de consenso interno, facilitando o throughput de transações massivas. Em comparação, o modo ZK Rollup padrão no zkSync 2.0 é capaz de processar cerca de 1.000 a 5.000 transações por segundo (TPS). O zkPorter pode gerenciar de 20.000 a 100.000 TPS, dependendo da complexidade da transação.
Uma desvantagem do uso do zkPorter é que os usuários devem confiar no mecanismo de consenso interno do zkSync. Isso leva a uma solução de rollup menos descentralizada. A consideração do usuário é escolher entre o modo zkPorter (menor custo, mas menos seguro) ou ZK-rollup (mais seguro).
Além disso, o zkSync 2.0 facilita a interoperabilidade, permitindo trocas contínuas entre contas ZK-rollup e zkPorter. A diferença fundamental entre o zkPorter e o Starkware Volition é a determinação da disponibilidade de dados: no zkPorter, essa decisão é tomada com base na conta, enquanto no Volition essa decisão é feita com base na transação individual dentro de uma conta feita em.
4**、Pilha ZK e pilha OP**
Recentemente, a Matter Labs anunciou o próximo lançamento do ZK-Stack. O ZK-Stack fornecerá um software semelhante ao OP-Stack para personalizar e operar o rollup.
Os recursos comuns do OP-Stack e do ZK-Stack são os seguintes:
Livre e Open Source: Ambos são desenvolvidos sob licença de código aberto, garantindo livre acesso. Eles incentivam os desenvolvedores a contribuir construindo sobre o software.
Interoperabilidade: O conceito de hyperchain da ZK Stack pode ser facilmente conectado em uma rede sem confiança com baixa latência e liquidez compartilhada. Além disso, OP-Stack prevê um conceito Superchain para conectar todas as cadeias baseadas em OP-Stack.
· Descentralização: Para alcançar uma rede e comunidade mais descentralizadas, tanto o OP-Stack quanto o ZK-Stack propuseram claramente um plano de descentralização no roteiro recente. Esse movimento não apenas aumenta a resiliência da rede, mas também garante uma distribuição mais justa de poder e controle.
Apesar das semelhanças do ponto de vista conceitual, existem diferenças do ponto de vista técnico e de negócios. Esta seção se aprofundará nas diferenças entre as perspectivas a seguir.
(1) Desenvolvedores Dapp
(2) Desenvolvedores principais
(3) Negócios
4.1****Perspectiva do desenvolvedor Dapp
4.1.1 Equivalência EVM
Implantação do EVM do OP-Stack: O EVM do OP-Stack é implementado fazendo pequenas alterações no geth do Ethereum, tornando o sistema quase totalmente compatível com o EVM. Por outro lado, o ZK-Stack incorpora algumas mudanças nos opcodes EVM, e alguns opcodes ainda não são suportados. Apesar dessas mudanças, o impacto foi mínimo e os projetos foram rigorosamente testados e validados no mundo real.
No entanto, houve incidentes devido à equivalência não-EVM do ZK-Stack. Um exemplo notável é o 921 ETH preso em um contrato inteligente porque o contrato usa a função de transferência. Este problema foi efetivamente resolvido.
4.1.2 Abstração de conta nativa
Ao contrário do ERC-4337, a arquitetura do ZK-Stack inclui uma função nativa de abstração de conta (AA). Em um sistema como o ERC-4337, é necessário ter um mempool separado de UserOps para permitir a abstração de contas na rede.
4.1.3 Suporte de privacidade
Ao usar validum, armazenar os dados em um banco de dados confidencial garante a privacidade na premissa de que o operador mantém os dados do bloco confidenciais. Esse recurso é especialmente benéfico para usuários corporativos.
4.2 Perspectiva principal do desenvolvedor
4.2.1 Operação de infraestrutura: OP-Stack é mais intuitivo
Operação: Tanto o zkSync quanto o OP-Stack usam um Sequencer para coordenar transações e armazenar dados no Ethereum. No entanto, o zkSync requer um provador para funcionar. Este aplicativo provador processa blocos gerados pelo servidor e metadados associados para construir provas de validade de conhecimento zero. Em contraste, o OP-Stack não requer uma infraestrutura complexa separada para participar do jogo de desafio de prova.
4.2.2 Alternativas VM: ZK-Stack tem mais potencial para fornecer várias opções
O zkSync é executado com o compilador LLVM, que se traduz em bytecode zkEVM, mostrando o potencial para criar ambientes de execução usando outras linguagens, como C++.
4.2.3 Disponibilidade de dados: ZK-Stack oferece várias opções
A camada de disponibilidade de dados do OP-Stack depende principalmente do Ethereum, onde todas as informações de transação e raízes de estado de saída são armazenadas. Isso leva a um alto custo de operação da cadeia OP-Stack. No entanto, houve tentativas de compensar esse custo armazenando dados de transação no Celestia DA.
O ZK-Stack está pesquisando e desenvolvendo alternativas para soluções de disponibilidade de dados como o zkPorter. Essa abordagem permite que os usuários determinem sua própria disponibilidade de dados com base em sua preferência por maior segurança ou menor custo. Além disso, as empresas que desejam manter a privacidade dos dados podem empregar soluções como o Validium, que oferece suporte ao armazenamento de dados sem comprometimento.
4.3 Perspectiva de Negócios: Custos e Benefícios
Hoje, o lançamento de rollups independentes é uma opção viável, especialmente porque softwares de código aberto como ZK-Stack e OP-Stack estão sendo desenvolvidos e mantidos publicamente. Além disso, as plataformas Rollup-as-a-Service (RaaS), como Caldera e Conduit, simplificam muito o processo.
Além da perspectiva do desenvolvedor, é fundamental avaliar de forma realista os possíveis custos e benefícios associados às operações de rollup. No entanto, prever esses valores pode ser complicado devido a diversas variáveis.
Como grandes melhorias na base de código estão sendo feitas regularmente, como visto na atualização recente do Optimism's Bedrock, os custos associados à execução de rollups estão diminuindo rapidamente. Essa dinâmica torna desafiador estimar custos e benefícios com precisão. Além disso, os custos específicos associados a servidores e infraestrutura não são amplamente conhecidos, pois uma única entidade geralmente gerencia todo o rollup. Por fim, as flutuações no preço do token subjacente (como zkSync e ETH da Optimism) adicionam outra camada de incerteza, pois os custos podem flutuar com base no sentimento do mercado.
Alguns dos principais custos e benefícios são os seguintes:
4.3.1 Custo
· Custo de liberação L1: o custo de armazenamento de transações, raízes de estado e dados de prova. Normalmente, um rollup otimista é mais caro de emitir porque requer o armazenamento de dados brutos da transação para validação. Alguns rollups publicam diferenças de estado em vez de dados de estado completos para evitar custos adicionais.
· Custo operacional do classificador L2.
Custo da prova: para zk, é o custo da geração e verificação da prova; para a prova de fraude, é o custo do desafio da prova.
4.3.2 Benefícios
· Taxas de transação L2
Possivelmente MEV, mas para evitar problemas de centralização, os classificadores L2 mais conhecidos não extraem MEV.
5. Conclusão
A Matterlabs tem trabalhado no desenvolvimento do zkEVM e fez progressos significativos nele. Embora não seja totalmente compatível com EVM (Type4 EVM), explorar o LLVM parece ter um grande potencial. A próxima fase dos planos da Matterlabs é lançar o ZK-Stack, uma base de código que permitirá aos desenvolvedores aproveitar sua sólida base de código para criar seus próprios rollups. A ferramenta promete vantagens claras sobre o OP-Stack, especialmente em termos de proteção de privacidade e escalabilidade.
No entanto, ambos os projetos ainda estão em seus estágios iniciais e muito trabalho precisa ser feito. Uma avaliação completa da estrutura de custo e benefício associada à implantação é crítica. Além disso, um desafio importante está em cultivar um ecossistema de desenvolvedores em torno dessas duas bases de código. A análise detalhada e o planejamento estratégico são essenciais para garantir o desenvolvimento sustentável da plataforma e suas tecnologias associadas.
Espero que ambos os projetos prosperem e que a construção de código aberto e roteiros compartilhados se tornem a norma no espaço web3.