Compreendendo Cysic: O Amanhecer da Aceleração de Hardware e o Surgimento da Mineração ZK

intermediário8/14/2024, 10:33:46 AM
Este artigo introduz o fluxo de trabalho do sistema de prova ZK e explora os desafios e estratégias de otimização para acelerar os cálculos MSM e NTT.

Em abril, Vitalik compareceu à Cúpula Blockchain de Hong Kong e proferiu um discurso intitulado 'Alcançando os Limites do Design de Protocolo', onde destacou o potencial do ZK-SNARKs dentro do roadmap Danksharding do Ethereum e discutiu o papel promissor de chips ASIC na aceleração dos processos ZK. Anteriormente, o co-fundador da Scroll, Zhang Ye, sugeriu que as aplicações potenciais de ZK poderiam ser ainda maiores em setores tradicionais do que no Web3, com demanda significativa em áreas como computação confiável, bancos de dados, hardware verificável, autenticação de conteúdo e zkML. Se a geração de prova ZK em tempo real se tornar viável, poderá levar a mudanças transformadoras tanto no Web3 quanto nas indústrias tradicionais. No entanto, do ponto de vista da eficiência e do custo, a adoção generalizada do ZK ainda está um pouco distante.

Em 2022, as principais empresas de capital de risco a16z e Paradigm divulgaram relatórios enfatizando a importância da aceleração de hardware ZK. Paradigm foi tão longe a ponto de prever que os ganhos futuros para os mineradores de ZK poderiam rivalizar com os dos mineradores de Bitcoin ou Ethereum, com soluções de aceleração de hardware baseadas em GPU, FPGA e ASIC prontas para capturar um mercado significativo. Após o surgimento de ZK Rollups mainstream como Scroll e Starknet, a aceleração de hardware tornou-se um tópico quente, e o interesse se intensificou com o lançamento iminente de projetos como Cysic.

Dada a grande demanda por ZK, é provável que as pools de mineração de ZK e os modelos de geração de ZKP em tempo real possam dar origem a uma nova indústria. Neste mercado emergente, os fabricantes de hardware ZK com fortes capacidades e vantagem de mover-se cedo poderiam potencialmente tornar-se o próximo Bitmain, dominando o campo da aceleração de hardware. Cysic destaca-se como um dos jogadores mais promissores neste espaço. A equipe ganhou prêmios notáveis da plataforma de competição de tecnologia ZKP ZPrize e começou a mentorear para ZPrize em 2023. Seu roadmap apresenta ToB (business-to-business) ZK mining pools e ToC (business-to-consumer) ZK-Depin hardware, atraindo investimentos substanciais de principais VCs como Polychain, ABCDE, OKX Ventures e Hashkey, resultando em quase $20 milhões em financiamento.

À medida que a Cysic se prepara para lançar sua testnet no final de julho e abrir sua piscina de mineração ZK, as discussões sobre a empresa estão esquentando em várias comunidades. Este artigo tem como objetivo apresentar mais pessoas aos conceitos de produto da Cysic e ao modelo de negócios, fornecendo uma visão acessível dos princípios de aceleração de hardware ZK. Nas seções a seguir, iremos delinear brevemente os principais aspectos da Cysic, facilitando a compreensão para os leitores.

Compreensão dos Sistemas de Prova de Conhecimento Zero: Uma Perspectiva de Fluxo de Trabalho

O sistema de prova ZK (Zero-Knowledge) é complexo, mas podemos simplificar sua compreensão, dividindo-o em suas funções e fluxo de trabalho. Aqui está uma visão geral básica de como um sistema projetado para aplicar ZK a cálculos comuns funciona: Primeiro, o usuário interage com o sistema ZK por meio de uma interface de front-end, enviando o conteúdo que deseja provar. O front-end converte então esse conteúdo em um formato adequado para o processamento pelo sistema de prova ZK. O sistema utiliza um sistema de prova ou estrutura específica (como Halo2 ou Plonk) para gerar uma prova ZK. Esse processo inclui várias etapas-chave:

  1. Definindo o Problema: O primeiro passo é identificar o conteúdo específico que precisa ser comprovado. Por exemplo, o Provador pode afirmar conhecer ou possuir certos dados, como afirmar: "Eu sei uma solução N para a equação F(x)=w," sem revelar o valor real de N.
  2. Problemas de Conversão Aritmética e de Satisfação de Restrições (CSP): Após o Prover submeter o conteúdo, o sistema cria um modelo matemático ou programa especializado que representa com precisão o conteúdo a ser comprovado. Isso é então convertido para um formato que o sistema de prova pode processar. Por exemplo, a afirmação “Eu sei uma solução N para a equação F(x)=w” é transformada de sua equação matemática original para uma forma representada por circuitos lógicos e polinômios.

  1. Compilando em ZKP: Em seguida, o sistema seleciona um sistema de prova apropriado, como Halo ou Plonk, e compila o conteúdo gerado anteriormente em um programa ZKP. O Provador então usa este programa para gerar uma prova, que o Verificador verifica a validade.

Para sistemas como zkEVM, comumente usados em soluções Ethereum Layer 2, os contratos inteligentes são primeiro compilados em bytecode EVM (Ethereum Virtual Machine). Cada opcode é então convertido em circuitos lógicos Gate ou restrições polinomiais antes de ser processado pelo sistema de prova ZK de back-end.

É importante notar que zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) são a tecnologia ZKP mais comumente usada na blockchain hoje. Muitos ZK Rollups aproveitam a concisão dos SNARKs em vez de sua propriedade de conhecimento zero. A concisão refere-se à capacidade do ZKP de comprimir grandes quantidades de dados em alguns centenas de bytes, reduzindo significativamente os custos de verificação. Isso resulta em uma assimetria entre a carga de trabalho do Provador e do Verificador: enquanto é custoso para o Provador gerar o ZKP, é relativamente barato para o Verificador verificá-lo. Ao explorar essa assimetria, um cenário com um Provador e vários Verificadores pode reduzir significativamente o custo total do lado do Verificador. Esse modelo é particularmente vantajoso para a verificação descentralizada, conforme idealizado pelas soluções de Camada 2 da Ethereum.

No entanto, este modelo de transferência dos custos de verificação para o processo de geração de ZKP não é uma solução milagrosa. Para projetos de ZK Rollup, o alto custo de geração de ZKP inevitavelmente será repassado para a experiência do usuário e taxas de transação, o que poderá dificultar a adoção a longo prazo dos ZK Rollups. Apesar do potencial do ZK na verificação sem confiança e descentralizada, as condições econômicas atuais não suportam a implementação em larga escala de zkEVM, zkVM, ZK Rollups ou ZK bridges devido às restrições de tempo associadas à geração de provas. Isso levou ao surgimento de projetos de aceleração de ZK como Cysic, Ingonyama e Irreducible, cada um trabalhando para reduzir o custo de geração de ZKP por diferentes ângulos. Na seção seguinte, discutiremos brevemente os principais custos computacionais e técnicas de aceleração para a geração de ZKP, e por que Cysic tem um potencial significativo no espaço de aceleração de ZK.

Desafios Computacionais: MSM e NTT

É amplamente conhecido que gerar provas em sistemas ZK consome tempo para o Provador. No protocolo ZK-SNARK, um Verificador pode ser capaz de verificar uma prova em apenas um segundo, mas o Provador pode levar meio dia ou até um dia inteiro para gerar essa prova. Para otimizar o uso de cálculos de ZKP, é necessário converter o formato de computação da programação clássica para um formato amigável ao ZK.

Atualmente, existem dois métodos principais para alcançar isso: um envolve escrever circuitos usando estruturas de sistema de prova como o Halo2, enquanto o outro envolve o uso de linguagens específicas de domínio (DSLs) como Cairo ou Circom, para traduzir computações em um formato intermediário que pode então ser submetido ao sistema de prova. O sistema de prova gera provas de conhecimento-zero baseadas nesses circuitos ou nos formatos intermediários compilados pelas DSLs. Quanto mais complexas forem as operações, mais tempo levará para gerar a prova. Além disso, algumas operações são intrinsecamente desfavoráveis ​​à ZK e exigem esforço adicional para implementar. Por exemplo, funções de hash como SHA ou Keccak são desfavoráveis ​​à ZKP, o que significa que usá-las aumenta o tempo de geração da prova. Mesmo operações que são baratas para executar em computadores clássicos podem não ser eficientes para ZKP.

Excluindo essas tarefas ZK-inamigáveis, os gargalos no processo de geração de prova são bastante similares em diferentes sistemas de prova. Existem duas principais tarefas computacionais que consomem a maior parte dos recursos na geração de prova ZK: MSM (Multiplicação Multiescalar) e NTT (Transformada Teórica de Números). Essas duas tarefas podem representar de 80 a 95% do tempo de geração de prova, dependendo do esquema de comprometimento ZKP e da implementação específica. MSM envolve a realização de multiplicação multiescalar em curvas elípticas, enquanto NTT é uma FFT (Transformada Rápida de Fourier) em campos finitos usada para acelerar a multiplicação de polinômios. Diferentes combinações dessas tarefas podem resultar em distribuições de carga variáveis entre FFT e MSM. Por exemplo, Stark usa FRI, um esquema de comprometimento baseado em hash que não envolve MSM, ao contrário dos esquemas baseados em curvas elípticas como KZG ou IPA. Geralmente, quanto mais operações de FFT são necessárias, menos operações de MSM, e vice-versa.

Estratégias de Otimização

As operações de MSM são caracterizadas por acesso à memória previsível, o que permite alta paralelização, mas demanda recursos significativos de memória. No entanto, o MSM também apresenta desafios de escalabilidade; mesmo com paralelização, pode ser lento. Embora a aceleração de hardware possa ajudar a acelerar o MSM, requer recursos substanciais de memória e computação paralela.

NTT, por outro lado, envolve acesso aleatório à memória, tornando-o menos adequado para aceleração de hardware e desafiador para lidar em sistemas distribuídos. Isso ocorre porque a natureza de acesso aleatório do NTT frequentemente requer acesso a dados de outros nós em um ambiente distribuído. Quando a interação de rede é necessária, o desempenho pode sofrer dramaticamente.

Portanto, o acesso e movimento de dados armazenados se tornam grandes gargalos, limitando a capacidade de paralelizar operações NTT. A maioria dos esforços para acelerar NTT foca em gerenciar como a computação interage com a memória.

Na verdade, a maneira mais simples de resolver o gargalo de eficiência do MSM e NTT é eliminar completamente essas operações. Alguns algoritmos recém-propostos, como o Hyperplonk, modificam o Plonk para remover as operações NTT, tornando o Hyperplonk mais fácil de acelerar, embora introduza novos gargalos. Outros exemplos incluem o protocolo de verificação de soma computacionalmente caro ou o algoritmo STARK, que elimina o MSM, mas adiciona uma computação significativa de hash por meio de seu protocolo FRI.

Aceleração de Hardware ZK e o Objetivo Final da Cysic

Embora as otimizações de software e algorítmicas sejam essenciais e valiosas, elas têm limitações claras. Para otimizar totalmente a eficiência da geração de ZKP, a aceleração de hardware é crucial, assim como os ASICs e GPUs eventualmente dominaram os mercados de mineração de BTC e ETH.

A pergunta então se torna: qual é o melhor hardware para acelerar a geração de ZKP? Atualmente, várias opções de hardware estão disponíveis para aceleração de ZK, como GPUs, FPGAs ou ASICs, cada um com seu próprio conjunto de vantagens e desvantagens.

Comparando Hardware GPU, FPGA e ASIC

Para entender melhor as diferenças nos processos de desenvolvimento entre GPU, FPGA e hardware ASIC, vamos considerar um exemplo simples: implementar uma multiplicação paralela.

  • GPU: Usando o CUDA SDK, os desenvolvedores podem escrever código que aproveita a computação paralela, semelhante à escrita de código nativo.
  • FPGA: Os desenvolvedores precisam aprender uma linguagem de descrição de hardware (HDL) para controlar conexões de nível de hardware e implementar algoritmos paralelos.
  • ASIC: O layout do transistor do chip é fixo durante a fase de design e não pode ser modificado posteriormente.

Cada opção de hardware tem seus pontos fortes e fracos, tornando-os adequados para diferentes estágios de desenvolvimento da tecnologia ZK. O objetivo da Cysic é se tornar a solução definitiva para aceleração de hardware ZK, usando uma estratégia faseada:

  1. GPU: Desenvolver um SDK para fornecer soluções para aplicativos ZK e integrar recursos da GPU em toda a rede.
  2. FPGA: Aproveite a flexibilidade do FPGA para criar rapidamente aceleração personalizada de hardware ZK.
  3. ASIC: Desenvolver independentemente hardware ZK Depin baseado em ASIC.
  4. Cysic Network integrará todo o poder de computação de ZK Depin e GPU como uma plataforma SAAS/pool de mineração para fornecer poder de computação e soluções de verificação para toda a indústria ZK.

Vamos explorar esses vários subcampos para entender melhor as distinções entre as soluções de aceleração ZK e a abordagem de desenvolvimento da Cysic.

ZK Pool de Mineração e Plataforma SaaS: Rede Cysic

Tanto o Scroll quanto o Polygon zkEVM propuseram o conceito de um "Prover descentralizado" em seus roteiros, o que essencialmente significa a construção de pools de mineração ZK. Essa abordagem orientada pelo mercado ajuda os projetos ZK Rollup a reduzirem sua carga de trabalho, ao mesmo tempo que incentiva os mineradores e operadores de pools de mineração a otimizarem continuamente as soluções de aceleração ZK. O roteiro da Cysic inclui o desenvolvimento de um pool de mineração ZK e uma plataforma SaaS chamada Cysic Network, que integrará o poder de computação da Cysic e atrairá recursos de terceiros por meio de incentivos de mineração, incluindo GPUs inativas e dispositivos zk DePIN de propriedade do consumidor. O fluxo de trabalho de verificação completo funciona da seguinte forma:

  1. Submissão de Tarefa: A equipe do projeto zk envia uma tarefa de geração de prova para um agente, que encaminha a tarefa para a rede de verificação. Inicialmente, esses agentes serão operados pela Cysic, mas posteriormente, o staking de ativos permitirá que qualquer pessoa se torne um agente.
  2. Geração de Prova: O Prover aceita a tarefa e utiliza hardware para gerar a prova de ZK. O Prover deve apostar tokens para participar e será recompensado após completar a tarefa.
  3. Validação: O Comitê de Validadores verifica a validade da prova e vota nela. Uma vez atingido um certo número de votos, a prova é considerada válida. Os validadores ingressam no comitê apostando tokens, participando da votação e ganhando recompensas. Este processo pode incorporar o conceito AVS da EigenLayer para reutilizar as instalações de Restaking existentes.

O processo de interação detalhado é o seguinte

Nesse processo, certas ações, como staking de ativos, distribuição de incentivos e submissão de tarefas, requerem uma plataforma dedicada suportada pela infraestrutura blockchain. Para atender a essa necessidade, a Cysic Network desenvolveu uma cadeia pública dedicada com um algoritmo de consenso único chamado Proof of Compute (PoC). Esse algoritmo utiliza a função VRF e o desempenho histórico do Provador, como disponibilidade de dispositivo, número de provas enviadas, precisão da prova, etc., para selecionar os produtores de blocos responsáveis pela criação de blocos (esses blocos provavelmente registram informações do dispositivo e distribuem incentivos de token). Além da pool de mineração ZK e da plataforma SaaS, a Cysic fez extensas implantações em soluções de aceleração ZK baseadas em diferentes hardwares. Vamos explorar as conquistas da Cysic em tecnologia de GPU, FPGA e ASIC.

GPU, FPGA e ASIC: uma comparação

A essência da aceleração de hardware ZK (Zero-Knowledge) reside em maximizar a paralelização dos cálculos-chave. Do ponto de vista do hardware, as CPUs são projetadas para máxima flexibilidade e uso de propósito geral. No entanto, uma parte significativa da área do chip da CPU é dedicada a funções de controle e vários níveis de cache, o que limita suas capacidades de computação paralela. Em contraste, uma proporção maior da área do chip de uma GPU é alocada para computação, permitindo que ela suporte processamento paralelo em grande escala. As GPUs estão agora amplamente disponíveis, e bibliotecas como Nvidia CUDA permitem que os desenvolvedores aproveitem o paralelismo da GPU sem precisar de um conhecimento profundo do hardware subjacente. O SDK CUDA fornece um framework para acelerar cálculos MSM (Multiplicação Multi-Escalar) e NTT (Transformada Teórica de Números) usando bibliotecas CUDA ZK.

FPGA (Field-Programmable Gate Array) adota uma abordagem diferente, compreendendo arrays de numerosas unidades de processamento pequenas. Para programar um FPGA, os desenvolvedores devem usar uma linguagem de descrição de hardware especializada (HDL), que é então compilada em combinações de circuitos de transistores. Essencialmente, o FPGA implementa algoritmos específicos diretamente através de circuitos de transistores, contornando o processo de compilação do sistema de instruções tradicional. Esta abordagem oferece uma personalização e flexibilidade muito maiores em comparação com as GPUs. Atualmente, os preços do FPGA são cerca de um terço dos preços das GPUs e podem ser mais de dez vezes mais eficientes em termos de energia. Essa vantagem de eficiência energética é parcialmente porque as GPUs precisam ser conectadas a um dispositivo hospedeiro, o que normalmente consome muita energia. O FPGA pode adicionar mais módulos de computação para atender às demandas do MSM e NTT sem aumentar o consumo de energia, tornando-o particularmente adequado para cenários de prova de ZK que são computacionalmente intensivos, exigem alto rendimento de dados e baixos tempos de resposta. No entanto, o maior desafio com o FPGA é a escassez de desenvolvedores com a experiência de programação necessária. Para equipes de projetos de ZK, montar uma equipe com expertise em criptografia e conhecimento em engenharia de FPGA é extremamente desafiador.

ASIC (Circuito Integrado Específico de Aplicação) é o mais especializado dos três, essencialmente implementando um programa inteiramente em hardware. Uma vez que um ASIC é projetado, a configuração do hardware é fixa e não pode ser alterada, o que significa que ele só pode realizar tarefas específicas. As vantagens da FPGA na aceleração do MSM e NTT também se aplicam ao ASIC, mas como o ASIC é projetado para uma aplicação específica, ele oferece a maior eficiência e o menor consumo de energia entre todas as opções de hardware. Para os circuitos ZK mainstream de hoje, a Cysic tem como objetivo alcançar tempos de prova de 1-5 segundos, algo que apenas o ASIC pode oferecer. Embora esses benefícios sejam altamente atraentes, a tecnologia ZK está evoluindo rapidamente, e os ciclos de design e produção do ASIC geralmente levam de 1 a 2 anos e custam entre US$ 10 milhões e US$ 20 milhões. Portanto, a produção em larga escala deve aguardar a estabilização da tecnologia ZK para evitar a produção de chips que rapidamente se tornam obsoletos.

Para enfrentar esses desafios, a Cysic fez investimentos abrangentes em todas as três categorias de hardware: GPU, FPGA e ASIC. Na aceleração de GPU, a Cysic se adaptou ao surgimento de vários novos sistemas de prova ZK através de seu SDK de aceleração CUDA auto-desenvolvido. Ao consolidar os recursos da comunidade, a Cysic conectou dezenas de milhares de GPUs de primeira linha em sua rede de computação de GPU, alcançando melhorias de velocidade de 50%-80% ou mais em comparação com os últimos frameworks de código aberto. No espaço de FPGA, a Cysic desenvolveu soluções que estabelecem referências de desempenho global para os módulos de árvore de Merkle MSM, NTT e Poseidon, abrangendo os componentes mais críticos da computação ZK. Essas soluções foram testadas e validadas por vários projetos ZK líderes. O SolarMSM proprietário da Cysic pode completar cálculos MSM em escala de 2^30 em apenas 0,195 segundos, enquanto o SolarNTT pode realizar cálculos NTT em escala de 2^30 em 0,218 segundos, tornando-os os resultados de aceleração de hardware FPGA de maior desempenho atualmente disponíveis.

No campo de ASIC, embora a adoção generalizada de ZK ASICs ainda possa estar um pouco distante, a Cysic já se posicionou neste mercado emergente desenvolvendo seus próprios chips e dispositivos ZK DePIN. Para atrair usuários consumidores e atender aos diversos requisitos de desempenho e custo de diferentes projetos ZK, a Cysic planeja introduzir dois produtos de hardware ZK: ZK Air e ZK Pro.

  • ZK Air: Este dispositivo é compacto, semelhante em tamanho a um power bank ou um carregador de laptop, permitindo que os usuários comuns o conectem via interface Type-C a laptops, iPads ou até mesmo smartphones. Ele fornece suporte computacional para projetos ZK específicos, ao mesmo tempo em que gera recompensas para o usuário. Apesar de seu tamanho pequeno, o poder computacional do ZK Air excede o de GPUs de consumo, tornando-o capaz de acelerar tarefas de geração de provas ZK em menor escala.
  • ZK Pro: Projetado para aplicações mais intensivas, o ZK Pro se assemelha a rigs de mineração tradicionais e oferece poder de computação equivalente a um servidor com várias GPUs. Ele acelera significativamente a geração de provas ZK para projetos em grande escala, como ZK-Rollup e ZKML (Aprendizado de Máquina de Conhecimento Zero).

Através desses dois dispositivos, a Cysic tem como objetivo criar uma rede ZK-DePIN estável e confiável. Tanto o ZK Air quanto o ZK Pro estão atualmente em desenvolvimento, com lançamento previsto para 2025. Além disso, a Rede Cysic permitirá que os usuários consumidores entrem no mercado de aceleração de hardware ZK com barreiras de entrada muito baixas. Aliado à alta demanda por potência computacional das equipes de projetos ZK, isso poderia desencadear uma nova onda de entusiasmo semelhante à explosão da mineração de Bitcoin, potencialmente levando a um crescimento explosivo no mercado de computação ZK.

Referência

https://medium.com/amber-group/need-for-speed-zero-knowledge-1e29d4a82fcdhttps://figmentcapital.medium.com/accelerating-zero-knowledge-proofs-cfc806de611b

Aviso Legal:

  1. Este artigo é reproduzido de Geek Web3. Os direitos autorais pertencem aos autores originais, [Nickqiao & Wuyue]. Se houver alguma objeção à reprodução, entre em contato com oGate Learnequipe e a equipe irá processá-lo prontamente de acordo com os procedimentos relevantes.
  2. Aviso Legal: As visões e opiniões expressas neste artigo são exclusivamente daqueles dos autores e não constituem nenhum conselho de investimento.
  3. Outras versões do artigo foram traduzidas pela equipe Gate Learn. Os artigos traduzidos não podem ser copiados, distribuídos ou plagiados sem mencionar Gate.io.

Compreendendo Cysic: O Amanhecer da Aceleração de Hardware e o Surgimento da Mineração ZK

intermediário8/14/2024, 10:33:46 AM
Este artigo introduz o fluxo de trabalho do sistema de prova ZK e explora os desafios e estratégias de otimização para acelerar os cálculos MSM e NTT.

Em abril, Vitalik compareceu à Cúpula Blockchain de Hong Kong e proferiu um discurso intitulado 'Alcançando os Limites do Design de Protocolo', onde destacou o potencial do ZK-SNARKs dentro do roadmap Danksharding do Ethereum e discutiu o papel promissor de chips ASIC na aceleração dos processos ZK. Anteriormente, o co-fundador da Scroll, Zhang Ye, sugeriu que as aplicações potenciais de ZK poderiam ser ainda maiores em setores tradicionais do que no Web3, com demanda significativa em áreas como computação confiável, bancos de dados, hardware verificável, autenticação de conteúdo e zkML. Se a geração de prova ZK em tempo real se tornar viável, poderá levar a mudanças transformadoras tanto no Web3 quanto nas indústrias tradicionais. No entanto, do ponto de vista da eficiência e do custo, a adoção generalizada do ZK ainda está um pouco distante.

Em 2022, as principais empresas de capital de risco a16z e Paradigm divulgaram relatórios enfatizando a importância da aceleração de hardware ZK. Paradigm foi tão longe a ponto de prever que os ganhos futuros para os mineradores de ZK poderiam rivalizar com os dos mineradores de Bitcoin ou Ethereum, com soluções de aceleração de hardware baseadas em GPU, FPGA e ASIC prontas para capturar um mercado significativo. Após o surgimento de ZK Rollups mainstream como Scroll e Starknet, a aceleração de hardware tornou-se um tópico quente, e o interesse se intensificou com o lançamento iminente de projetos como Cysic.

Dada a grande demanda por ZK, é provável que as pools de mineração de ZK e os modelos de geração de ZKP em tempo real possam dar origem a uma nova indústria. Neste mercado emergente, os fabricantes de hardware ZK com fortes capacidades e vantagem de mover-se cedo poderiam potencialmente tornar-se o próximo Bitmain, dominando o campo da aceleração de hardware. Cysic destaca-se como um dos jogadores mais promissores neste espaço. A equipe ganhou prêmios notáveis da plataforma de competição de tecnologia ZKP ZPrize e começou a mentorear para ZPrize em 2023. Seu roadmap apresenta ToB (business-to-business) ZK mining pools e ToC (business-to-consumer) ZK-Depin hardware, atraindo investimentos substanciais de principais VCs como Polychain, ABCDE, OKX Ventures e Hashkey, resultando em quase $20 milhões em financiamento.

À medida que a Cysic se prepara para lançar sua testnet no final de julho e abrir sua piscina de mineração ZK, as discussões sobre a empresa estão esquentando em várias comunidades. Este artigo tem como objetivo apresentar mais pessoas aos conceitos de produto da Cysic e ao modelo de negócios, fornecendo uma visão acessível dos princípios de aceleração de hardware ZK. Nas seções a seguir, iremos delinear brevemente os principais aspectos da Cysic, facilitando a compreensão para os leitores.

Compreensão dos Sistemas de Prova de Conhecimento Zero: Uma Perspectiva de Fluxo de Trabalho

O sistema de prova ZK (Zero-Knowledge) é complexo, mas podemos simplificar sua compreensão, dividindo-o em suas funções e fluxo de trabalho. Aqui está uma visão geral básica de como um sistema projetado para aplicar ZK a cálculos comuns funciona: Primeiro, o usuário interage com o sistema ZK por meio de uma interface de front-end, enviando o conteúdo que deseja provar. O front-end converte então esse conteúdo em um formato adequado para o processamento pelo sistema de prova ZK. O sistema utiliza um sistema de prova ou estrutura específica (como Halo2 ou Plonk) para gerar uma prova ZK. Esse processo inclui várias etapas-chave:

  1. Definindo o Problema: O primeiro passo é identificar o conteúdo específico que precisa ser comprovado. Por exemplo, o Provador pode afirmar conhecer ou possuir certos dados, como afirmar: "Eu sei uma solução N para a equação F(x)=w," sem revelar o valor real de N.
  2. Problemas de Conversão Aritmética e de Satisfação de Restrições (CSP): Após o Prover submeter o conteúdo, o sistema cria um modelo matemático ou programa especializado que representa com precisão o conteúdo a ser comprovado. Isso é então convertido para um formato que o sistema de prova pode processar. Por exemplo, a afirmação “Eu sei uma solução N para a equação F(x)=w” é transformada de sua equação matemática original para uma forma representada por circuitos lógicos e polinômios.

  1. Compilando em ZKP: Em seguida, o sistema seleciona um sistema de prova apropriado, como Halo ou Plonk, e compila o conteúdo gerado anteriormente em um programa ZKP. O Provador então usa este programa para gerar uma prova, que o Verificador verifica a validade.

Para sistemas como zkEVM, comumente usados em soluções Ethereum Layer 2, os contratos inteligentes são primeiro compilados em bytecode EVM (Ethereum Virtual Machine). Cada opcode é então convertido em circuitos lógicos Gate ou restrições polinomiais antes de ser processado pelo sistema de prova ZK de back-end.

É importante notar que zk-SNARKs (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge) são a tecnologia ZKP mais comumente usada na blockchain hoje. Muitos ZK Rollups aproveitam a concisão dos SNARKs em vez de sua propriedade de conhecimento zero. A concisão refere-se à capacidade do ZKP de comprimir grandes quantidades de dados em alguns centenas de bytes, reduzindo significativamente os custos de verificação. Isso resulta em uma assimetria entre a carga de trabalho do Provador e do Verificador: enquanto é custoso para o Provador gerar o ZKP, é relativamente barato para o Verificador verificá-lo. Ao explorar essa assimetria, um cenário com um Provador e vários Verificadores pode reduzir significativamente o custo total do lado do Verificador. Esse modelo é particularmente vantajoso para a verificação descentralizada, conforme idealizado pelas soluções de Camada 2 da Ethereum.

No entanto, este modelo de transferência dos custos de verificação para o processo de geração de ZKP não é uma solução milagrosa. Para projetos de ZK Rollup, o alto custo de geração de ZKP inevitavelmente será repassado para a experiência do usuário e taxas de transação, o que poderá dificultar a adoção a longo prazo dos ZK Rollups. Apesar do potencial do ZK na verificação sem confiança e descentralizada, as condições econômicas atuais não suportam a implementação em larga escala de zkEVM, zkVM, ZK Rollups ou ZK bridges devido às restrições de tempo associadas à geração de provas. Isso levou ao surgimento de projetos de aceleração de ZK como Cysic, Ingonyama e Irreducible, cada um trabalhando para reduzir o custo de geração de ZKP por diferentes ângulos. Na seção seguinte, discutiremos brevemente os principais custos computacionais e técnicas de aceleração para a geração de ZKP, e por que Cysic tem um potencial significativo no espaço de aceleração de ZK.

Desafios Computacionais: MSM e NTT

É amplamente conhecido que gerar provas em sistemas ZK consome tempo para o Provador. No protocolo ZK-SNARK, um Verificador pode ser capaz de verificar uma prova em apenas um segundo, mas o Provador pode levar meio dia ou até um dia inteiro para gerar essa prova. Para otimizar o uso de cálculos de ZKP, é necessário converter o formato de computação da programação clássica para um formato amigável ao ZK.

Atualmente, existem dois métodos principais para alcançar isso: um envolve escrever circuitos usando estruturas de sistema de prova como o Halo2, enquanto o outro envolve o uso de linguagens específicas de domínio (DSLs) como Cairo ou Circom, para traduzir computações em um formato intermediário que pode então ser submetido ao sistema de prova. O sistema de prova gera provas de conhecimento-zero baseadas nesses circuitos ou nos formatos intermediários compilados pelas DSLs. Quanto mais complexas forem as operações, mais tempo levará para gerar a prova. Além disso, algumas operações são intrinsecamente desfavoráveis ​​à ZK e exigem esforço adicional para implementar. Por exemplo, funções de hash como SHA ou Keccak são desfavoráveis ​​à ZKP, o que significa que usá-las aumenta o tempo de geração da prova. Mesmo operações que são baratas para executar em computadores clássicos podem não ser eficientes para ZKP.

Excluindo essas tarefas ZK-inamigáveis, os gargalos no processo de geração de prova são bastante similares em diferentes sistemas de prova. Existem duas principais tarefas computacionais que consomem a maior parte dos recursos na geração de prova ZK: MSM (Multiplicação Multiescalar) e NTT (Transformada Teórica de Números). Essas duas tarefas podem representar de 80 a 95% do tempo de geração de prova, dependendo do esquema de comprometimento ZKP e da implementação específica. MSM envolve a realização de multiplicação multiescalar em curvas elípticas, enquanto NTT é uma FFT (Transformada Rápida de Fourier) em campos finitos usada para acelerar a multiplicação de polinômios. Diferentes combinações dessas tarefas podem resultar em distribuições de carga variáveis entre FFT e MSM. Por exemplo, Stark usa FRI, um esquema de comprometimento baseado em hash que não envolve MSM, ao contrário dos esquemas baseados em curvas elípticas como KZG ou IPA. Geralmente, quanto mais operações de FFT são necessárias, menos operações de MSM, e vice-versa.

Estratégias de Otimização

As operações de MSM são caracterizadas por acesso à memória previsível, o que permite alta paralelização, mas demanda recursos significativos de memória. No entanto, o MSM também apresenta desafios de escalabilidade; mesmo com paralelização, pode ser lento. Embora a aceleração de hardware possa ajudar a acelerar o MSM, requer recursos substanciais de memória e computação paralela.

NTT, por outro lado, envolve acesso aleatório à memória, tornando-o menos adequado para aceleração de hardware e desafiador para lidar em sistemas distribuídos. Isso ocorre porque a natureza de acesso aleatório do NTT frequentemente requer acesso a dados de outros nós em um ambiente distribuído. Quando a interação de rede é necessária, o desempenho pode sofrer dramaticamente.

Portanto, o acesso e movimento de dados armazenados se tornam grandes gargalos, limitando a capacidade de paralelizar operações NTT. A maioria dos esforços para acelerar NTT foca em gerenciar como a computação interage com a memória.

Na verdade, a maneira mais simples de resolver o gargalo de eficiência do MSM e NTT é eliminar completamente essas operações. Alguns algoritmos recém-propostos, como o Hyperplonk, modificam o Plonk para remover as operações NTT, tornando o Hyperplonk mais fácil de acelerar, embora introduza novos gargalos. Outros exemplos incluem o protocolo de verificação de soma computacionalmente caro ou o algoritmo STARK, que elimina o MSM, mas adiciona uma computação significativa de hash por meio de seu protocolo FRI.

Aceleração de Hardware ZK e o Objetivo Final da Cysic

Embora as otimizações de software e algorítmicas sejam essenciais e valiosas, elas têm limitações claras. Para otimizar totalmente a eficiência da geração de ZKP, a aceleração de hardware é crucial, assim como os ASICs e GPUs eventualmente dominaram os mercados de mineração de BTC e ETH.

A pergunta então se torna: qual é o melhor hardware para acelerar a geração de ZKP? Atualmente, várias opções de hardware estão disponíveis para aceleração de ZK, como GPUs, FPGAs ou ASICs, cada um com seu próprio conjunto de vantagens e desvantagens.

Comparando Hardware GPU, FPGA e ASIC

Para entender melhor as diferenças nos processos de desenvolvimento entre GPU, FPGA e hardware ASIC, vamos considerar um exemplo simples: implementar uma multiplicação paralela.

  • GPU: Usando o CUDA SDK, os desenvolvedores podem escrever código que aproveita a computação paralela, semelhante à escrita de código nativo.
  • FPGA: Os desenvolvedores precisam aprender uma linguagem de descrição de hardware (HDL) para controlar conexões de nível de hardware e implementar algoritmos paralelos.
  • ASIC: O layout do transistor do chip é fixo durante a fase de design e não pode ser modificado posteriormente.

Cada opção de hardware tem seus pontos fortes e fracos, tornando-os adequados para diferentes estágios de desenvolvimento da tecnologia ZK. O objetivo da Cysic é se tornar a solução definitiva para aceleração de hardware ZK, usando uma estratégia faseada:

  1. GPU: Desenvolver um SDK para fornecer soluções para aplicativos ZK e integrar recursos da GPU em toda a rede.
  2. FPGA: Aproveite a flexibilidade do FPGA para criar rapidamente aceleração personalizada de hardware ZK.
  3. ASIC: Desenvolver independentemente hardware ZK Depin baseado em ASIC.
  4. Cysic Network integrará todo o poder de computação de ZK Depin e GPU como uma plataforma SAAS/pool de mineração para fornecer poder de computação e soluções de verificação para toda a indústria ZK.

Vamos explorar esses vários subcampos para entender melhor as distinções entre as soluções de aceleração ZK e a abordagem de desenvolvimento da Cysic.

ZK Pool de Mineração e Plataforma SaaS: Rede Cysic

Tanto o Scroll quanto o Polygon zkEVM propuseram o conceito de um "Prover descentralizado" em seus roteiros, o que essencialmente significa a construção de pools de mineração ZK. Essa abordagem orientada pelo mercado ajuda os projetos ZK Rollup a reduzirem sua carga de trabalho, ao mesmo tempo que incentiva os mineradores e operadores de pools de mineração a otimizarem continuamente as soluções de aceleração ZK. O roteiro da Cysic inclui o desenvolvimento de um pool de mineração ZK e uma plataforma SaaS chamada Cysic Network, que integrará o poder de computação da Cysic e atrairá recursos de terceiros por meio de incentivos de mineração, incluindo GPUs inativas e dispositivos zk DePIN de propriedade do consumidor. O fluxo de trabalho de verificação completo funciona da seguinte forma:

  1. Submissão de Tarefa: A equipe do projeto zk envia uma tarefa de geração de prova para um agente, que encaminha a tarefa para a rede de verificação. Inicialmente, esses agentes serão operados pela Cysic, mas posteriormente, o staking de ativos permitirá que qualquer pessoa se torne um agente.
  2. Geração de Prova: O Prover aceita a tarefa e utiliza hardware para gerar a prova de ZK. O Prover deve apostar tokens para participar e será recompensado após completar a tarefa.
  3. Validação: O Comitê de Validadores verifica a validade da prova e vota nela. Uma vez atingido um certo número de votos, a prova é considerada válida. Os validadores ingressam no comitê apostando tokens, participando da votação e ganhando recompensas. Este processo pode incorporar o conceito AVS da EigenLayer para reutilizar as instalações de Restaking existentes.

O processo de interação detalhado é o seguinte

Nesse processo, certas ações, como staking de ativos, distribuição de incentivos e submissão de tarefas, requerem uma plataforma dedicada suportada pela infraestrutura blockchain. Para atender a essa necessidade, a Cysic Network desenvolveu uma cadeia pública dedicada com um algoritmo de consenso único chamado Proof of Compute (PoC). Esse algoritmo utiliza a função VRF e o desempenho histórico do Provador, como disponibilidade de dispositivo, número de provas enviadas, precisão da prova, etc., para selecionar os produtores de blocos responsáveis pela criação de blocos (esses blocos provavelmente registram informações do dispositivo e distribuem incentivos de token). Além da pool de mineração ZK e da plataforma SaaS, a Cysic fez extensas implantações em soluções de aceleração ZK baseadas em diferentes hardwares. Vamos explorar as conquistas da Cysic em tecnologia de GPU, FPGA e ASIC.

GPU, FPGA e ASIC: uma comparação

A essência da aceleração de hardware ZK (Zero-Knowledge) reside em maximizar a paralelização dos cálculos-chave. Do ponto de vista do hardware, as CPUs são projetadas para máxima flexibilidade e uso de propósito geral. No entanto, uma parte significativa da área do chip da CPU é dedicada a funções de controle e vários níveis de cache, o que limita suas capacidades de computação paralela. Em contraste, uma proporção maior da área do chip de uma GPU é alocada para computação, permitindo que ela suporte processamento paralelo em grande escala. As GPUs estão agora amplamente disponíveis, e bibliotecas como Nvidia CUDA permitem que os desenvolvedores aproveitem o paralelismo da GPU sem precisar de um conhecimento profundo do hardware subjacente. O SDK CUDA fornece um framework para acelerar cálculos MSM (Multiplicação Multi-Escalar) e NTT (Transformada Teórica de Números) usando bibliotecas CUDA ZK.

FPGA (Field-Programmable Gate Array) adota uma abordagem diferente, compreendendo arrays de numerosas unidades de processamento pequenas. Para programar um FPGA, os desenvolvedores devem usar uma linguagem de descrição de hardware especializada (HDL), que é então compilada em combinações de circuitos de transistores. Essencialmente, o FPGA implementa algoritmos específicos diretamente através de circuitos de transistores, contornando o processo de compilação do sistema de instruções tradicional. Esta abordagem oferece uma personalização e flexibilidade muito maiores em comparação com as GPUs. Atualmente, os preços do FPGA são cerca de um terço dos preços das GPUs e podem ser mais de dez vezes mais eficientes em termos de energia. Essa vantagem de eficiência energética é parcialmente porque as GPUs precisam ser conectadas a um dispositivo hospedeiro, o que normalmente consome muita energia. O FPGA pode adicionar mais módulos de computação para atender às demandas do MSM e NTT sem aumentar o consumo de energia, tornando-o particularmente adequado para cenários de prova de ZK que são computacionalmente intensivos, exigem alto rendimento de dados e baixos tempos de resposta. No entanto, o maior desafio com o FPGA é a escassez de desenvolvedores com a experiência de programação necessária. Para equipes de projetos de ZK, montar uma equipe com expertise em criptografia e conhecimento em engenharia de FPGA é extremamente desafiador.

ASIC (Circuito Integrado Específico de Aplicação) é o mais especializado dos três, essencialmente implementando um programa inteiramente em hardware. Uma vez que um ASIC é projetado, a configuração do hardware é fixa e não pode ser alterada, o que significa que ele só pode realizar tarefas específicas. As vantagens da FPGA na aceleração do MSM e NTT também se aplicam ao ASIC, mas como o ASIC é projetado para uma aplicação específica, ele oferece a maior eficiência e o menor consumo de energia entre todas as opções de hardware. Para os circuitos ZK mainstream de hoje, a Cysic tem como objetivo alcançar tempos de prova de 1-5 segundos, algo que apenas o ASIC pode oferecer. Embora esses benefícios sejam altamente atraentes, a tecnologia ZK está evoluindo rapidamente, e os ciclos de design e produção do ASIC geralmente levam de 1 a 2 anos e custam entre US$ 10 milhões e US$ 20 milhões. Portanto, a produção em larga escala deve aguardar a estabilização da tecnologia ZK para evitar a produção de chips que rapidamente se tornam obsoletos.

Para enfrentar esses desafios, a Cysic fez investimentos abrangentes em todas as três categorias de hardware: GPU, FPGA e ASIC. Na aceleração de GPU, a Cysic se adaptou ao surgimento de vários novos sistemas de prova ZK através de seu SDK de aceleração CUDA auto-desenvolvido. Ao consolidar os recursos da comunidade, a Cysic conectou dezenas de milhares de GPUs de primeira linha em sua rede de computação de GPU, alcançando melhorias de velocidade de 50%-80% ou mais em comparação com os últimos frameworks de código aberto. No espaço de FPGA, a Cysic desenvolveu soluções que estabelecem referências de desempenho global para os módulos de árvore de Merkle MSM, NTT e Poseidon, abrangendo os componentes mais críticos da computação ZK. Essas soluções foram testadas e validadas por vários projetos ZK líderes. O SolarMSM proprietário da Cysic pode completar cálculos MSM em escala de 2^30 em apenas 0,195 segundos, enquanto o SolarNTT pode realizar cálculos NTT em escala de 2^30 em 0,218 segundos, tornando-os os resultados de aceleração de hardware FPGA de maior desempenho atualmente disponíveis.

No campo de ASIC, embora a adoção generalizada de ZK ASICs ainda possa estar um pouco distante, a Cysic já se posicionou neste mercado emergente desenvolvendo seus próprios chips e dispositivos ZK DePIN. Para atrair usuários consumidores e atender aos diversos requisitos de desempenho e custo de diferentes projetos ZK, a Cysic planeja introduzir dois produtos de hardware ZK: ZK Air e ZK Pro.

  • ZK Air: Este dispositivo é compacto, semelhante em tamanho a um power bank ou um carregador de laptop, permitindo que os usuários comuns o conectem via interface Type-C a laptops, iPads ou até mesmo smartphones. Ele fornece suporte computacional para projetos ZK específicos, ao mesmo tempo em que gera recompensas para o usuário. Apesar de seu tamanho pequeno, o poder computacional do ZK Air excede o de GPUs de consumo, tornando-o capaz de acelerar tarefas de geração de provas ZK em menor escala.
  • ZK Pro: Projetado para aplicações mais intensivas, o ZK Pro se assemelha a rigs de mineração tradicionais e oferece poder de computação equivalente a um servidor com várias GPUs. Ele acelera significativamente a geração de provas ZK para projetos em grande escala, como ZK-Rollup e ZKML (Aprendizado de Máquina de Conhecimento Zero).

Através desses dois dispositivos, a Cysic tem como objetivo criar uma rede ZK-DePIN estável e confiável. Tanto o ZK Air quanto o ZK Pro estão atualmente em desenvolvimento, com lançamento previsto para 2025. Além disso, a Rede Cysic permitirá que os usuários consumidores entrem no mercado de aceleração de hardware ZK com barreiras de entrada muito baixas. Aliado à alta demanda por potência computacional das equipes de projetos ZK, isso poderia desencadear uma nova onda de entusiasmo semelhante à explosão da mineração de Bitcoin, potencialmente levando a um crescimento explosivo no mercado de computação ZK.

Referência

https://medium.com/amber-group/need-for-speed-zero-knowledge-1e29d4a82fcdhttps://figmentcapital.medium.com/accelerating-zero-knowledge-proofs-cfc806de611b

Aviso Legal:

  1. Este artigo é reproduzido de Geek Web3. Os direitos autorais pertencem aos autores originais, [Nickqiao & Wuyue]. Se houver alguma objeção à reprodução, entre em contato com oGate Learnequipe e a equipe irá processá-lo prontamente de acordo com os procedimentos relevantes.
  2. Aviso Legal: As visões e opiniões expressas neste artigo são exclusivamente daqueles dos autores e não constituem nenhum conselho de investimento.
  3. Outras versões do artigo foram traduzidas pela equipe Gate Learn. Os artigos traduzidos não podem ser copiados, distribuídos ou plagiados sem mencionar Gate.io.
Comece agora
Inscreva-se e ganhe um cupom de
$100
!