Leia a atualização do zkSync Boojum em um artigo: um zkEVM mais seguro e eficiente

Autor original: zkSync

Compilação do texto original: Deep Tide TechFlow

Entenda a atualização do zkSync Boojum em um artigo: zkEVM mais seguro e eficiente

TLDR

  • Atualização: o zkSync Era está em transição para o novo sistema de prova Boojum sem regeneração.
  • Desempenho: Boojum demonstra desempenho de prova de última geração, complementando o classificador zkSync Era, que já pode lidar com mais de 100 TPS.
  • Descentralização: os provadores Boojum precisam apenas de 16 GB de RAM, o que pode realizar a descentralização de provadores de larga escala no futuro.

A missão da zkSync é promover a liberdade pessoal para todos - tornar a autopropriedade digital universalmente acessível, construindo uma rede blockchain que seja confiável, segura, sem permissão, acessível, fácil de usar, resiliente e infinitamente escalável.

De acordo com esta missão, a versão alfa do zkSync Era foi aberta ao público há pouco mais de três meses, e a resposta foi fenomenal. Destaques da rede:

  • Valor total bloqueado TVL 577 milhões de USD (Fonte: L 2B comer);
  • 23.750.000 transações nos últimos 30 dias - o máximo de qualquer L2 (fonte: L 2B eat);
  • 9.735 contratos inteligentes verificados pelo código-fonte.

Em março de 2023, nasceu a era zkSync baseada em SNARK, utilizando a estrutura de circuito testada em batalha que deu suporte ao zkSync Lite na rede principal por quase três anos. No entanto, sabíamos que esta não seria a versão final do sistema de prova zkSync Era e, portanto, projetamos o sistema para nos permitir fazer alterações fundamentais nele sem regenerá-lo. Isso significa que podemos implantar grandes atualizações de criptografia sem interromper desenvolvedores e usuários.

Nos bastidores, trabalhamos em atualizações de criptografia há muito tempo. Hoje, temos o prazer de anunciar a primeira atualização: o zkSync Era está em transição para um novo sistema proof-of-STARK chamado "Boojum".

Conheça Boojum

Boojum é nossa biblioteca aritmética e de restrição baseada em Rust que usamos para implementar circuitos ZK, uma versão atualizada do zkSync Era e ZK Stack.

O que é Boojum?

Características do Boojum:

  • Aritmética PLONK: No contexto dos protocolos de conhecimento zero, a aritmética é o processo de conversão de cálculos gerais em forma matemática. Como o sistema de prova atual, o sistema de atualização ainda emprega aritmética estilo PLONK. Com essa abordagem, os circuitos ZK são mais simples de escrever do que algumas alternativas, tornando o sistema mais fácil de desenvolver, auditar, manter e atualizar.
  • Esquema de compromisso robusto: No coração do Boojum está o esquema de compromisso FRI, um componente chave que nos permite comprometer com polinômios limitados e então provar com eficiência que a abertura reivindicada (de um polinômio) é de fato um polinômio de baixo grau.
  • Eficiência do sistema: embora a geração de testemunhas às vezes seja negligenciada quando as pessoas falam sobre o desempenho do provador, na versão atual do sistema de provas, chegamos a um ponto em que um provador de GPU otimizado é tão eficiente que o tempo de geração de testemunhas é comparável à geração de provas. o tempo é bastante. Com o Boojum, fornecemos geração de testemunhas que paraleliza automaticamente (se o gráfico de dependência permitir), mantendo a simplicidade de definir funções de geração de testemunhas.
  • Facilidade de extensibilidade: a abstração básica do sistema de restrição é muito limpa, mas permite ao usuário adicionar tipos de porta personalizados de várias maneiras, como adicionar alguns polinômios especializados a eles ou reutilizar as chamadas "colunas genéricas". Depois que os usuários definem geometrias simples para seus circuitos, a interface de extensão fornece a capacidade de gerar automaticamente provadores, verificadores e verificadores recursivos. Isso permite um processo de desenvolvimento muito eficiente; se o usuário alterar a estrutura do circuito e escolher um tipo diferente de porta para usar, ele pode simplesmente chamar a interface novamente e ela regenerará as chaves e garantirá que está usando o provador e o verificador corretos.
  • Pilha única: Com o Boojum, todos os itens acima podem ser expressos usando apenas Rust idiomático padrão, aproveitando o poder expressivo de seu sistema de tipos. As partes computacionalmente intensivas do GPU Prover são escritas em CUDA C++, mas fornecemos ligações Rust para composição.

Boojum usa um campo de número primo de tamanho 2 ^ 64 - 2 ^ 32 + 1 (chamado "Campo Goldilocks") por padrão e fornece implementações de primitivas de ligação de campo correspondentes, como funções de hash Poseidon 2 e implementações baseadas em tabela de pesquisa de mais primitivas criptográficas padrão, como SHA 256, Keccak 256 e Blake 2 s.

É importante ressaltar que, na etapa final, agruparemos a prova STARK com um SNARK baseado em emparelhamento não transparente e verificaremos esse SNARK no Ethereum. Esta prova é muito menor e menos dispendiosa para verificar; esta etapa reduz o custo do sistema de prova e, portanto, a própria transação.

Por que escolher Boojum?

Ao projetar o Boojum, havia dois fatores principais por trás da decisão: (1) desempenho comprovado de classe mundial e (2) requisitos de hardware reduzidos para descentralização.

Desempenho de Classe Mundial

O atual sistema baseado em SNARK, embora eficaz no momento, não pode ser dimensionado para transações de alto volume e quase em tempo real no ZK Stack. O objetivo futuro do zkSync Era rodando como um Hyperchain é dar suporte a esses sistemas nos próximos anos. Nossa visão para esses sistemas é que as provas possam ser geradas e verificadas de forma barata e rápida, permitindo rápida finalização e interoperabilidade entre Hyperchains.

O desempenho do sistema de comprovação afeta diretamente as taxas que os usuários pagam por suas transações, e esses custos precisam se aproximar de zero ao longo do tempo. A versão atual do sistema de prova é eficiente o suficiente para construir um zkEVM e processar milhões de transações em apenas alguns meses, mas com o Boojum podemos fazer ainda melhor!

Para medir o tempo de geração de provas da rede (e outras métricas importantes relacionadas ao desempenho), fizemos uma parceria com a Celer, cuja equipe tem ampla experiência em benchmarking e análise de sistemas de provas múltiplas. Na imagem abaixo, você pode ver que o Boojum funciona muito bem na maioria dos sistemas com perfil. Os resultados falam por si: nossa implementação demonstra desempenho de prova de classe mundial e, até onde sabemos, é o sistema de prova mais rápido atualmente em uso na produção.

Para uma comparação justa, o Celer executou esses benchmarks em um provador baseado em CPU, mas nosso sistema de rede principal usa um provador baseado em GPU, que é muito mais rápido.

Entendendo a atualização do zkSync Boojum em um artigo: zkEVM mais seguro e eficiente

Mudar para um sistema de prova baseado em STARK representa um aumento significativo de desempenho e ajudará a garantir finalização e baixa latência em suporte a níveis de atividade aumentados para zkSync Era e outros sistemas baseados em ZK Stack.

Reduzindo os requisitos de hardware descentralizados

Esses resultados de desempenho são especialmente impressionantes quando se considera que essa não é a única métrica para a qual estamos otimizando - queremos aumentar o desempenho do sistema enquanto reduzimos os requisitos de hardware para executá-lo.

Os sistemas de prova comumente usados hoje, incluindo nosso sistema existente, têm requisitos de hardware relativamente altos. Nosso sistema de prova atual é executado em um conjunto de GPUs A100 com 80 GB de RAM cada. A necessidade de máquinas caras e poderosas representa um obstáculo significativo para o nosso objetivo: o futuro da geração de provas descentralizadas orientadas pelo usuário. Para atingir esse objetivo, não basta tornar a geração de provas sem permissão; os usuários não devem precisar de uma máquina cara com centenas de gigabytes de RAM para participar.

Esta é outra área em que fizemos um progresso extremamente impressionante! Nosso provador de GPU para Boojum requer apenas 16 GB de RAM, e esse limite baixo é um passo importante para o futuro que vislumbramos. As provas baseadas em CPU também podem usar apenas 64 GB de RAM, que esperamos reduzir para 32 GB e aproveitar ao máximo os modernos processadores multi-core.

Por fim, o sequenciador baseado em Rust do zkSync Era já pode lidar com mais de 100 transações por segundo (TPS). A introdução de um novo sistema de prova não apenas melhora o desempenho, mas também reduz os requisitos de hardware, tornando-o um complemento ideal para sequenciadores. O aumento de desempenho trazido pelo Boojum significa que o sistema pode provar transações mais rapidamente, enquanto os requisitos de hardware reduzidos melhoram o acesso à rede para máquinas mais baratas para maior escalabilidade horizontal.

Tour pela rede principal de Boojum

A equipe passou meses desenvolvendo essa atualização e estamos felizes por termos chegado ao estágio de testar o sistema na rede principal. Também queríamos compartilhar algumas histórias até agora.

Atualize a Era do zkSync

Primeiro, o design do zkSync Era nos permite atualizar cada componente ao longo do tempo, e o sistema de prova não é exceção.

Semelhante ao Ethereum, usamos uma estrutura de dados de árvore Merkle para armazenar informações sobre o estado da rede. Dado que estamos provando uma declaração sobre o estado do sistema, esta informação é necessária para provar o sistema. Para esta árvore Merkle (e a maneira como o sistema de prova interage com ela), uma decisão de projeto chave foi usar uma função hash não algébrica, especificamente Blake 2 s. Se estivéssemos otimizando apenas para facilitar a geração de prova, usaríamos uma função hash algébrica (por exemplo, Poseidon 2), mas essa escolha acopla o estado observável aos parâmetros do sistema de prova - como a escolha de campos de números primos. Quaisquer atualizações para o sistema de prova requerem uma regeneração completa do estado.

A Jornada Boojum Do Design à Revisão

Há cerca de um mês, começamos a encerrar uma versão completa de ponta a ponta de nossa nova implementação de sistema de prova. Dada a complexidade dessa mudança e a criticidade da correção do sistema, iniciamos uma série de auditorias internas e externas.

Na época, o circuito zkEVM e a biblioteca aritmética Boojum ainda estavam em desenvolvimento ativo, mas trabalhamos com auditores de segurança externos para focar na identificação precoce de possíveis problemas com a sanidade de nosso circuito principal e componentes Boojum. Trabalhamos de perto, fornecendo a eles código-fonte completo e acesso à documentação, e eles revisaram e testaram o circuito zkEVM e o gadget Boojum, usando métodos de teste automatizados e manuais.

Boojum: Da revisão ao teste

Isso nos traz hoje, o próximo passo em nosso lançamento em fases: Mainnet Shadow Mode! Temos o prazer de anunciar que agora estamos executando o novo sistema de prova em paralelo com o existente, embora o Boojum esteja atualmente apenas na versão beta. Começamos a gerar e validar “provas de sombra” de blocos da rede principal.

Essas provas de sombra não são necessárias para a versão de rede principal do zkSync Era - isso ainda será conduzido pelo sistema de prova existente. Estamos apenas validando essas provas de sombra para testar e otimizar o sistema, mas usando dados de produção reais da atividade do usuário do zkSync Era.

Boojum: do teste à rede principal

Como em tudo o que fazemos, a segurança é sempre uma prioridade. Consideraremos a migração apenas quando estivermos totalmente satisfeitos com nossos testes do novo sistema e compartilharemos mais detalhes nas próximas semanas e meses. Também planejamos realizar mais auditorias e avaliações de segurança para aproximar essa atualização empolgante da implantação completa e eliminar gradualmente o sistema de atestado atual.

Acreditamos que o Boojum é o próximo estágio no zkEVM mais seguro, escalável e eficiente.

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.
  • Recompensa
  • Comentar
  • Partilhar
Comentar
0/400
Nenhum comentário
  • Pino
Negocie cripto em qualquer lugar e a qualquer hora
qrCode
Digitalizar para transferir a aplicação Gate
Novidades
Português (Portugal)
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)