Na área da computação tradicional, um coprocessador é uma unidade de processamento que ajuda a CPU a lidar com tarefas complexas. Esta tecnologia é muito comum na indústria de computadores, como o coprocessador de movimento M7 da Apple, lançado em 2013, que melhorou significativamente a sensibilidade na detecção de movimento em dispositivos inteligentes. O GPU, amplamente conhecido, é o conceito de coprocessador proposto pela Nvidia em 2007, responsável principalmente por tarefas de renderização gráfica. O GPU acelera os aplicativos executados na CPU processando código intensivo em cálculos; essa arquitetura é chamada de computação "heterogênea" ou "mista".
A principal função do coprocessador é assumir tarefas específicas que são complexas e exigem alto desempenho, permitindo que a CPU se concentre em lidar com trabalhos mais flexíveis e variáveis.
Na rede Ethereum, existem dois problemas sérios que limitam o desenvolvimento de aplicações:
As altas taxas de Gas limitam o alcance do desenvolvimento de aplicações em blockchain. Transferências comuns requerem 21000 Gas, que já é o mínimo das taxas de Gas da rede Ethereum. Outras operações, como armazenamento de dados, consomem ainda mais Gas, o que impede seriamente a adoção em larga escala de aplicações e usuários.
Os contratos inteligentes só podem acessar os dados dos 256 blocos mais recentes. No futuro, com a atualização do Pectra e a implementação da proposta EIP-4444, os nós completos não armazenarão mais os dados dos blocos passados. Essa falta de dados dificulta o surgimento de aplicações inovadoras baseadas em dados, afetando o desenvolvimento de aplicações intensivas em dados na blockchain, como Tiktok e Instagram.
Esses problemas expõem que a capacidade de computação e a disponibilidade de dados são as principais razões que limitam a adoção em larga escala de novos paradigmas de computação. A própria blockchain do Ethereum não foi projetada para lidar com tarefas que exigem muita computação e são intensivas em dados. Para compatibilizar esses aplicativos, é necessário introduzir o conceito de coprocessador. A cadeia do Ethereum em si atua como CPU, enquanto o coprocessador é semelhante a um GPU, lidando com tarefas que são intensivas em computação e dados.
Com o desenvolvimento da tecnologia de prova de zero conhecimento, para garantir a confiabilidade dos coprocessadores em cálculos off-chain, a maioria dos projetos de coprocessadores baseia-se na prova de zero conhecimento como base técnica.
O alcance das aplicações de ZK co-processadores é muito amplo, abrangendo quase todos os cenários reais de aplicações descentralizadas, incluindo redes sociais, jogos, DeFi, sistemas de gerenciamento de riscos baseados em dados on-chain, oráculos, armazenamento de dados, treinamento e inferência de grandes modelos de linguagem, entre outros. Em teoria, todas as funcionalidades que as aplicações Web2 podem realizar, os co-processadores ZK conseguem implementar na blockchain, enquanto o Ethereum atua como camada de liquidação final para garantir a segurança das aplicações.
Atualmente, a definição de processadores ZK na indústria ainda não está completamente unificada. ZK-Query, ZK-Oracle, ZKM, entre outros, podem ser considerados processadores auxiliares, pois ajudam a consultar dados completos na cadeia, dados confiáveis fora da cadeia e resultados de cálculos fora da cadeia. Sob essa perspectiva, o Layer2 é essencialmente um tipo de processador auxiliar do Ethereum.
Visão Geral do Projeto de Co-Procesadores
Os projetos de coprocessadores mais conhecidos atualmente estão concentrados em três cenários de aplicação: indexação de dados em cadeia, oráculos e ZKML. Entre eles, projetos de máquinas virtuais ZK genéricas como Delphinus estão focados em zkWASM, enquanto Risc Zero se dedica à arquitetura Risc-V.
Arquitetura de tecnologia de co-processador
Usando um processador ZK co-processador genérico como exemplo, analisamos em detalhe as arquiteturas técnicas de três projetos: Risc Zero, Lagrange e Succinct, para compreender as semelhanças e diferenças no design técnico e de mecanismos desses tipos de máquinas virtuais genéricas, a fim de avaliar as tendências futuras de desenvolvimento dos co-processadores.
Risc Zero
O co-processador ZK da Risc Zero é chamado de Bonsai, e constrói um conjunto de componentes de prova de conhecimento zero independentes de blockchain. O Bonsai é baseado na arquitetura de conjunto de instruções Risc-V, possui uma grande versatilidade e suporta várias linguagens de programação, incluindo Rust, C++, Solidity e Go.
As principais funções do Bonsai incluem:
zkVM genérico, capaz de executar qualquer máquina virtual em um ambiente de conhecimento zero/ verificável.
Sistema de geração de provas ZK que pode ser integrado diretamente a contratos inteligentes ou blockchain.
Rollup genérico, distribuindo os resultados de cálculo comprovados no Bonsai para a cadeia.
Os componentes principais do Bonsai incluem:
Rede de Provedores: Recebe e verifica o código ZK, gerando a prova ZK.
Pool de Solicitações: Armazena os pedidos de prova iniciados pelos usuários.
Motor Rollup: coleta os resultados de prova e empacota-os para upload na mainnet Ethereum.
Image Hub: Plataforma de desenvolvimento visual para funções e aplicações.
State Store: Armazenamento de estado fora da cadeia.
Proving Marketplace: Mercado de poder computacional da cadeia industrial ZK.
Lagrange
Lagrange visa construir co-processadores e bases de dados verificáveis, contendo dados históricos na blockchain, suportando o desenvolvimento de aplicações sem necessidade de confiança. As suas principais funcionalidades incluem:
Base de dados verificável: armazenamento de contratos inteligentes em cadeia de índices, armazenando o estado na base de dados.
Cálculo baseado nos princípios do MapReduce: arquitetura zkMR que suporta execução paralela.
O design de banco de dados do Lagrange envolve três partes: dados de armazenamento de contrato, dados de estado EOA e dados de bloco. Ele cria uma estrutura de dados de bloco amigável para provas SNARK, onde cada nó folha é um cabeçalho de bloco.
O cálculo da máquina virtual ZKMR de Lagrange é dividido em duas etapas:
Mapa: Máquinas distribuídas mapeiam os dados, gerando pares de chave-valor.
Reduzir: computadores distribuídos calculam a prova separadamente e depois combinam.
O ZKMR pode combinar provas de cálculos pequenos em uma prova de cálculo global, expandindo eficazmente a capacidade de prova de cálculos complexos.
Succinto
O objetivo da Succinct Network é integrar fatos programáveis em todos os aspectos do desenvolvimento de blockchain. Ela suporta várias linguagens de programação, incluindo Solidity e linguagens de domínio específico para conhecimento zero, que podem ser executadas em processadores auxiliares fora da cadeia.
O ZKVM off-chain da Succinct é chamado de SP (Succinct Processor), que suporta Rust e outras linguagens LLVM. Suas principais características incluem:
Tecnologia de prova recursiva baseada em STARKs.
Suporte para wrappers de SNARKs a STARKs.
Arquitetura zkVM centrada na pré-compilação.
Comparação de Projetos de Co-Processadores
Ao comparar processadores ZK de propósito geral, consideramos principalmente os seguintes aspectos:
Capacidade de indexação/sincronização de dados
Rota tecnológica adotada (SNARKs vs STARKs)
Suporta a prova recursiva?
A eficiência do sistema de prova
Situação da cooperação ecológica
Contexto de financiamento
Atualmente, os caminhos técnicos dos projetos principais tendem a convergir, como a adoção de wrappers de STARKs a SNARKs, bem como técnicas de prova recursiva. Dado que a geração de provas dos algoritmos ZK é a parte mais custosa e que consome mais tempo, cada projeto está a construir redes de provadores e mercados de computação em nuvem.
Em situações onde os caminhos técnicos são semelhantes, o sucesso do projeto pode depender mais da força da equipe e do suporte dos recursos ecológicos do VC por trás, a fim de conquistar uma maior quota de mercado.
Diferenças entre Co-processadores e Layer2
Ao contrário do Layer2 voltado para o usuário, o coprocessador é principalmente voltado para o desenvolvimento de aplicativos. Ele pode atuar como um componente de aceleração ou um componente modular, aplicado nos seguintes cenários:
Como componente de máquina virtual off-chain de ZK Layer2
Fornecer poder de computação off-chain para aplicações em blockchain pública
Oracle para obter dados verificáveis de outras cadeias como aplicação de cadeia pública
Agir como uma ponte entre cadeias para a troca de mensagens
O coprocessador trouxe o potencial para sincronização de dados em tempo real em toda a cadeia e computação confiável de alto desempenho e baixo custo, capaz de reestruturar a maioria dos middlewares da blockchain, incluindo oráculos, consultas de dados, pontes entre cadeias, entre outros.
Desafios enfrentados pelos co-processadores
A barreira de entrada para desenvolvedores é alta, sendo necessário dominar linguagens e ferramentas específicas.
A indústria está numa fase inicial, e o desempenho do zkVM envolve múltiplas dimensões complexas.
As infraestruturas básicas, como hardware, ainda não estão maduras, e a comercialização ainda levará tempo.
Os caminhos técnicos de cada projeto são semelhantes, tornando difícil formar uma vantagem significativa, e o foco da competição se volta para recursos e cooperação ecológica.
Resumo e Perspectivas
A tecnologia ZK possui uma forte versatilidade, ajudando o ecossistema Ethereum a evoluir de uma descentralização para uma desconfiança. O coprocessador ZK, como uma ferramenta importante para a implementação da tecnologia ZK, pode teoricamente realizar a versão em blockchain de qualquer aplicação Web2.
A adoção em larga escala dos coprocessadores ZK depende principalmente de dois fatores: um banco de dados comprovável em tempo real em toda a cadeia e o cálculo de baixo custo fora da cadeia. Este objetivo precisa ser alcançado por meio de iterações graduais. A aplicação comercial dos chips de potência ZK é a condição chave para a implementação em larga escala dos coprocessadores.
O atual ciclo de mercado carece de inovação, proporcionando uma oportunidade para construir a próxima geração de tecnologia de aplicações em larga escala. Espera-se que, no próximo ciclo, a cadeia industrial ZK consiga realizar a sua comercialização. Agora é o melhor momento para se concentrar nas tecnologias centrais que podem suportar interações em cadeia para 1 bilhão de usuários.
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
ZK co-processador: um novo paradigma para superar o gargalo de desempenho do Ethereum
Histórico e Desenvolvimento dos Coprocessadores
Na área da computação tradicional, um coprocessador é uma unidade de processamento que ajuda a CPU a lidar com tarefas complexas. Esta tecnologia é muito comum na indústria de computadores, como o coprocessador de movimento M7 da Apple, lançado em 2013, que melhorou significativamente a sensibilidade na detecção de movimento em dispositivos inteligentes. O GPU, amplamente conhecido, é o conceito de coprocessador proposto pela Nvidia em 2007, responsável principalmente por tarefas de renderização gráfica. O GPU acelera os aplicativos executados na CPU processando código intensivo em cálculos; essa arquitetura é chamada de computação "heterogênea" ou "mista".
A principal função do coprocessador é assumir tarefas específicas que são complexas e exigem alto desempenho, permitindo que a CPU se concentre em lidar com trabalhos mais flexíveis e variáveis.
Na rede Ethereum, existem dois problemas sérios que limitam o desenvolvimento de aplicações:
As altas taxas de Gas limitam o alcance do desenvolvimento de aplicações em blockchain. Transferências comuns requerem 21000 Gas, que já é o mínimo das taxas de Gas da rede Ethereum. Outras operações, como armazenamento de dados, consomem ainda mais Gas, o que impede seriamente a adoção em larga escala de aplicações e usuários.
Os contratos inteligentes só podem acessar os dados dos 256 blocos mais recentes. No futuro, com a atualização do Pectra e a implementação da proposta EIP-4444, os nós completos não armazenarão mais os dados dos blocos passados. Essa falta de dados dificulta o surgimento de aplicações inovadoras baseadas em dados, afetando o desenvolvimento de aplicações intensivas em dados na blockchain, como Tiktok e Instagram.
Esses problemas expõem que a capacidade de computação e a disponibilidade de dados são as principais razões que limitam a adoção em larga escala de novos paradigmas de computação. A própria blockchain do Ethereum não foi projetada para lidar com tarefas que exigem muita computação e são intensivas em dados. Para compatibilizar esses aplicativos, é necessário introduzir o conceito de coprocessador. A cadeia do Ethereum em si atua como CPU, enquanto o coprocessador é semelhante a um GPU, lidando com tarefas que são intensivas em computação e dados.
Com o desenvolvimento da tecnologia de prova de zero conhecimento, para garantir a confiabilidade dos coprocessadores em cálculos off-chain, a maioria dos projetos de coprocessadores baseia-se na prova de zero conhecimento como base técnica.
O alcance das aplicações de ZK co-processadores é muito amplo, abrangendo quase todos os cenários reais de aplicações descentralizadas, incluindo redes sociais, jogos, DeFi, sistemas de gerenciamento de riscos baseados em dados on-chain, oráculos, armazenamento de dados, treinamento e inferência de grandes modelos de linguagem, entre outros. Em teoria, todas as funcionalidades que as aplicações Web2 podem realizar, os co-processadores ZK conseguem implementar na blockchain, enquanto o Ethereum atua como camada de liquidação final para garantir a segurança das aplicações.
Atualmente, a definição de processadores ZK na indústria ainda não está completamente unificada. ZK-Query, ZK-Oracle, ZKM, entre outros, podem ser considerados processadores auxiliares, pois ajudam a consultar dados completos na cadeia, dados confiáveis fora da cadeia e resultados de cálculos fora da cadeia. Sob essa perspectiva, o Layer2 é essencialmente um tipo de processador auxiliar do Ethereum.
Visão Geral do Projeto de Co-Procesadores
Os projetos de coprocessadores mais conhecidos atualmente estão concentrados em três cenários de aplicação: indexação de dados em cadeia, oráculos e ZKML. Entre eles, projetos de máquinas virtuais ZK genéricas como Delphinus estão focados em zkWASM, enquanto Risc Zero se dedica à arquitetura Risc-V.
Arquitetura de tecnologia de co-processador
Usando um processador ZK co-processador genérico como exemplo, analisamos em detalhe as arquiteturas técnicas de três projetos: Risc Zero, Lagrange e Succinct, para compreender as semelhanças e diferenças no design técnico e de mecanismos desses tipos de máquinas virtuais genéricas, a fim de avaliar as tendências futuras de desenvolvimento dos co-processadores.
Risc Zero
O co-processador ZK da Risc Zero é chamado de Bonsai, e constrói um conjunto de componentes de prova de conhecimento zero independentes de blockchain. O Bonsai é baseado na arquitetura de conjunto de instruções Risc-V, possui uma grande versatilidade e suporta várias linguagens de programação, incluindo Rust, C++, Solidity e Go.
As principais funções do Bonsai incluem:
Os componentes principais do Bonsai incluem:
Lagrange
Lagrange visa construir co-processadores e bases de dados verificáveis, contendo dados históricos na blockchain, suportando o desenvolvimento de aplicações sem necessidade de confiança. As suas principais funcionalidades incluem:
O design de banco de dados do Lagrange envolve três partes: dados de armazenamento de contrato, dados de estado EOA e dados de bloco. Ele cria uma estrutura de dados de bloco amigável para provas SNARK, onde cada nó folha é um cabeçalho de bloco.
O cálculo da máquina virtual ZKMR de Lagrange é dividido em duas etapas:
O ZKMR pode combinar provas de cálculos pequenos em uma prova de cálculo global, expandindo eficazmente a capacidade de prova de cálculos complexos.
Succinto
O objetivo da Succinct Network é integrar fatos programáveis em todos os aspectos do desenvolvimento de blockchain. Ela suporta várias linguagens de programação, incluindo Solidity e linguagens de domínio específico para conhecimento zero, que podem ser executadas em processadores auxiliares fora da cadeia.
O ZKVM off-chain da Succinct é chamado de SP (Succinct Processor), que suporta Rust e outras linguagens LLVM. Suas principais características incluem:
Comparação de Projetos de Co-Processadores
Ao comparar processadores ZK de propósito geral, consideramos principalmente os seguintes aspectos:
Atualmente, os caminhos técnicos dos projetos principais tendem a convergir, como a adoção de wrappers de STARKs a SNARKs, bem como técnicas de prova recursiva. Dado que a geração de provas dos algoritmos ZK é a parte mais custosa e que consome mais tempo, cada projeto está a construir redes de provadores e mercados de computação em nuvem.
Em situações onde os caminhos técnicos são semelhantes, o sucesso do projeto pode depender mais da força da equipe e do suporte dos recursos ecológicos do VC por trás, a fim de conquistar uma maior quota de mercado.
Diferenças entre Co-processadores e Layer2
Ao contrário do Layer2 voltado para o usuário, o coprocessador é principalmente voltado para o desenvolvimento de aplicativos. Ele pode atuar como um componente de aceleração ou um componente modular, aplicado nos seguintes cenários:
O coprocessador trouxe o potencial para sincronização de dados em tempo real em toda a cadeia e computação confiável de alto desempenho e baixo custo, capaz de reestruturar a maioria dos middlewares da blockchain, incluindo oráculos, consultas de dados, pontes entre cadeias, entre outros.
Desafios enfrentados pelos co-processadores
Resumo e Perspectivas
A tecnologia ZK possui uma forte versatilidade, ajudando o ecossistema Ethereum a evoluir de uma descentralização para uma desconfiança. O coprocessador ZK, como uma ferramenta importante para a implementação da tecnologia ZK, pode teoricamente realizar a versão em blockchain de qualquer aplicação Web2.
A adoção em larga escala dos coprocessadores ZK depende principalmente de dois fatores: um banco de dados comprovável em tempo real em toda a cadeia e o cálculo de baixo custo fora da cadeia. Este objetivo precisa ser alcançado por meio de iterações graduais. A aplicação comercial dos chips de potência ZK é a condição chave para a implementação em larga escala dos coprocessadores.
O atual ciclo de mercado carece de inovação, proporcionando uma oportunidade para construir a próxima geração de tecnologia de aplicações em larga escala. Espera-se que, no próximo ciclo, a cadeia industrial ZK consiga realizar a sua comercialização. Agora é o melhor momento para se concentrar nas tecnologias centrais que podem suportar interações em cadeia para 1 bilhão de usuários.