Foresight Ventures | Aceleração de nitrogênio! Como o coprocessador ZK quebra as barreiras de dados de contratos inteligentes

Principiante1/7/2024, 4:37:55 AM
Este artigo fornece uma visão geral e interpretação do conceito, implementação técnica e aplicação do coprocessador ZK.

1. Introdução ao conceito

No que diz respeito ao conceito de co-processador, um exemplo muito simples e fácil de entender é a relação entre um computador e uma placa gráfica. A CPU pode completar a maioria das tarefas, mas uma vez que uma tarefa específica é encontrada, a placa gráfica precisa de ajuda porque a CPU tem poder de computação insuficiente, como aprendizagem de máquina, renderização de gráficos ou execução de jogos em grande escala. Se não quisermos perder frames ou congelar ao jogar jogos em grande escala, definitivamente precisamos de uma placa gráfica com bom desempenho. Neste cenário, a CPU é o processador e a placa gráfica é o co-processador. Mapeando para a blockchain, o contrato inteligente é a CPU e o coprocessador ZK é a GPU.

O ponto chave é delegar tarefas específicas a coprocessadores específicos. Tal como numa fábrica, o chefe conhece os passos de cada elo e pode fazê-lo ele próprio ou ensinar aos funcionários todo o processo de produção, mas isso é muito ineficiente e só ele pode produzir uma peça de cada vez, e só depois de uma estar terminada é que pode produzir a seguinte, por isso contratou muitos funcionários específicos. Cada um desempenha as suas funções e faz o trabalho que é bom na cadeia de produção nas suas próprias oficinas. Os elos na cadeia podem interagir entre si. Comunicam e coordenam mas não interferem no trabalho uns dos outros. Apenas fazem o que fazem melhor. Os que têm mãos rápidas e força física podem aparafusar. Os que sabem operar máquinas podem operar as máquinas. Os que sabem contabilidade podem calcular o volume de produção e os custos. Trabalho de colaboração assíncrono para maximizar a eficiência do trabalho.

Durante a Revolução Industrial, os capitalistas já tinham descoberto que este modelo poderia levar a capacidade máxima de produção às suas fábricas. No entanto, quando um passo no processo de produção encontra barreiras devido à tecnologia ou outras razões, outros fatores podem precisar ser terceirizados. Fabricantes especializados fazem isso. Por exemplo, para uma empresa que produz telemóveis, os chips podem ser produzidos por outras empresas especializadas em chips. A empresa de telemóveis é o processador central e a empresa de chips é o coprocessador. Os coprocessadores podem lidar facilmente e de forma assíncrona com tarefas específicas que são demasiado exigentes e pesadas para o processador central lidar sozinho.

O coprocessador ZK é relativamente amplo num sentido amplo. Alguns projetos chamam-no de seu próprio coprocessador, e alguns chamam-no de ZKVM, mas todos têm a mesma ideia: permitir que os desenvolvedores de contratos inteligentes provem sem estado cálculos off-chain em dados existentes. Para simplificar, parte do trabalho de cálculo on-chain é feito off-chain para reduzir custos e aumentar eficiência. Ao mesmo tempo, o ZK é usado para garantir a fiabilidade dos cálculos e proteger a privacidade de dados específicos. No mundo orientado por dados da blockchain, isto é especialmente importante.

2. Por que precisamos do coprocessor ZK?

Um dos maiores gargalos enfrentados pelos desenvolvedores de contratos inteligentes permanece nos altos custos associados à computação on-chain. Uma vez que o Gas deve ser medido para cada operação, o custo da lógica de aplicação complexa rapidamente se tornará muito alto para ser executado, porque embora os nós de arquivo na camada DA da blockchain possam realmente armazenar dados históricos, é por isso que coisas como aplicações de análise off-chain do Dune, como Analytics, Nansen, 0xscope e Etherscan, podem ter tantos dados da blockchain e podem retroceder no tempo, mas não é simples para os contratos inteligentes acessar todos esses dados. Eles só podem acessar facilmente os dados armazenados no estado da máquina virtual, os dados do bloco mais recente e outros dados públicos do contrato inteligente. Para mais dados, os contratos inteligentes podem ter que gastar muito esforço para acessar:

Contratos inteligentes na Máquina Virtual Ethereum (EVM) têm acesso aos hashes do cabeçalho do bloco dos 256 blocos mais recentes. Esses cabeçalhos de bloco contêm todas as informações de atividade na blockchain até o bloco atual e são comprimidos em um valor de hash de 32 bytes usando a árvore de Merkle e o algoritmo de hash Keccak.

Embora os dados estejam compactados em hash, eles podem ser descompactados - apenas não é fácil. Por exemplo, se você deseja alavancar o cabeçalho de bloco mais recente para acessar de forma confiável dados específicos no bloco anterior, isso envolve uma série complexa de etapas. Primeiro, você precisa obter os dados off-chain do nó de arquivo e, em seguida, construir uma árvore de Merkle e uma prova de validade do bloco para verificar a autenticidade dos dados no blockchain. Posteriormente, o EVM processará essas provas de validade, verificando e explicando-as. Essa operação não é apenas complicada, mas também leva muito tempo, e o gás também é particularmente caro.

A razão fundamental para este desafio é que as máquinas virtuais blockchain (como EVM) não são adequadas para lidar com grandes quantidades de dados e tarefas de computação intensivas, como o trabalho de descompressão acima mencionado. O foco do projeto do EVM é executar código de contrato inteligente enquanto garante segurança e descentralização, em vez de processar dados em grande escala ou executar tarefas de computação complexas. Portanto, quando se trata de tarefas que exigem grandes quantidades de recursos de computação, muitas vezes é necessário encontrar outras soluções, como a utilização de computação off-chain ou outras tecnologias de escala. Neste momento, surge o coprocessador ZK.

ZK rollups são na verdade os primeiros coprocessadores ZK, suportando o mesmo tipo de cálculos usados no L1 em uma escala e quantidade maiores. Este processador está no nível do protocolo, e o coprocessador ZK sobre o qual estamos falando agora está no nível da dapp. O coprocessador ZK aprimora a escalabilidade de contratos inteligentes, permitindo que os contratos inteligentes deleguem confiavelmente o acesso a dados históricos on-chain e computação usando provas ZK. Em vez de realizar todas as operações no EVM, os desenvolvedores podem descarregar operações caras para o coprocessador ZK e simplesmente usar os resultados on-chain. Isso fornece uma nova forma para os contratos inteligentes escalarem, desacoplando o acesso a dados e computação do consenso da blockchain.

O coprocessador ZK introduz um novo padrão de design para aplicações on-chain, eliminando a restrição de que os cálculos devem ser concluídos na máquina virtual da blockchain. Isso permite que as aplicações acessem mais dados e operem em uma escala maior do que antes, ao mesmo tempo que controlam os custos de gás, aumentando a escalabilidade e eficiência dos contratos inteligentes sem comprometer a descentralização e a segurança.

3. Implementação técnica

Esta parte usará a arquitetura Axiom para explicar como o coprocessador zk resolve o problema tecnicamente. Na verdade, existem dois núcleos: captura de dados e cálculo. Nestes dois processos, o ZK garante eficiência e privacidade ao mesmo tempo.

3.1 Captura de dados

Um dos aspectos mais importantes de realizar cálculos no coprocessador ZK é garantir que todos os dados de entrada sejam acessados adequadamente a partir do histórico da blockchain. Como mencionado anteriormente, isso é na verdade bastante difícil porque os contratos inteligentes só podem aceder ao estado atual da blockchain no seu código, e mesmo esse acesso é a parte mais cara da computação on-chain. Isso significa que dados on-chain históricos, como registros de transações ou saldos anteriores (inputs on-chain interessantes em cálculos) não podem ser usados nativamente pelos contratos inteligentes para verificar os resultados do coprocessador.

O coprocessador ZK resolve este problema de três maneiras diferentes, equilibrando custo, segurança e facilidade de desenvolvimento:

  1. Armazenar dados adicionais no estado da blockchain e usar o EVM para armazenar todos os dados utilizados on-chain pelo co-processador de verificação de leitura. Esta abordagem é bastante cara e proibitiva em termos de custos para grandes quantidades de dados.
  2. Confie num Oráculo ou numa rede de signatários para verificar os dados de entrada para o coprocessor. Isso requer que os utilizadores do coprocessor confiem no Oráculo ou no fornecedor de multi-assinaturas, o que reduz a segurança.
  3. Use provas ZK para verificar se algum dado on-chain usado no co-processador foi comprometido na história da blockchain. Qualquer bloco na blockchain compromete todos os blocos anteriores e, portanto, quaisquer dados históricos, fornecendo garantias criptográficas de validade dos dados e não exigindo nenhuma suposição adicional de confiança por parte do utilizador.

3.2 Cálculo

Realizar cálculos off-chain num coprocessor ZK requer a conversão de programas de computador tradicionais em circuitos ZK. Atualmente, todos os métodos para alcançar isso têm um enorme impacto no desempenho, com provas ZK variando de 10.000 a 1.000.000 em termos de sobrecarga em comparação com a execução do programa nativo. Por outro lado, o modelo computacional dos circuitos ZK difere das arquiteturas de computador padrão (por exemplo, atualmente todas as variáveis devem ser codificadas módulo de um grande número primo criptográfico, e a implementação pode ser não determinística), o que significa que os desenvolvedores têm dificuldade em escrevê-los diretamente.

Assim, as três principais abordagens para especificar cálculos em coprocessadores ZK são principalmente compromissos entre desempenho, flexibilidade e facilidade de desenvolvimento:

  1. Circuitos personalizados: Os desenvolvedores escrevem seus próprios circuitos para cada aplicação. Esta abordagem tem o maior potencial de desempenho, mas requer um esforço significativo do desenvolvedor.
  2. eDSL/DSL para circuitos: Os programadores escrevem circuitos para cada aplicação, mas abstraem as questões específicas do ZK num framework opinativo (semelhante ao uso do PyTorch para redes neurais). No entanto, o desempenho é ligeiramente inferior.
  3. Os desenvolvedores zkVM escrevem circuitos em máquinas virtuais existentes e verificam a sua execução em ZK. Isso proporciona a experiência mais simples para os desenvolvedores ao usar VMs existentes, mas resulta em menor desempenho e flexibilidade devido aos diferentes modelos de computação entre VMs e ZK.

4. Aplicação

O coprocessador ZK tem uma ampla gama de aplicações. O coprocessador ZK pode teoricamente cobrir todos os cenários de aplicação que o Dapp pode cobrir. Desde que seja uma tarefa relacionada a dados e computação, o coprocessador ZK pode reduzir custos, aumentar a eficiência e proteger a privacidade. O seguinte irá começar por diferentes trilhas e explorar o que o processador ZK pode fazer na camada de aplicação.

4.1 Defi

4.1.1 DEX

Tomemos o gancho no Uniswap V4 como exemplo:

O Hook permite aos programadores executar operações especificadas em qualquer ponto-chave de todo o ciclo de vida do pool de liquidez - como antes ou depois de negociar tokens, ou antes ou depois de alterações na posição de LP, pools de liquidez personalizados, trocas, taxas Como interagir com as posições de LP, por exemplo:

  • Média Ponderada pelo Tempo do Market Maker (TWAMM);
  • taxas dinâmicas baseadas na volatilidade ou noutros inputs;
  • Ordem de limite de preço de cadeia;
  • Depositar liquidez fora do escopo nos protocolos de empréstimo;
  • Oráculos personalizados on-chain, como oráculos de média geométrica;
  • Automaticamente composto taxas de LP para posições de LP;
  • Os lucros de MEV da Uniswap são distribuídos para LP;
  • Programa de desconto de fidelidade para LPs ou traders;

Em termos simples, é um mecanismo que permite aos programadores capturar dados históricos em qualquer cadeia e usá-los para personalizar o pool no Uniswap de acordo com as suas próprias ideias. A emergência do Hook traz mais composabilidade e maior eficiência para as transações na cadeia. eficiência de capital. No entanto, uma vez que a lógica do código que define estes se torne complicada, irá trazer uma enorme carga de gás para os utilizadores e programadores. É aqui que o zkcoprocessor se torna útil, pois pode ajudar a poupar estes custos de gás e melhorar a eficiência.

Numa perspetiva a longo prazo, o coprocessador ZK irá acelerar a integração de DEX e CEX. Desde 2022, temos visto que DEX e CEX se tornaram funcionalmente consistentes. Todas as principais CEXs estão a aceitar esta realidade e a adotar carteiras Web3, construir EVM L2 e adotar infraestruturas existentes como a Lightning Network ou open source para abraçar a partilha de liquidez on-chain. Este fenómeno é inseparável do impulso do coprocessador ZK. Todas as funcionalidades que as CEX podem alcançar, quer se trate de negociação em grelha, acompanhamento, empréstimo rápido ou utilização de dados do utilizador, a DEX também pode ser implementada através do coprocessador ZK, e a composabilidade e liberdade do Defi, bem como as transações de pequenas moedas na cadeia, são difíceis de alcançar com as CEX tradicionais. Ao mesmo tempo, a tecnologia ZK também pode proteger a privacidade do utilizador durante a execução.

4.1.2 Airdrop

Se alguns projetos desejam realizar airdrops, eles precisam de um contrato inteligente para consultar as atividades históricas do endereço, mas não desejam expor as informações do endereço do usuário e executá-lo sem introduzir prova de confiança adicional. Por exemplo, um projeto que faz empréstimos Defi deseja, através da interação entre o endereço e uma série de protocolos de empréstimos como Aave, Compound, Fraxlend e Spark como padrão para airdrops, os recursos de captura de dados históricos e privacidade do coprocessador ZK podem facilmente resolver essa necessidade.

4.2 ZKML

Outro ponto emocionante do coprocessador ZK está na área de aprendizado de máquina. Como os contratos inteligentes podem ter capacidades de computação fora da cadeia, o aprendizado de máquina de alta eficiência na cadeia se tornará possível. Na verdade, o coprocessador ZK também é uma parte indispensável para a entrada e cálculo de dados ZKML. Ele pode extrair a entrada necessária para o aprendizado de máquina dos dados históricos na cadeia/fora da cadeia importados no contrato inteligente e, em seguida, escrever o cálculo em um circuito ZK e lançá-lo na cadeia.

4.3 KYC

KYC é um grande negócio, e agora o mundo web3 está gradualmente a abraçar a conformidade. Com o coprocessador ZK, é possível fazer uma prova verificável de contrato inteligente ao capturar quaisquer dados off-chain fornecidos pelo utilizador sem a necessidade de expor qualquer informação desnecessária dos utilizadores, na verdade, alguns projetos estão a ser implementados, como o gancho KYC da Uniswap, que utiliza o coprocessador ZK Pado para capturar dados off-chain sem confiança. Prova de ativos, prova de qualificações académicas, prova de viagens, prova de condução, prova de aplicação da lei, prova de jogadores, prova de transações... Todos os comportamentos históricos dentro e fora da cadeia podem até ser embalados numa identidade completa e podem ser escritos com uma forte credibilidade. ZK prova que está na cadeia enquanto protege a privacidade do utilizador.

4.4 Social

O atributo especulativo do Friend.tech é na verdade mais forte do que o atributo social. O cerne está na sua curva de ligação. Será possível adicionar um gancho à curva de ligação do friend.tech para que os utilizadores possam personalizar a direção da curva de ligação, como implementar Depois do frenesi pelas chaves de negociação terminar e os especuladores saírem, a curva de ligação será suavizada, a barreira de entrada para os verdadeiros fãs será reduzida e o tráfego real do domínio privado crescerá. Ou permitir que o contrato inteligente obtenha o gráfico social do utilizador on-chain/off-chain e possa seguir os seus amigos em diferentes Dapps sociais com um clique. Ou pode criar um clube privado na cadeia, como o clube Degen, e apenas os endereços que cumpram as condições de consumo histórico de Gas podem entrar, etc.

4.5 Jogos

Nos jogos tradicionais da Web2, os dados do utilizador são um parâmetro muito importante. O comportamento de compra, estilo de jogo e contribuição podem fazer com que o jogo seja operado de forma mais eficiente e proporcionar uma melhor experiência ao utilizador, como o mecanismo de correspondência ELO em jogos MOBA. A frequência de compra de skins, etc., mas estes dados são difíceis de capturar por contratos inteligentes na blockchain, por isso só podem ser substituídos por soluções centralizadas ou simplesmente abandonados. No entanto, o surgimento do coprocessador ZK torna possíveis soluções descentralizadas.

5. Projeto Party

Já existem alguns jogadores de destaque nesta pista. As ideias são, na verdade, semelhantes. Eles geram prova ZK através de prova de armazenamento ou consenso e, em seguida, jogá-lo na cadeia. No entanto, cada um tem suas próprias vantagens em características técnicas e funções implementadas.

5.1 Axioma

A Axiom, líder em coprocessadores ZK (zero-knowledge), concentra-se em contratos inteligentes capazes de aceder a toda a história do Ethereum e a quaisquer cálculos de verificação ZK sem confiança. Os desenvolvedores podem enviar consultas on-chain à Axiom, que as processa através de verificação ZK e devolve os resultados ao contrato inteligente do desenvolvedor de forma descentralizada. Isso permite aos desenvolvedores construir aplicações on-chain mais ricas sem depender de suposições de confiança adicionais.

Para implementar essas consultas, Axiom realiza os seguintes três passos:

  1. leia: Axiom usa provas ZK para ler sem confiança dados de cabeçalhos de blocos, status, transações e recibos de blocos históricos Ethereum. Como todos os dados on-chain do Ethereum são codificados nesses formatos, o Axiom é capaz de acessar tudo o que os nós de arquivo são capazes de acessar. O Axiom verifica todos os dados de entrada para o coprocessador ZK por meio de provas ZK de cadeias de hash de triplos Merkle-Patricia e de cabeçalho de bloco. Embora essa abordagem seja mais difícil de desenvolver, ela fornece a melhor segurança e custo para os usuários finais, pois garante que todos os resultados retornados pelo Axiom sejam criptograficamente equivalentes aos cálculos on-chain realizados no EVM.
  2. calcular: Depois que os dados são ingeridos, o Axioma aplica cálculos comprovados sobre eles. Os desenvolvedores podem especificar sua lógica de cálculo no front-end JavaScript e a validade de cada cálculo é verificada na prova ZK. Os desenvolvedores podem visitar o AxiomREPL ou visualizar a documentação para saber mais sobre as primitivas de computação disponíveis. O Axiom permite que os usuários acessem dados on-chain e especifiquem seus próprios cálculos por meio do eDSL. Ele também permite que os usuários escrevam seus próprios circuitos usando a biblioteca de circuitos ZK.
  3. verificar: O Axiom fornece provas de validade ZK para cada resultado da consulta. Estas provas garantem que (1) os dados de cálculo foram corretamente extraídos da cadeia e (2) os cálculos foram corretamente aplicados. Essas provas ZK são verificadas on-chain em contratos inteligentes Axiom, garantindo que os resultados finais sejam usados de forma confiável nos contratos inteligentes dos usuários.

Porque os resultados são verificados através de provas de conhecimento zero, os resultados da Axiom são criptograficamente tão seguros quanto os resultados da Ethereum. Esta abordagem não faz suposições sobre criptoconomia, incentivos ou teoria dos jogos. A Axiom acredita que esta abordagem fornecerá o mais alto nível possível de garantia para aplicações de contratos inteligentes. A equipa da Axiom trabalhou em estreita colaboração com a Fundação Uniswap e obteve Subsídios da Uniswap, e irá construir um oráculo sem confiança na Uniswap.

5.2 Risco Zero

Bonsai: Em 2023, a RISC Zero lançou o Bonsai, um serviço de prova que permite que aplicações on-chain e off-chain solicitem e recebam provas zkVM. Bonsai é um serviço universal de prova de conhecimento zero que permite que qualquer cadeia, protocolo ou aplicação utilize provas ZK. É altamente paralelizável, programável e de alto desempenho.

Bonsai permite que integre provas de conhecimento zero diretamente em qualquer contrato inteligente, sem a necessidade de circuitos personalizados. Isso permite que ZK seja integrado diretamente em aplicações descentralizadas em qualquer cadeia EVM, com o potencial de suportar qualquer outro ecossistema.

zkVM é a base do Bonsai e suporta uma ampla compatibilidade de idiomas, suportando código Rust comprovável e potencialmente código comprovável de conhecimento zero em qualquer idioma compilado para RISC-V (como C++, Rust, Go, etc.). Através de provas recursivas, compiladores de circuitos personalizados, continuação de estado e melhorias contínuas nos algoritmos de prova, o Bonsai permite que qualquer pessoa gere provas ZK de alto desempenho para uma variedade de aplicações.

RISC Zero zkVM: O RISC Zero zkVM, lançado pela primeira vez em abril de 2022, pode provar a execução correta de código arbitrário, permitindo aos desenvolvedores construir aplicações ZK em linguagens maduras como Rust e C++. Este lançamento representa um avanço significativo no desenvolvimento de software ZK: o zkVM torna possível construir aplicações ZK sem a necessidade de construir circuitos e usar linguagens personalizadas.

Ao permitir que os desenvolvedores usem Rust e aproveitem a maturidade do ecossistema Rust, zkVM permite aos desenvolvedores construir rapidamente aplicações ZK significativas sem exigir um background em matemática avançada ou criptografia.

Estas aplicações incluem:

  • JSON: Provar o conteúdo de uma entrada num ficheiro JSON mantendo os outros dados privados.
  • Onde está o Waldo: Prova que o Waldo está presente no ficheiro JPG mantendo outras partes da imagem privadas.
  • ZK Checkmate: Prove you saw a move to checkmate without revealing the winning move.
  • Prova de Exploração ZK: Prova de que pode explorar uma conta Ethereum sem revelar a vulnerabilidade.
  • Verificação da assinatura ECDSA: Prove a validade da assinatura ECDSA.

Estes exemplos são implementados aproveitando um ecossistema de software maduro: a maioria dos conjuntos de ferramentas Rust está disponível prontamente no Risc Zero zkVM. Ser compatível com Rust é um grande avanço para o mundo do software ZK: projetos que poderiam levar meses ou anos para serem construídos em outras plataformas podem ser facilmente resolvidos na plataforma do RISC Zero.

Para além de ser mais fácil de construir, RISC Zero também cumpre no desempenho. zkVM tem aceleração GPU de CUDA e Metal, e realiza a prova paralela de programas extensos através da continuação.

Anteriormente, a Risc Zero recebeu US$40 milhões em financiamento da Série A da Galaxy Digital, IOSG, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, Algaé Ventures, IOBC e outras instituições.

5.3 Brevis

Brevis, uma subsidiária da Rede Celer, concentra-se em capturar dados históricos de várias cadeias. Dá aos contratos inteligentes a capacidade de ler os seus dados históricos completos a partir de qualquer cadeia e realizar cálculos personalizados abrangentes sem confiança. Atualmente, suporta principalmente Ethereum POS. Comos Tendermint e BSC.

Interface da aplicação: O sistema atual da Brevis suporta provas ZK eficientes e concisas, fornecendo as seguintes informações comprovadas por ZK para cadeias de origem para contratos de aplicativos descentralizados (dApp) conectados à blockchain:

  1. O hash do bloco e os estados associados, transação, e raízes do recibo de qualquer bloco na cadeia de origem.
  2. Valor da slot e metadados relacionados para um bloco específico, contrato, slot na cadeia de origem.
  3. Recibos de transação e metadados relacionados para qualquer transação na cadeia de origem.
  4. Inputs de transação e metadados relacionados para qualquer transação na cadeia de origem.
  5. Qualquer mensagem enviada por qualquer entidade na cadeia de origem para qualquer entidade na cadeia de destino.

Visão geral da arquitetura: a arquitetura do Brevis consiste em três partes principais:

  1. rede de repetidores: Sincroniza cabeçalhos de bloco e informações on-chain de diferentes blockchains e encaminha-os para a rede de validadores para gerar provas de validade. Em seguida, envia as informações verificadas e as provas associadas para a blockchain conectada.
  2. rede de provadores: Implementar circuitos para cada protocolo de cliente leve de blockchain, atualizações de bloco e gerar provas de valores de slot solicitados, transações, recibos e lógica de aplicação integrada. Para minimizar o tempo de prova, custo e custos de verificação on-chain, uma rede de provadores pode agregar provas distribuídas geradas simultaneamente. Além disso, pode aproveitar aceleradores como GPUs, FPGAs e ASICs para melhorar a eficiência.
  3. Conectar contratos de validador na blockchain: Receber dados verificados por zk e provas relacionadas geradas pela rede de validadores e, em seguida, alimentar as informações verificadas de volta ao contrato do dApp.

Esta arquitetura integrada permite que a Brevis garanta alta eficiência e segurança ao fornecer dados e computação entre cadeias, permitindo que os desenvolvedores dApp utilizem plenamente o potencial do blockchain. Com essa arquitetura modular, a Brevis pode fornecer acesso a dados e recursos de computação totalmente confiáveis, flexíveis e eficientes para contratos inteligentes on-chain em todas as cadeias suportadas. Isso fornece um paradigma completamente novo para o desenvolvimento do dApp. O Brevis tem uma ampla gama de casos de uso, como DeFi orientado por dados, zkBridges, aquisição de usuários on-chain, zkDID, abstração de contas sociais, etc., aumentando a interoperabilidade de dados.

5.4 Langrange

Langrange e Brevis têm uma visão semelhante, com o objetivo de melhorar a interoperabilidade entre várias cadeias através do ZK Big Data Stack, que pode criar provas de estado universais em todas as blockchains principais. Ao integrar-se com o protocolo Langrange, as aplicações conseguem submeter provas agregadas de estado multi-cadeia, que podem ser verificadas de forma não interativa por contratos noutras cadeias.

Ao contrário dos protocolos tradicionais de ponte e mensagens, o protocolo Langrange não depende de um grupo específico de nós para fornecer informações. Em vez disso, ele utiliza a criptografia para coordenar provas de estado entre cadeias em tempo real, incluindo aquelas enviadas por usuários não confiáveis. Sob esse mecanismo, mesmo que a fonte da informação não seja confiável, a aplicação da tecnologia de criptografia garante a validade e a segurança do certificado.

O protocolo Langrange será inicialmente compatível com todos os rollups L1 e L2 compatíveis com EVM. Além disso, Langrange também planeia suportar cadeias não compatíveis com EVM num futuro próximo, incluindo, mas não se limitando a Solana, Sui, Aptos e cadeias públicas populares baseadas no Cosmos SDK.

A diferença entre o protocolo Langrange e os protocolos tradicionais de ponte e mensagens:

Os protocolos de ponte tradicionais e de mensagens são usados principalmente para transferir ativos ou mensagens entre um par específico de cadeias. Esses protocolos normalmente dependem de um conjunto de nós intermediários para confirmar o cabeçalho do bloco mais recente da cadeia de origem na cadeia de destino. Este modo é principalmente otimizado para relacionamentos de cadeia única, com base no status atual das duas cadeias. Em contraste, o protocolo Langrange fornece um método mais geral e flexível de interação entre cadeias, permitindo que aplicativos interajam em um ecossistema de blockchain mais amplo, em vez de ficarem limitados a um único relacionamento de cadeia para cadeia.

O protocolo Langrange otimiza especificamente o mecanismo para provar o estado dos contratos entre cadeias, em vez de apenas a transmissão de informações ou ativos. Esse recurso permite que o protocolo Langrange lide eficientemente com análises complexas envolvendo estados de contrato atuais e históricos, que podem abranger várias cadeias. Esse recurso permite que a Langrange ofereça suporte a uma série de cenários complexos de aplicativos de cadeia cruzada, como calcular a média móvel de preços de ativos em exchanges descentralizadas de cadeia múltipla (DEX) ou analisar a volatilidade das taxas de juros do mercado monetário em várias cadeias diferentes.

Portanto, as provas de estado de Langrange podem ser vistas como otimizações para relações de cadeias de muitos-para-um (n-para-1). Nesta relação entre cadeias, uma aplicação descentralizada (DApp) em uma cadeia depende da agregação de dados de estado em tempo real e históricos de várias outras cadeias (n). Esta funcionalidade expande significativamente a funcionalidade e eficiência dos DApps, permitindo-lhes agregar e analisar dados de múltiplas blockchains diferentes para fornecer insights mais profundos e abrangentes. Este método é significativamente diferente da relação tradicional de cadeia única ou de uma-para-uma, e fornece um escopo de aplicação e potencial mais amplo para aplicações blockchain.

Langrange recebeu anteriormente investimentos de 1kx, Maven11, Lattice, CMT Digital e gumi crypto.

5.5 Heródoto

Heródoto é projetado para fornecer contratos inteligentes com acesso síncrono a dados on-chain de outras camadas Ethereum. Eles acreditam que a prova de armazenamento pode unificar o estado de vários rollups e até permitir leituras síncronas entre as camadas Ethereum. Em resumo, é a captura de dados entre a cadeia principal EVM e o rollup. Atualmente suporta ETH mainnet, Starknet, Zksync, OP, Arbitrum e Polygon.

A Prova de Armazenamento, conforme definida por Heródoto, é uma prova composta que pode ser usada para verificar a validade de um ou mais elementos em um grande conjunto de dados, como os dados em toda a blockchain do Ethereum.

O processo de geração à prova de armazenamento é dividido em três etapas:

Etapa 1: Obter o acumulador de armazenamento de cabeçalho de bloco de compromissos verificáveis

  • Este passo é obter um “compromisso” que podemos verificar. Se o acumulador ainda não contém o cabeçalho de bloco mais recente que precisamos provar, primeiro precisamos provar a continuidade da cadeia para garantir que cubrimos o intervalo de blocos que contêm nossos dados-alvo. Por exemplo, se os dados que queremos provar estão no bloco 1.000.001 e o contrato inteligente armazenado no cabeçalho de bloco cobre apenas o bloco 1.000.000, então precisamos atualizar o armazenamento do cabeçalho.
  • Se o bloco de destino já estiver no acumulador, pode prosseguir diretamente para o próximo passo.

Passo 2: Provar a existência de uma conta específica

  • Este passo requer a geração de uma prova de inclusão a partir do Trie do Estado, que consiste em todas as contas na rede Ethereum. A raiz do estado é uma parte importante da derivação do hash de compromisso do bloco e também faz parte do armazenamento do cabeçalho. É importante notar que o hash do cabeçalho do bloco no acumulador pode diferir do hash real do bloco porque um método de hash diferente pode ter sido usado para eficiência.

Passo 3: Provar dados específicos na árvore de conta

  • Neste passo, podem ser geradas provas de inclusão para dados como nonces, saldos, raízes de armazenamento ou codeHash. Cada conta Ethereum tem um triplo de armazenamento (Árvore de Merkle Patricia), que é usado para salvar os dados de armazenamento da conta. Se os dados que queremos provar estão na loja da conta, então precisamos gerar provas adicionais de inclusão para os pontos de dados específicos nessa loja.

Depois de gerar todas as provas de inclusão necessárias e provas computacionais, é formada uma prova de armazenamento completa. Esta prova é então enviada para a cadeia, onde é verificada contra um único compromisso inicial (como um blockhash) ou a raiz MMR armazenada no cabeçalho. Este processo garante a autenticidade e integridade dos dados, ao mesmo tempo que mantém a eficiência do sistema.

Heródoto já conta com o apoio da Geometry, Fabric Ventures, Lambda Class e Starkware.

5.6 HyperOracle

Hyper Oracle é especificamente projetado para oráculos programáveis de conhecimento zero para manter o blockchain seguro e descentralizado. Através do seu padrão zkGraph, o Hyper Oracle torna os dados on-chain e os cálculos equivalentes on-chain práticos, verificáveis e com finalidade rápida. Ele fornece aos desenvolvedores uma forma completamente nova de interagir com o blockchain.

O nó zkOracle da Hyper Oracle é principalmente composto por dois componentes: zkPoS e zkWASM.

  1. zkPoS: Este componente é responsável por obter o cabeçalho do bloco e a raiz dos dados da blockchain Ethereum através de prova de conhecimento zero (zk) para garantir a correção do consenso Ethereum. zkPoS também atua como um circuito externo para zkWASM.
  2. zkWASM: Ele usa dados obtidos do zkPoS como entrada chave para executar zkGraphs. O zkWASM é responsável por executar mapas de dados personalizados definidos pelo zkGraphs e gerar provas de conhecimento zero para essas operações. Os operadores de nós zkOracle podem selecionar o número de zkGraphs que desejam executar, que pode ser de um para todos os zkGraphs implantados. O processo de geração de provas zk pode ser delegado a uma rede distribuída de provadores.

A saída do zkOracle são dados off-chain e os desenvolvedores podem usar esses dados através do padrão zkGraph do Hyper Oracle. Os dados também vêm com certificados zk para verificar a validade dos dados e cálculos.

Para manter a segurança da rede, a rede Hyper Oracle requer apenas um nó zkOracle. No entanto, vários nós zkOracle podem existir na rede, operando contra zkPoS e cada zkGraph. Isso permite que as provas zk sejam geradas em paralelo, melhorando significativamente o desempenho. Em geral, o Hyper Oracle fornece aos desenvolvedores uma plataforma de interação blockchain eficiente e segura, combinando tecnologia zk avançada e arquitetura de nó flexível.

Em janeiro de 2023, a Hyper Oracle anunciou que recebeu 3 milhões de dólares em financiamento da rodada pré-semente, com a participação conjunta da Dao5, Sequoia China, Foresight Ventures e FutureMoney Group.

5.7 Caminho

Pado é uma existência especial entre os co-processadores ZK. Outros co-processadores focam na captura de dados on-chain, enquanto Pado fornece um caminho para capturar dados off-chain, visando trazer todos os dados da Internet para contratos inteligentes. Ele substitui a função do oráculo até certo ponto, garantindo ao mesmo tempo privacidade e eliminando a necessidade de confiar em fontes de dados externas.

5.8 Comparação entre ZK coprocessor e máquina oracle

  • Latência: O oráculo é assíncrono, por isso a latência ao aceder a dados planos é mais longa em comparação com o coprocessador ZK.
  • Custo: Embora muitos oráculos não exijam provas computacionais e, portanto, sejam menos caros, eles são menos seguros. Armazenar provas é mais caro, mas mais seguro.
  • Segurança: A segurança máxima da transmissão de dados é limitada pelo nível de segurança do próprio oráculo. Em contraste, o coprocessador ZK corresponde à segurança da cadeia. Além disso, os oráculos são vulneráveis a ataques de manipulação devido ao uso de provas off-chain.

A figura abaixo mostra o fluxo de trabalho do Pado:

O Pado usa nós de criptografia como provadores de back-end. De forma a reduzir os pressupostos de confiança, a equipa do Pado adotará uma estratégia evolutiva e melhorará gradualmente a descentralização do serviço de provador. O provador participa ativamente do processo de recuperação e compartilhamento de dados do usuário, comprovando a autenticidade dos dados do usuário obtidos de fontes de dados da rede. O que o torna único é que o Pado aproveita o MPC-TLS (Transport Layer Secure Multi-Party Computation) e o IZK (Interactive Zero-Knowledge Proof) para permitir que os provadores provem dados "cegamente". Isso significa que os validadores não podem ver nenhum dado original, incluindo informações públicas e privadas do usuário. No entanto, o verificador ainda pode garantir a origem dos dados de quaisquer dados TLS transmitidos através de métodos criptográficos.

  1. MPC-TLS: TLS é um protocolo de segurança usado para proteger a privacidade e a integridade dos dados das comunicações na Internet. Quando visita um site e vê o ícone de "cadeado" e "https" no URL, significa que a sua visita está segura através do TLS. O MPC-TLS imita a funcionalidade de um cliente TLS, permitindo que o autenticador do Pado colabore com o cliente TLS para realizar as seguintes tarefas: \
    É importante notar que essas operações relacionadas com TLS são realizadas entre o cliente e o verificador através do protocolo de Computação de Duas Partes (2PC). O design do MPC-TLS baseia-se em algumas tecnologias de criptografia, como circuito de ofuscação (GC), transmissão de esquecimento (OT), IZK, etc.
    • Estabelecer uma conexão TLS, incluindo o cálculo da chave primária, chave de sessão e informações de verificação.
    • Executar consultas através de um canal TLS, incluindo a geração de pedidos encriptados e a desencriptação das respostas do servidor.
  2. EXC: Prova interativa de conhecimento zero é uma prova de conhecimento zero na qual o provador e o verificador podem interagir. No protocolo IZK, o resultado do verificador é aceitar ou rejeitar a alegação do provador. Comparado com NIZKs simples (como zk-STARKs ou zk-SNARKs), o protocolo IZK tem várias vantagens, como alta escalabilidade para grandes alegações, baixo custo computacional, sem necessidade de configuração confiável e uso de memória minimizado.

Pado está desenvolvendo ativamente o gancho kyc da Uniswap, buscando mais cenários de aplicação on-chain de dados, e foi selecionado para o primeiro lote do programa Consensys Fellowship.

6. Perspetivas Futuras

O coprocessador ZK permite que a blockchain capture mais dados e obtenha recursos de computação fora da cadeia a um custo menor, sem prejudicar a descentralização. Ele também desvincula o fluxo de trabalho dos contratos inteligentes e aumenta a escalabilidade e eficiência.

Apenas do lado da demanda, o coprocessador ZK é uma necessidade. Apenas do ponto de vista da faixa DEX, este gancho tem um grande potencial e pode fazer muitas coisas. Se o sushiswap não tiver ganchos, não conseguirá competir com uniswap e será muito. Será eliminado em breve. Se zkcoprocessor não for usado para ganchos, o gás será muito caro para os desenvolvedores e usuários, porque os ganchos introduzem nova lógica e tornam os contratos inteligentes mais complexos, o que é contraproducente. Portanto, por enquanto, usar o coprocessador zk é a melhor solução. Quer seja do ponto de vista da captura de dados ou do cálculo, vários métodos têm diferentes vantagens e desvantagens. O coprocessador adequado para funções específicas é um bom coprocessador. O mercado de computação verificável on-chain tem amplos horizontes e refletirá novos valores em mais campos.

No futuro desenvolvimento da blockchain, tem o potencial de quebrar as barreiras tradicionais de dados da web2. A informação deixará de ser ilhas isoladas e alcançará uma interoperabilidade mais forte. Os co-processadores ZK tornar-se-ão middleware poderosos para garantir segurança, privacidade e condições sem confiança para reduzir custos e aumentar eficiência na captura, cálculo e verificação de contratos inteligentes, libertar a rede de dados, abrir mais possibilidades e tornar-se a infraestrutura para aplicações de intenção real e agentes de IA em cadeia. Apenas se não conseguir pensar nisso, não poderá fazê-lo.

Imagine um cenário no futuro: usando a alta confiabilidade e privacidade da ZK para verificação de dados, os motoristas de transporte online podem construir uma rede de agregação além de suas próprias plataformas. Esta rede de dados pode abranger Uber, Lyft, Didi, Bolt, etc., os motoristas de transporte online podem fornecer dados em suas próprias plataformas. Você pega uma parte, eu pego uma parte e juntamos tudo na blockchain. Lentamente, uma rede independente de suas próprias plataformas é estabelecida e agregada. Todos os dados dos motoristas se tornaram um grande agregador de dados de transporte online e, ao mesmo tempo, podem tornar os motoristas anônimos e não vazar sua privacidade.

7. Índice

https://blog.axiom.xyz/o-que-e-um-coprocessador-zk/

https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

https://dev.risczero.com/api

https://blog.uniswap.org/uniswap-v4

https://blog.celer.network/2023/03/21/brevis-a-zk-omnichain-data-attestation-platform/

https://lagrange-labs.gitbook.io/lagrange-labs/overview/what-is-the-lagrange-protocol

https://docs.herodotus.dev/herodotus-docs/

https://docs.padolabs.org/

Aviso legal:

  1. Este artigo é reproduzido a partir de [ForesightResearch]. Todos os direitos de autor pertencem ao autor original [Mike]. Se houver objeções a esta reedição, por favor entre em contato com o Gate Learn equipe, e eles vão lidar com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.

Foresight Ventures | Aceleração de nitrogênio! Como o coprocessador ZK quebra as barreiras de dados de contratos inteligentes

Principiante1/7/2024, 4:37:55 AM
Este artigo fornece uma visão geral e interpretação do conceito, implementação técnica e aplicação do coprocessador ZK.

1. Introdução ao conceito

No que diz respeito ao conceito de co-processador, um exemplo muito simples e fácil de entender é a relação entre um computador e uma placa gráfica. A CPU pode completar a maioria das tarefas, mas uma vez que uma tarefa específica é encontrada, a placa gráfica precisa de ajuda porque a CPU tem poder de computação insuficiente, como aprendizagem de máquina, renderização de gráficos ou execução de jogos em grande escala. Se não quisermos perder frames ou congelar ao jogar jogos em grande escala, definitivamente precisamos de uma placa gráfica com bom desempenho. Neste cenário, a CPU é o processador e a placa gráfica é o co-processador. Mapeando para a blockchain, o contrato inteligente é a CPU e o coprocessador ZK é a GPU.

O ponto chave é delegar tarefas específicas a coprocessadores específicos. Tal como numa fábrica, o chefe conhece os passos de cada elo e pode fazê-lo ele próprio ou ensinar aos funcionários todo o processo de produção, mas isso é muito ineficiente e só ele pode produzir uma peça de cada vez, e só depois de uma estar terminada é que pode produzir a seguinte, por isso contratou muitos funcionários específicos. Cada um desempenha as suas funções e faz o trabalho que é bom na cadeia de produção nas suas próprias oficinas. Os elos na cadeia podem interagir entre si. Comunicam e coordenam mas não interferem no trabalho uns dos outros. Apenas fazem o que fazem melhor. Os que têm mãos rápidas e força física podem aparafusar. Os que sabem operar máquinas podem operar as máquinas. Os que sabem contabilidade podem calcular o volume de produção e os custos. Trabalho de colaboração assíncrono para maximizar a eficiência do trabalho.

Durante a Revolução Industrial, os capitalistas já tinham descoberto que este modelo poderia levar a capacidade máxima de produção às suas fábricas. No entanto, quando um passo no processo de produção encontra barreiras devido à tecnologia ou outras razões, outros fatores podem precisar ser terceirizados. Fabricantes especializados fazem isso. Por exemplo, para uma empresa que produz telemóveis, os chips podem ser produzidos por outras empresas especializadas em chips. A empresa de telemóveis é o processador central e a empresa de chips é o coprocessador. Os coprocessadores podem lidar facilmente e de forma assíncrona com tarefas específicas que são demasiado exigentes e pesadas para o processador central lidar sozinho.

O coprocessador ZK é relativamente amplo num sentido amplo. Alguns projetos chamam-no de seu próprio coprocessador, e alguns chamam-no de ZKVM, mas todos têm a mesma ideia: permitir que os desenvolvedores de contratos inteligentes provem sem estado cálculos off-chain em dados existentes. Para simplificar, parte do trabalho de cálculo on-chain é feito off-chain para reduzir custos e aumentar eficiência. Ao mesmo tempo, o ZK é usado para garantir a fiabilidade dos cálculos e proteger a privacidade de dados específicos. No mundo orientado por dados da blockchain, isto é especialmente importante.

2. Por que precisamos do coprocessor ZK?

Um dos maiores gargalos enfrentados pelos desenvolvedores de contratos inteligentes permanece nos altos custos associados à computação on-chain. Uma vez que o Gas deve ser medido para cada operação, o custo da lógica de aplicação complexa rapidamente se tornará muito alto para ser executado, porque embora os nós de arquivo na camada DA da blockchain possam realmente armazenar dados históricos, é por isso que coisas como aplicações de análise off-chain do Dune, como Analytics, Nansen, 0xscope e Etherscan, podem ter tantos dados da blockchain e podem retroceder no tempo, mas não é simples para os contratos inteligentes acessar todos esses dados. Eles só podem acessar facilmente os dados armazenados no estado da máquina virtual, os dados do bloco mais recente e outros dados públicos do contrato inteligente. Para mais dados, os contratos inteligentes podem ter que gastar muito esforço para acessar:

Contratos inteligentes na Máquina Virtual Ethereum (EVM) têm acesso aos hashes do cabeçalho do bloco dos 256 blocos mais recentes. Esses cabeçalhos de bloco contêm todas as informações de atividade na blockchain até o bloco atual e são comprimidos em um valor de hash de 32 bytes usando a árvore de Merkle e o algoritmo de hash Keccak.

Embora os dados estejam compactados em hash, eles podem ser descompactados - apenas não é fácil. Por exemplo, se você deseja alavancar o cabeçalho de bloco mais recente para acessar de forma confiável dados específicos no bloco anterior, isso envolve uma série complexa de etapas. Primeiro, você precisa obter os dados off-chain do nó de arquivo e, em seguida, construir uma árvore de Merkle e uma prova de validade do bloco para verificar a autenticidade dos dados no blockchain. Posteriormente, o EVM processará essas provas de validade, verificando e explicando-as. Essa operação não é apenas complicada, mas também leva muito tempo, e o gás também é particularmente caro.

A razão fundamental para este desafio é que as máquinas virtuais blockchain (como EVM) não são adequadas para lidar com grandes quantidades de dados e tarefas de computação intensivas, como o trabalho de descompressão acima mencionado. O foco do projeto do EVM é executar código de contrato inteligente enquanto garante segurança e descentralização, em vez de processar dados em grande escala ou executar tarefas de computação complexas. Portanto, quando se trata de tarefas que exigem grandes quantidades de recursos de computação, muitas vezes é necessário encontrar outras soluções, como a utilização de computação off-chain ou outras tecnologias de escala. Neste momento, surge o coprocessador ZK.

ZK rollups são na verdade os primeiros coprocessadores ZK, suportando o mesmo tipo de cálculos usados no L1 em uma escala e quantidade maiores. Este processador está no nível do protocolo, e o coprocessador ZK sobre o qual estamos falando agora está no nível da dapp. O coprocessador ZK aprimora a escalabilidade de contratos inteligentes, permitindo que os contratos inteligentes deleguem confiavelmente o acesso a dados históricos on-chain e computação usando provas ZK. Em vez de realizar todas as operações no EVM, os desenvolvedores podem descarregar operações caras para o coprocessador ZK e simplesmente usar os resultados on-chain. Isso fornece uma nova forma para os contratos inteligentes escalarem, desacoplando o acesso a dados e computação do consenso da blockchain.

O coprocessador ZK introduz um novo padrão de design para aplicações on-chain, eliminando a restrição de que os cálculos devem ser concluídos na máquina virtual da blockchain. Isso permite que as aplicações acessem mais dados e operem em uma escala maior do que antes, ao mesmo tempo que controlam os custos de gás, aumentando a escalabilidade e eficiência dos contratos inteligentes sem comprometer a descentralização e a segurança.

3. Implementação técnica

Esta parte usará a arquitetura Axiom para explicar como o coprocessador zk resolve o problema tecnicamente. Na verdade, existem dois núcleos: captura de dados e cálculo. Nestes dois processos, o ZK garante eficiência e privacidade ao mesmo tempo.

3.1 Captura de dados

Um dos aspectos mais importantes de realizar cálculos no coprocessador ZK é garantir que todos os dados de entrada sejam acessados adequadamente a partir do histórico da blockchain. Como mencionado anteriormente, isso é na verdade bastante difícil porque os contratos inteligentes só podem aceder ao estado atual da blockchain no seu código, e mesmo esse acesso é a parte mais cara da computação on-chain. Isso significa que dados on-chain históricos, como registros de transações ou saldos anteriores (inputs on-chain interessantes em cálculos) não podem ser usados nativamente pelos contratos inteligentes para verificar os resultados do coprocessador.

O coprocessador ZK resolve este problema de três maneiras diferentes, equilibrando custo, segurança e facilidade de desenvolvimento:

  1. Armazenar dados adicionais no estado da blockchain e usar o EVM para armazenar todos os dados utilizados on-chain pelo co-processador de verificação de leitura. Esta abordagem é bastante cara e proibitiva em termos de custos para grandes quantidades de dados.
  2. Confie num Oráculo ou numa rede de signatários para verificar os dados de entrada para o coprocessor. Isso requer que os utilizadores do coprocessor confiem no Oráculo ou no fornecedor de multi-assinaturas, o que reduz a segurança.
  3. Use provas ZK para verificar se algum dado on-chain usado no co-processador foi comprometido na história da blockchain. Qualquer bloco na blockchain compromete todos os blocos anteriores e, portanto, quaisquer dados históricos, fornecendo garantias criptográficas de validade dos dados e não exigindo nenhuma suposição adicional de confiança por parte do utilizador.

3.2 Cálculo

Realizar cálculos off-chain num coprocessor ZK requer a conversão de programas de computador tradicionais em circuitos ZK. Atualmente, todos os métodos para alcançar isso têm um enorme impacto no desempenho, com provas ZK variando de 10.000 a 1.000.000 em termos de sobrecarga em comparação com a execução do programa nativo. Por outro lado, o modelo computacional dos circuitos ZK difere das arquiteturas de computador padrão (por exemplo, atualmente todas as variáveis devem ser codificadas módulo de um grande número primo criptográfico, e a implementação pode ser não determinística), o que significa que os desenvolvedores têm dificuldade em escrevê-los diretamente.

Assim, as três principais abordagens para especificar cálculos em coprocessadores ZK são principalmente compromissos entre desempenho, flexibilidade e facilidade de desenvolvimento:

  1. Circuitos personalizados: Os desenvolvedores escrevem seus próprios circuitos para cada aplicação. Esta abordagem tem o maior potencial de desempenho, mas requer um esforço significativo do desenvolvedor.
  2. eDSL/DSL para circuitos: Os programadores escrevem circuitos para cada aplicação, mas abstraem as questões específicas do ZK num framework opinativo (semelhante ao uso do PyTorch para redes neurais). No entanto, o desempenho é ligeiramente inferior.
  3. Os desenvolvedores zkVM escrevem circuitos em máquinas virtuais existentes e verificam a sua execução em ZK. Isso proporciona a experiência mais simples para os desenvolvedores ao usar VMs existentes, mas resulta em menor desempenho e flexibilidade devido aos diferentes modelos de computação entre VMs e ZK.

4. Aplicação

O coprocessador ZK tem uma ampla gama de aplicações. O coprocessador ZK pode teoricamente cobrir todos os cenários de aplicação que o Dapp pode cobrir. Desde que seja uma tarefa relacionada a dados e computação, o coprocessador ZK pode reduzir custos, aumentar a eficiência e proteger a privacidade. O seguinte irá começar por diferentes trilhas e explorar o que o processador ZK pode fazer na camada de aplicação.

4.1 Defi

4.1.1 DEX

Tomemos o gancho no Uniswap V4 como exemplo:

O Hook permite aos programadores executar operações especificadas em qualquer ponto-chave de todo o ciclo de vida do pool de liquidez - como antes ou depois de negociar tokens, ou antes ou depois de alterações na posição de LP, pools de liquidez personalizados, trocas, taxas Como interagir com as posições de LP, por exemplo:

  • Média Ponderada pelo Tempo do Market Maker (TWAMM);
  • taxas dinâmicas baseadas na volatilidade ou noutros inputs;
  • Ordem de limite de preço de cadeia;
  • Depositar liquidez fora do escopo nos protocolos de empréstimo;
  • Oráculos personalizados on-chain, como oráculos de média geométrica;
  • Automaticamente composto taxas de LP para posições de LP;
  • Os lucros de MEV da Uniswap são distribuídos para LP;
  • Programa de desconto de fidelidade para LPs ou traders;

Em termos simples, é um mecanismo que permite aos programadores capturar dados históricos em qualquer cadeia e usá-los para personalizar o pool no Uniswap de acordo com as suas próprias ideias. A emergência do Hook traz mais composabilidade e maior eficiência para as transações na cadeia. eficiência de capital. No entanto, uma vez que a lógica do código que define estes se torne complicada, irá trazer uma enorme carga de gás para os utilizadores e programadores. É aqui que o zkcoprocessor se torna útil, pois pode ajudar a poupar estes custos de gás e melhorar a eficiência.

Numa perspetiva a longo prazo, o coprocessador ZK irá acelerar a integração de DEX e CEX. Desde 2022, temos visto que DEX e CEX se tornaram funcionalmente consistentes. Todas as principais CEXs estão a aceitar esta realidade e a adotar carteiras Web3, construir EVM L2 e adotar infraestruturas existentes como a Lightning Network ou open source para abraçar a partilha de liquidez on-chain. Este fenómeno é inseparável do impulso do coprocessador ZK. Todas as funcionalidades que as CEX podem alcançar, quer se trate de negociação em grelha, acompanhamento, empréstimo rápido ou utilização de dados do utilizador, a DEX também pode ser implementada através do coprocessador ZK, e a composabilidade e liberdade do Defi, bem como as transações de pequenas moedas na cadeia, são difíceis de alcançar com as CEX tradicionais. Ao mesmo tempo, a tecnologia ZK também pode proteger a privacidade do utilizador durante a execução.

4.1.2 Airdrop

Se alguns projetos desejam realizar airdrops, eles precisam de um contrato inteligente para consultar as atividades históricas do endereço, mas não desejam expor as informações do endereço do usuário e executá-lo sem introduzir prova de confiança adicional. Por exemplo, um projeto que faz empréstimos Defi deseja, através da interação entre o endereço e uma série de protocolos de empréstimos como Aave, Compound, Fraxlend e Spark como padrão para airdrops, os recursos de captura de dados históricos e privacidade do coprocessador ZK podem facilmente resolver essa necessidade.

4.2 ZKML

Outro ponto emocionante do coprocessador ZK está na área de aprendizado de máquina. Como os contratos inteligentes podem ter capacidades de computação fora da cadeia, o aprendizado de máquina de alta eficiência na cadeia se tornará possível. Na verdade, o coprocessador ZK também é uma parte indispensável para a entrada e cálculo de dados ZKML. Ele pode extrair a entrada necessária para o aprendizado de máquina dos dados históricos na cadeia/fora da cadeia importados no contrato inteligente e, em seguida, escrever o cálculo em um circuito ZK e lançá-lo na cadeia.

4.3 KYC

KYC é um grande negócio, e agora o mundo web3 está gradualmente a abraçar a conformidade. Com o coprocessador ZK, é possível fazer uma prova verificável de contrato inteligente ao capturar quaisquer dados off-chain fornecidos pelo utilizador sem a necessidade de expor qualquer informação desnecessária dos utilizadores, na verdade, alguns projetos estão a ser implementados, como o gancho KYC da Uniswap, que utiliza o coprocessador ZK Pado para capturar dados off-chain sem confiança. Prova de ativos, prova de qualificações académicas, prova de viagens, prova de condução, prova de aplicação da lei, prova de jogadores, prova de transações... Todos os comportamentos históricos dentro e fora da cadeia podem até ser embalados numa identidade completa e podem ser escritos com uma forte credibilidade. ZK prova que está na cadeia enquanto protege a privacidade do utilizador.

4.4 Social

O atributo especulativo do Friend.tech é na verdade mais forte do que o atributo social. O cerne está na sua curva de ligação. Será possível adicionar um gancho à curva de ligação do friend.tech para que os utilizadores possam personalizar a direção da curva de ligação, como implementar Depois do frenesi pelas chaves de negociação terminar e os especuladores saírem, a curva de ligação será suavizada, a barreira de entrada para os verdadeiros fãs será reduzida e o tráfego real do domínio privado crescerá. Ou permitir que o contrato inteligente obtenha o gráfico social do utilizador on-chain/off-chain e possa seguir os seus amigos em diferentes Dapps sociais com um clique. Ou pode criar um clube privado na cadeia, como o clube Degen, e apenas os endereços que cumpram as condições de consumo histórico de Gas podem entrar, etc.

4.5 Jogos

Nos jogos tradicionais da Web2, os dados do utilizador são um parâmetro muito importante. O comportamento de compra, estilo de jogo e contribuição podem fazer com que o jogo seja operado de forma mais eficiente e proporcionar uma melhor experiência ao utilizador, como o mecanismo de correspondência ELO em jogos MOBA. A frequência de compra de skins, etc., mas estes dados são difíceis de capturar por contratos inteligentes na blockchain, por isso só podem ser substituídos por soluções centralizadas ou simplesmente abandonados. No entanto, o surgimento do coprocessador ZK torna possíveis soluções descentralizadas.

5. Projeto Party

Já existem alguns jogadores de destaque nesta pista. As ideias são, na verdade, semelhantes. Eles geram prova ZK através de prova de armazenamento ou consenso e, em seguida, jogá-lo na cadeia. No entanto, cada um tem suas próprias vantagens em características técnicas e funções implementadas.

5.1 Axioma

A Axiom, líder em coprocessadores ZK (zero-knowledge), concentra-se em contratos inteligentes capazes de aceder a toda a história do Ethereum e a quaisquer cálculos de verificação ZK sem confiança. Os desenvolvedores podem enviar consultas on-chain à Axiom, que as processa através de verificação ZK e devolve os resultados ao contrato inteligente do desenvolvedor de forma descentralizada. Isso permite aos desenvolvedores construir aplicações on-chain mais ricas sem depender de suposições de confiança adicionais.

Para implementar essas consultas, Axiom realiza os seguintes três passos:

  1. leia: Axiom usa provas ZK para ler sem confiança dados de cabeçalhos de blocos, status, transações e recibos de blocos históricos Ethereum. Como todos os dados on-chain do Ethereum são codificados nesses formatos, o Axiom é capaz de acessar tudo o que os nós de arquivo são capazes de acessar. O Axiom verifica todos os dados de entrada para o coprocessador ZK por meio de provas ZK de cadeias de hash de triplos Merkle-Patricia e de cabeçalho de bloco. Embora essa abordagem seja mais difícil de desenvolver, ela fornece a melhor segurança e custo para os usuários finais, pois garante que todos os resultados retornados pelo Axiom sejam criptograficamente equivalentes aos cálculos on-chain realizados no EVM.
  2. calcular: Depois que os dados são ingeridos, o Axioma aplica cálculos comprovados sobre eles. Os desenvolvedores podem especificar sua lógica de cálculo no front-end JavaScript e a validade de cada cálculo é verificada na prova ZK. Os desenvolvedores podem visitar o AxiomREPL ou visualizar a documentação para saber mais sobre as primitivas de computação disponíveis. O Axiom permite que os usuários acessem dados on-chain e especifiquem seus próprios cálculos por meio do eDSL. Ele também permite que os usuários escrevam seus próprios circuitos usando a biblioteca de circuitos ZK.
  3. verificar: O Axiom fornece provas de validade ZK para cada resultado da consulta. Estas provas garantem que (1) os dados de cálculo foram corretamente extraídos da cadeia e (2) os cálculos foram corretamente aplicados. Essas provas ZK são verificadas on-chain em contratos inteligentes Axiom, garantindo que os resultados finais sejam usados de forma confiável nos contratos inteligentes dos usuários.

Porque os resultados são verificados através de provas de conhecimento zero, os resultados da Axiom são criptograficamente tão seguros quanto os resultados da Ethereum. Esta abordagem não faz suposições sobre criptoconomia, incentivos ou teoria dos jogos. A Axiom acredita que esta abordagem fornecerá o mais alto nível possível de garantia para aplicações de contratos inteligentes. A equipa da Axiom trabalhou em estreita colaboração com a Fundação Uniswap e obteve Subsídios da Uniswap, e irá construir um oráculo sem confiança na Uniswap.

5.2 Risco Zero

Bonsai: Em 2023, a RISC Zero lançou o Bonsai, um serviço de prova que permite que aplicações on-chain e off-chain solicitem e recebam provas zkVM. Bonsai é um serviço universal de prova de conhecimento zero que permite que qualquer cadeia, protocolo ou aplicação utilize provas ZK. É altamente paralelizável, programável e de alto desempenho.

Bonsai permite que integre provas de conhecimento zero diretamente em qualquer contrato inteligente, sem a necessidade de circuitos personalizados. Isso permite que ZK seja integrado diretamente em aplicações descentralizadas em qualquer cadeia EVM, com o potencial de suportar qualquer outro ecossistema.

zkVM é a base do Bonsai e suporta uma ampla compatibilidade de idiomas, suportando código Rust comprovável e potencialmente código comprovável de conhecimento zero em qualquer idioma compilado para RISC-V (como C++, Rust, Go, etc.). Através de provas recursivas, compiladores de circuitos personalizados, continuação de estado e melhorias contínuas nos algoritmos de prova, o Bonsai permite que qualquer pessoa gere provas ZK de alto desempenho para uma variedade de aplicações.

RISC Zero zkVM: O RISC Zero zkVM, lançado pela primeira vez em abril de 2022, pode provar a execução correta de código arbitrário, permitindo aos desenvolvedores construir aplicações ZK em linguagens maduras como Rust e C++. Este lançamento representa um avanço significativo no desenvolvimento de software ZK: o zkVM torna possível construir aplicações ZK sem a necessidade de construir circuitos e usar linguagens personalizadas.

Ao permitir que os desenvolvedores usem Rust e aproveitem a maturidade do ecossistema Rust, zkVM permite aos desenvolvedores construir rapidamente aplicações ZK significativas sem exigir um background em matemática avançada ou criptografia.

Estas aplicações incluem:

  • JSON: Provar o conteúdo de uma entrada num ficheiro JSON mantendo os outros dados privados.
  • Onde está o Waldo: Prova que o Waldo está presente no ficheiro JPG mantendo outras partes da imagem privadas.
  • ZK Checkmate: Prove you saw a move to checkmate without revealing the winning move.
  • Prova de Exploração ZK: Prova de que pode explorar uma conta Ethereum sem revelar a vulnerabilidade.
  • Verificação da assinatura ECDSA: Prove a validade da assinatura ECDSA.

Estes exemplos são implementados aproveitando um ecossistema de software maduro: a maioria dos conjuntos de ferramentas Rust está disponível prontamente no Risc Zero zkVM. Ser compatível com Rust é um grande avanço para o mundo do software ZK: projetos que poderiam levar meses ou anos para serem construídos em outras plataformas podem ser facilmente resolvidos na plataforma do RISC Zero.

Para além de ser mais fácil de construir, RISC Zero também cumpre no desempenho. zkVM tem aceleração GPU de CUDA e Metal, e realiza a prova paralela de programas extensos através da continuação.

Anteriormente, a Risc Zero recebeu US$40 milhões em financiamento da Série A da Galaxy Digital, IOSG, RockawayX, Maven 11, Fenbushi Capital, Delphi Digital, Algaé Ventures, IOBC e outras instituições.

5.3 Brevis

Brevis, uma subsidiária da Rede Celer, concentra-se em capturar dados históricos de várias cadeias. Dá aos contratos inteligentes a capacidade de ler os seus dados históricos completos a partir de qualquer cadeia e realizar cálculos personalizados abrangentes sem confiança. Atualmente, suporta principalmente Ethereum POS. Comos Tendermint e BSC.

Interface da aplicação: O sistema atual da Brevis suporta provas ZK eficientes e concisas, fornecendo as seguintes informações comprovadas por ZK para cadeias de origem para contratos de aplicativos descentralizados (dApp) conectados à blockchain:

  1. O hash do bloco e os estados associados, transação, e raízes do recibo de qualquer bloco na cadeia de origem.
  2. Valor da slot e metadados relacionados para um bloco específico, contrato, slot na cadeia de origem.
  3. Recibos de transação e metadados relacionados para qualquer transação na cadeia de origem.
  4. Inputs de transação e metadados relacionados para qualquer transação na cadeia de origem.
  5. Qualquer mensagem enviada por qualquer entidade na cadeia de origem para qualquer entidade na cadeia de destino.

Visão geral da arquitetura: a arquitetura do Brevis consiste em três partes principais:

  1. rede de repetidores: Sincroniza cabeçalhos de bloco e informações on-chain de diferentes blockchains e encaminha-os para a rede de validadores para gerar provas de validade. Em seguida, envia as informações verificadas e as provas associadas para a blockchain conectada.
  2. rede de provadores: Implementar circuitos para cada protocolo de cliente leve de blockchain, atualizações de bloco e gerar provas de valores de slot solicitados, transações, recibos e lógica de aplicação integrada. Para minimizar o tempo de prova, custo e custos de verificação on-chain, uma rede de provadores pode agregar provas distribuídas geradas simultaneamente. Além disso, pode aproveitar aceleradores como GPUs, FPGAs e ASICs para melhorar a eficiência.
  3. Conectar contratos de validador na blockchain: Receber dados verificados por zk e provas relacionadas geradas pela rede de validadores e, em seguida, alimentar as informações verificadas de volta ao contrato do dApp.

Esta arquitetura integrada permite que a Brevis garanta alta eficiência e segurança ao fornecer dados e computação entre cadeias, permitindo que os desenvolvedores dApp utilizem plenamente o potencial do blockchain. Com essa arquitetura modular, a Brevis pode fornecer acesso a dados e recursos de computação totalmente confiáveis, flexíveis e eficientes para contratos inteligentes on-chain em todas as cadeias suportadas. Isso fornece um paradigma completamente novo para o desenvolvimento do dApp. O Brevis tem uma ampla gama de casos de uso, como DeFi orientado por dados, zkBridges, aquisição de usuários on-chain, zkDID, abstração de contas sociais, etc., aumentando a interoperabilidade de dados.

5.4 Langrange

Langrange e Brevis têm uma visão semelhante, com o objetivo de melhorar a interoperabilidade entre várias cadeias através do ZK Big Data Stack, que pode criar provas de estado universais em todas as blockchains principais. Ao integrar-se com o protocolo Langrange, as aplicações conseguem submeter provas agregadas de estado multi-cadeia, que podem ser verificadas de forma não interativa por contratos noutras cadeias.

Ao contrário dos protocolos tradicionais de ponte e mensagens, o protocolo Langrange não depende de um grupo específico de nós para fornecer informações. Em vez disso, ele utiliza a criptografia para coordenar provas de estado entre cadeias em tempo real, incluindo aquelas enviadas por usuários não confiáveis. Sob esse mecanismo, mesmo que a fonte da informação não seja confiável, a aplicação da tecnologia de criptografia garante a validade e a segurança do certificado.

O protocolo Langrange será inicialmente compatível com todos os rollups L1 e L2 compatíveis com EVM. Além disso, Langrange também planeia suportar cadeias não compatíveis com EVM num futuro próximo, incluindo, mas não se limitando a Solana, Sui, Aptos e cadeias públicas populares baseadas no Cosmos SDK.

A diferença entre o protocolo Langrange e os protocolos tradicionais de ponte e mensagens:

Os protocolos de ponte tradicionais e de mensagens são usados principalmente para transferir ativos ou mensagens entre um par específico de cadeias. Esses protocolos normalmente dependem de um conjunto de nós intermediários para confirmar o cabeçalho do bloco mais recente da cadeia de origem na cadeia de destino. Este modo é principalmente otimizado para relacionamentos de cadeia única, com base no status atual das duas cadeias. Em contraste, o protocolo Langrange fornece um método mais geral e flexível de interação entre cadeias, permitindo que aplicativos interajam em um ecossistema de blockchain mais amplo, em vez de ficarem limitados a um único relacionamento de cadeia para cadeia.

O protocolo Langrange otimiza especificamente o mecanismo para provar o estado dos contratos entre cadeias, em vez de apenas a transmissão de informações ou ativos. Esse recurso permite que o protocolo Langrange lide eficientemente com análises complexas envolvendo estados de contrato atuais e históricos, que podem abranger várias cadeias. Esse recurso permite que a Langrange ofereça suporte a uma série de cenários complexos de aplicativos de cadeia cruzada, como calcular a média móvel de preços de ativos em exchanges descentralizadas de cadeia múltipla (DEX) ou analisar a volatilidade das taxas de juros do mercado monetário em várias cadeias diferentes.

Portanto, as provas de estado de Langrange podem ser vistas como otimizações para relações de cadeias de muitos-para-um (n-para-1). Nesta relação entre cadeias, uma aplicação descentralizada (DApp) em uma cadeia depende da agregação de dados de estado em tempo real e históricos de várias outras cadeias (n). Esta funcionalidade expande significativamente a funcionalidade e eficiência dos DApps, permitindo-lhes agregar e analisar dados de múltiplas blockchains diferentes para fornecer insights mais profundos e abrangentes. Este método é significativamente diferente da relação tradicional de cadeia única ou de uma-para-uma, e fornece um escopo de aplicação e potencial mais amplo para aplicações blockchain.

Langrange recebeu anteriormente investimentos de 1kx, Maven11, Lattice, CMT Digital e gumi crypto.

5.5 Heródoto

Heródoto é projetado para fornecer contratos inteligentes com acesso síncrono a dados on-chain de outras camadas Ethereum. Eles acreditam que a prova de armazenamento pode unificar o estado de vários rollups e até permitir leituras síncronas entre as camadas Ethereum. Em resumo, é a captura de dados entre a cadeia principal EVM e o rollup. Atualmente suporta ETH mainnet, Starknet, Zksync, OP, Arbitrum e Polygon.

A Prova de Armazenamento, conforme definida por Heródoto, é uma prova composta que pode ser usada para verificar a validade de um ou mais elementos em um grande conjunto de dados, como os dados em toda a blockchain do Ethereum.

O processo de geração à prova de armazenamento é dividido em três etapas:

Etapa 1: Obter o acumulador de armazenamento de cabeçalho de bloco de compromissos verificáveis

  • Este passo é obter um “compromisso” que podemos verificar. Se o acumulador ainda não contém o cabeçalho de bloco mais recente que precisamos provar, primeiro precisamos provar a continuidade da cadeia para garantir que cubrimos o intervalo de blocos que contêm nossos dados-alvo. Por exemplo, se os dados que queremos provar estão no bloco 1.000.001 e o contrato inteligente armazenado no cabeçalho de bloco cobre apenas o bloco 1.000.000, então precisamos atualizar o armazenamento do cabeçalho.
  • Se o bloco de destino já estiver no acumulador, pode prosseguir diretamente para o próximo passo.

Passo 2: Provar a existência de uma conta específica

  • Este passo requer a geração de uma prova de inclusão a partir do Trie do Estado, que consiste em todas as contas na rede Ethereum. A raiz do estado é uma parte importante da derivação do hash de compromisso do bloco e também faz parte do armazenamento do cabeçalho. É importante notar que o hash do cabeçalho do bloco no acumulador pode diferir do hash real do bloco porque um método de hash diferente pode ter sido usado para eficiência.

Passo 3: Provar dados específicos na árvore de conta

  • Neste passo, podem ser geradas provas de inclusão para dados como nonces, saldos, raízes de armazenamento ou codeHash. Cada conta Ethereum tem um triplo de armazenamento (Árvore de Merkle Patricia), que é usado para salvar os dados de armazenamento da conta. Se os dados que queremos provar estão na loja da conta, então precisamos gerar provas adicionais de inclusão para os pontos de dados específicos nessa loja.

Depois de gerar todas as provas de inclusão necessárias e provas computacionais, é formada uma prova de armazenamento completa. Esta prova é então enviada para a cadeia, onde é verificada contra um único compromisso inicial (como um blockhash) ou a raiz MMR armazenada no cabeçalho. Este processo garante a autenticidade e integridade dos dados, ao mesmo tempo que mantém a eficiência do sistema.

Heródoto já conta com o apoio da Geometry, Fabric Ventures, Lambda Class e Starkware.

5.6 HyperOracle

Hyper Oracle é especificamente projetado para oráculos programáveis de conhecimento zero para manter o blockchain seguro e descentralizado. Através do seu padrão zkGraph, o Hyper Oracle torna os dados on-chain e os cálculos equivalentes on-chain práticos, verificáveis e com finalidade rápida. Ele fornece aos desenvolvedores uma forma completamente nova de interagir com o blockchain.

O nó zkOracle da Hyper Oracle é principalmente composto por dois componentes: zkPoS e zkWASM.

  1. zkPoS: Este componente é responsável por obter o cabeçalho do bloco e a raiz dos dados da blockchain Ethereum através de prova de conhecimento zero (zk) para garantir a correção do consenso Ethereum. zkPoS também atua como um circuito externo para zkWASM.
  2. zkWASM: Ele usa dados obtidos do zkPoS como entrada chave para executar zkGraphs. O zkWASM é responsável por executar mapas de dados personalizados definidos pelo zkGraphs e gerar provas de conhecimento zero para essas operações. Os operadores de nós zkOracle podem selecionar o número de zkGraphs que desejam executar, que pode ser de um para todos os zkGraphs implantados. O processo de geração de provas zk pode ser delegado a uma rede distribuída de provadores.

A saída do zkOracle são dados off-chain e os desenvolvedores podem usar esses dados através do padrão zkGraph do Hyper Oracle. Os dados também vêm com certificados zk para verificar a validade dos dados e cálculos.

Para manter a segurança da rede, a rede Hyper Oracle requer apenas um nó zkOracle. No entanto, vários nós zkOracle podem existir na rede, operando contra zkPoS e cada zkGraph. Isso permite que as provas zk sejam geradas em paralelo, melhorando significativamente o desempenho. Em geral, o Hyper Oracle fornece aos desenvolvedores uma plataforma de interação blockchain eficiente e segura, combinando tecnologia zk avançada e arquitetura de nó flexível.

Em janeiro de 2023, a Hyper Oracle anunciou que recebeu 3 milhões de dólares em financiamento da rodada pré-semente, com a participação conjunta da Dao5, Sequoia China, Foresight Ventures e FutureMoney Group.

5.7 Caminho

Pado é uma existência especial entre os co-processadores ZK. Outros co-processadores focam na captura de dados on-chain, enquanto Pado fornece um caminho para capturar dados off-chain, visando trazer todos os dados da Internet para contratos inteligentes. Ele substitui a função do oráculo até certo ponto, garantindo ao mesmo tempo privacidade e eliminando a necessidade de confiar em fontes de dados externas.

5.8 Comparação entre ZK coprocessor e máquina oracle

  • Latência: O oráculo é assíncrono, por isso a latência ao aceder a dados planos é mais longa em comparação com o coprocessador ZK.
  • Custo: Embora muitos oráculos não exijam provas computacionais e, portanto, sejam menos caros, eles são menos seguros. Armazenar provas é mais caro, mas mais seguro.
  • Segurança: A segurança máxima da transmissão de dados é limitada pelo nível de segurança do próprio oráculo. Em contraste, o coprocessador ZK corresponde à segurança da cadeia. Além disso, os oráculos são vulneráveis a ataques de manipulação devido ao uso de provas off-chain.

A figura abaixo mostra o fluxo de trabalho do Pado:

O Pado usa nós de criptografia como provadores de back-end. De forma a reduzir os pressupostos de confiança, a equipa do Pado adotará uma estratégia evolutiva e melhorará gradualmente a descentralização do serviço de provador. O provador participa ativamente do processo de recuperação e compartilhamento de dados do usuário, comprovando a autenticidade dos dados do usuário obtidos de fontes de dados da rede. O que o torna único é que o Pado aproveita o MPC-TLS (Transport Layer Secure Multi-Party Computation) e o IZK (Interactive Zero-Knowledge Proof) para permitir que os provadores provem dados "cegamente". Isso significa que os validadores não podem ver nenhum dado original, incluindo informações públicas e privadas do usuário. No entanto, o verificador ainda pode garantir a origem dos dados de quaisquer dados TLS transmitidos através de métodos criptográficos.

  1. MPC-TLS: TLS é um protocolo de segurança usado para proteger a privacidade e a integridade dos dados das comunicações na Internet. Quando visita um site e vê o ícone de "cadeado" e "https" no URL, significa que a sua visita está segura através do TLS. O MPC-TLS imita a funcionalidade de um cliente TLS, permitindo que o autenticador do Pado colabore com o cliente TLS para realizar as seguintes tarefas: \
    É importante notar que essas operações relacionadas com TLS são realizadas entre o cliente e o verificador através do protocolo de Computação de Duas Partes (2PC). O design do MPC-TLS baseia-se em algumas tecnologias de criptografia, como circuito de ofuscação (GC), transmissão de esquecimento (OT), IZK, etc.
    • Estabelecer uma conexão TLS, incluindo o cálculo da chave primária, chave de sessão e informações de verificação.
    • Executar consultas através de um canal TLS, incluindo a geração de pedidos encriptados e a desencriptação das respostas do servidor.
  2. EXC: Prova interativa de conhecimento zero é uma prova de conhecimento zero na qual o provador e o verificador podem interagir. No protocolo IZK, o resultado do verificador é aceitar ou rejeitar a alegação do provador. Comparado com NIZKs simples (como zk-STARKs ou zk-SNARKs), o protocolo IZK tem várias vantagens, como alta escalabilidade para grandes alegações, baixo custo computacional, sem necessidade de configuração confiável e uso de memória minimizado.

Pado está desenvolvendo ativamente o gancho kyc da Uniswap, buscando mais cenários de aplicação on-chain de dados, e foi selecionado para o primeiro lote do programa Consensys Fellowship.

6. Perspetivas Futuras

O coprocessador ZK permite que a blockchain capture mais dados e obtenha recursos de computação fora da cadeia a um custo menor, sem prejudicar a descentralização. Ele também desvincula o fluxo de trabalho dos contratos inteligentes e aumenta a escalabilidade e eficiência.

Apenas do lado da demanda, o coprocessador ZK é uma necessidade. Apenas do ponto de vista da faixa DEX, este gancho tem um grande potencial e pode fazer muitas coisas. Se o sushiswap não tiver ganchos, não conseguirá competir com uniswap e será muito. Será eliminado em breve. Se zkcoprocessor não for usado para ganchos, o gás será muito caro para os desenvolvedores e usuários, porque os ganchos introduzem nova lógica e tornam os contratos inteligentes mais complexos, o que é contraproducente. Portanto, por enquanto, usar o coprocessador zk é a melhor solução. Quer seja do ponto de vista da captura de dados ou do cálculo, vários métodos têm diferentes vantagens e desvantagens. O coprocessador adequado para funções específicas é um bom coprocessador. O mercado de computação verificável on-chain tem amplos horizontes e refletirá novos valores em mais campos.

No futuro desenvolvimento da blockchain, tem o potencial de quebrar as barreiras tradicionais de dados da web2. A informação deixará de ser ilhas isoladas e alcançará uma interoperabilidade mais forte. Os co-processadores ZK tornar-se-ão middleware poderosos para garantir segurança, privacidade e condições sem confiança para reduzir custos e aumentar eficiência na captura, cálculo e verificação de contratos inteligentes, libertar a rede de dados, abrir mais possibilidades e tornar-se a infraestrutura para aplicações de intenção real e agentes de IA em cadeia. Apenas se não conseguir pensar nisso, não poderá fazê-lo.

Imagine um cenário no futuro: usando a alta confiabilidade e privacidade da ZK para verificação de dados, os motoristas de transporte online podem construir uma rede de agregação além de suas próprias plataformas. Esta rede de dados pode abranger Uber, Lyft, Didi, Bolt, etc., os motoristas de transporte online podem fornecer dados em suas próprias plataformas. Você pega uma parte, eu pego uma parte e juntamos tudo na blockchain. Lentamente, uma rede independente de suas próprias plataformas é estabelecida e agregada. Todos os dados dos motoristas se tornaram um grande agregador de dados de transporte online e, ao mesmo tempo, podem tornar os motoristas anônimos e não vazar sua privacidade.

7. Índice

https://blog.axiom.xyz/o-que-e-um-coprocessador-zk/

https://crypto.mirror.xyz/BFqUfBNVZrqYau3Vz9WJ-BACw5FT3W30iUX3mPlKxtA

https://dev.risczero.com/api

https://blog.uniswap.org/uniswap-v4

https://blog.celer.network/2023/03/21/brevis-a-zk-omnichain-data-attestation-platform/

https://lagrange-labs.gitbook.io/lagrange-labs/overview/what-is-the-lagrange-protocol

https://docs.herodotus.dev/herodotus-docs/

https://docs.padolabs.org/

Aviso legal:

  1. Este artigo é reproduzido a partir de [ForesightResearch]. Todos os direitos de autor pertencem ao autor original [Mike]. Se houver objeções a esta reedição, por favor entre em contato com o Gate Learn equipe, e eles vão lidar com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem qualquer conselho de investimento.
  3. As traduções do artigo para outros idiomas são feitas pela equipe Gate Learn. Salvo indicação em contrário, é proibido copiar, distribuir ou plagiar os artigos traduzidos.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!