Foresight Ventures | Nitrogen acceleration! Como o coprocessador ZK quebra as barreiras de dados de contratos inteligentes

iniciantes1/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

Em relação ao conceito de co-processador, um exemplo muito simples e fácil de entender é a relação entre um computador e uma placa de vídeo. A CPU pode concluir a maioria das tarefas, mas uma vez que uma tarefa específica é encontrada, a placa de vídeo precisa de ajuda porque a CPU possui potência de computação insuficiente, como aprendizado de máquina, renderização de gráficos ou execução de jogos em grande escala. Se não queremos perder quadros ou travar ao jogar jogos em grande escala, definitivamente precisamos de uma placa de vídeo com bom desempenho. Nesse cenário, a CPU é o processador e a placa de vídeo é o co-processador. Mapeando para o blockchain, o contrato inteligente é a CPU e o co-processador ZK é a GPU.

O ponto chave é delegar tarefas específicas a coprocessadores específicos. Assim como em uma fábrica, o chefe conhece os passos de cada elo e pode fazê-lo sozinho 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 que uma estiver pronta é que ele pode produzir a próxima, então ele contratou muitos funcionários específicos. Eles executam suas funções e fazem o trabalho que são bons na cadeia de produção em suas próprias oficinas. Os elos na cadeia podem interagir entre si. Comunicam e coordenam, mas não interferem no trabalho uns dos outros. Eles só fazem o que fazem de melhor. Aqueles com mãos rápidas e força física podem aparafusar. Aqueles que sabem operar máquinas podem operar as máquinas. Aqueles que sabem contabilidade podem calcular o volume e os custos de produção. Trabalho de colaboração assíncrona para maximizar a eficiência do trabalho.

Durante a Revolução Industrial, os capitalistas já haviam descoberto que este modelo poderia trazer capacidade máxima de produção para 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 telefones celulares, os chips podem ser produzidos por outras empresas de chips especializadas. A empresa de telefonia móvel é 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 muito complexas e pesadas para o processador central lidar sozinho.

O coprocessador ZK é relativamente amplo em um sentido amplo. Alguns projetos o chamam de seu próprio coprocessador, e outros o chamam 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. Simplificando, algum trabalho de cálculo on-chain é feito off-chain para reduzir custos e aumentar a eficiência. Ao mesmo tempo, o ZK é usado para garantir a confiabilidade dos cálculos e proteger a privacidade de dados específicos. No mundo orientado a dados da blockchain, isso é especialmente importante.

2. Por que precisamos do coprocessador ZK?

Um dos maiores gargalos enfrentados pelos desenvolvedores de contratos inteligentes continua sendo os altos custos associados à computação on-chain. Como 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, pois embora os nós de arquivo na camada DA da blockchain possam de fato armazenar dados históricos, é por isso que coisas como aplicativos de análise off-chain do Dune, como Analytics, Nansen, 0xscope e Etherscan, podem ter tantos dados da blockchain e podem retroceder muito no tempo, mas não é simples para os contratos inteligentes acessarem 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 de contratos inteligentes. 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 dos cabeçalhos dos blocos 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 compactados em um valor de hash de 32 bytes usando a árvore de Merkle e o algoritmo de hash Keccak.

Embora os dados estejam compactados por hash, eles podem ser descompactados — apenas não é fácil. Por exemplo, se você deseja aproveitar o cabeçalho do bloco mais recente para acessar sem confiança 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, a 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.

O motivo fundamental desse desafio é que as máquinas virtuais blockchain (como a EVM) não são adequadas para lidar com grandes quantidades de dados e tarefas de computação intensiva, como o trabalho de descompressão mencionado acima. O foco do design da EVM é executar código de contrato inteligente, garantindo segurança e descentralização, em vez de processar dados em grande escala ou realizar 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 utilizar computação off-chain ou outras tecnologias de dimensionamento. Nesse 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 do dapp. O coprocessador ZK aprimora a escalabilidade de contratos inteligentes, permitindo que os contratos inteligentes deleguem confiavelmente o acesso histórico a dados on-chain e a computação usando provas ZK. Em vez de realizar todas as operações no EVM, os desenvolvedores podem transferir operações caras para o coprocessador ZK e simplesmente usar os resultados on-chain. Isso fornece uma nova maneira para contratos inteligentes escalarem, desacoplando o acesso a dados e a 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 blockchain. Isso permite que as aplicações acessem mais dados e operem em uma escala maior do que antes, controlando 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 co-processador ZK é garantir que todos os dados de entrada sejam acessados corretamente a partir do histórico do blockchain. Como mencionado anteriormente, isso é realmente bastante difícil porque os contratos inteligentes só podem acessar o estado atual do blockchain em 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 (entradas on-chain interessantes em cálculos) não podem ser usados nativamente pelos contratos inteligentes para verificar os resultados do co-processador.

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

  1. Armazene dados adicionais no estado da blockchain e use o EVM para armazenar todos os dados usados on-chain pelo co-processador de verificação de leitura. Esta abordagem é bastante cara e proibitiva para grandes quantidades de dados.
  2. Confie em um Oracle ou em uma rede de signatários para verificar os dados de entrada para o coprocessador. Isso requer que os usuários do coprocessador confiem no Oracle ou no provedor de multiassinatura, o que reduz a segurança.
  3. Use provas de conhecimento zero (ZK) para verificar se algum dado on-chain usado no co-processador foi comprometido no histórico 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 suposições adicionais de confiança do usuário.

3.2 Cálculo

Realizar cálculos off-chain em um coprocessador ZK requer a conversão de programas de computador tradicionais em circuitos ZK. Atualmente, todos os métodos para conseguir isso têm um grande 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 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.

Portanto, as três principais abordagens para especificar cálculos em coprocessadores ZK são principalmente compensações entre desempenho, flexibilidade e facilidade de desenvolvimento:

  1. Circuitos personalizados: Os desenvolvedores escrevem seus próprios circuitos para cada aplicativo. Este método tem o maior potencial de desempenho, mas requer um esforço significativo por parte do desenvolvedor.
  2. eDSL/DSL para circuitos: Os desenvolvedores escrevem circuitos para cada aplicativo, mas abstraem questões específicas do ZK em um framework opinativo (semelhante ao uso do PyTorch para redes neurais). Mas o desempenho é ligeiramente inferior.
  3. Os desenvolvedores zkVM escrevem circuitos em máquinas virtuais existentes e verificam sua execução em ZK. Isso fornece 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 coprocessor ZK tem uma ampla gama de aplicações. O coprocessor 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 coprocessor ZK pode reduzir custos, aumentar a eficiência e proteger a privacidade. A seguir, 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 que os desenvolvedores realizem operações especificadas em qualquer ponto-chave em todo o ciclo de vida do pool de liquidez - como antes ou depois de negociar tokens, ou antes ou depois de mudanças de posição LP, pools de liquidez personalizados, trocas, taxas Como interagir com posições LP, por exemplo:

  • Time Weighted Average Market Maker (TWAMM);
  • taxas dinâmicas com base na volatilidade ou em outras entradas;
  • Ordem de limite de preço da Chain;
  • Depositar liquidez fora do escopo em 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 desenvolvedores capturar dados históricos em qualquer cadeia e usá-los para personalizar o pool no Uniswap de acordo com suas próprias ideias. A emergência do Hook traz mais composabilidade e maior eficiência para transações na cadeia. eficiência de capital. No entanto, uma vez que a lógica de código que define essas se torna complicada, isso trará uma enorme carga de gás para usuários e desenvolvedores. Então, o zkcoprocessor vem a calhar neste momento, o que pode ajudar a economizar esses custos de gás e melhorar a eficiência.

De uma perspectiva de longo prazo, o coprocessador ZK acelerará a integração do DEX e do CEX. Desde 2022, vimos que o DEX e o CEX se tornaram funcionalmente consistentes. Todos os principais CEXs estão aceitando essa realidade e adotando carteiras Web3, construindo EVM L2 e adotando infraestrutura existente como Lightning Network ou código aberto para abraçar a compartilhamento de liquidez on-chain. Esse fenômeno é inseparável do impulso do co-processador ZK. Todas as funções que o CEX pode realizar, seja negociação de grade, seguimento, empréstimo rápido, ou uso de dados do usuário, o DEX também pode ser implementado através do co-processador 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 CEX tradicionais. Ao mesmo tempo, a tecnologia ZK também pode proteger a privacidade do usuário 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 de empréstimo Defi deseja, por meio da interação entre o endereço e uma série de protocolos de empréstimo como Aave, Compound, Fraxlend e Spark como padrão para airdrops, a captura de dados históricos e as características de 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 off-chain, 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 on-chain/off-chain 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 abraçando a conformidade. Com o coprocessador ZK, é possível fazer um contrato inteligente comprovadamente verificável, capturando quaisquer dados off-chain fornecidos pelo usuário sem a necessidade de expor qualquer informação desnecessária dos usuários, na verdade, alguns projetos estão sendo implementados, como o gatilho KYC da Uniswap, que usa o co-processador 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 na e fora da cadeia podem até ser empacotados em uma identidade completa e podem ser escritos com forte credibilidade. ZK prova que está na cadeia enquanto protege a privacidade do usuário.

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 vinculação. Será possível adicionar um gancho à curva de vinculação do friend.tech para que os usuários possam personalizar a direção da curva de vinculação, como implementar Depois que a febre pelas chaves de negociação terminar e os especuladores saírem, a curva de vinculação será suavizada, a barreira de entrada para os fãs reais será reduzida e o tráfego real do domínio privado crescerá. Ou permitir que o contrato inteligente obtenha o gráfico social do usuário on-chain/off-chain e seja capaz de seguir seus amigos em diferentes Dapps sociais com um clique. Ou você pode estabelecer um clube privado na cadeia, como o clube Degen, e somente endereços que atendam às condições históricas de consumo de Gás podem entrar, etc.

4.5 Jogos

Nos jogos tradicionais da Web2, os dados do usuário 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 melhor e forneça uma melhor experiência ao usuário, como o mecanismo de correspondência ELO em jogos MOBA. A frequência de compra de skins, etc., mas esses dados são difíceis de capturar por contratos inteligentes na blockchain, então eles 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 Partido

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

5.1 Axioma

Axiom, o líder em coprocessadores ZK (zero-knowledge), foca em contratos inteligentes sendo capazes de acessar toda a história do Ethereum e quaisquer cálculos de verificação ZK sem confiança. Os desenvolvedores podem enviar consultas on-chain para a Axiom, que então as processa via verificação ZK e devolve os resultados ao contrato inteligente do desenvolvedor de forma descentralizada. Isso permite que os desenvolvedores construam aplicações on-chain mais ricas sem depender de suposições de confiança adicionais.

Para implementar essas consultas, Axiom realiza as seguintes três etapas:

  1. leia: A Axiom usa provas ZK para ler dados confiáveis de cabeçalhos de blocos, status, transações e recibos de blocos históricos do 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 triplas Merkle-Patricia e cadeias de hash 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, Axiom 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 AxiomREPL ou visualizar a documentação para aprender sobre as primitivas de computação disponíveis. Axiom permite que os usuários acessem dados on-chain e especifiquem seus próprios cálculos através do eDSL. Também permite que os usuários escrevam seus próprios circuitos usando a biblioteca de circuitos ZK.
  3. verificar: Axiom fornece provas de validade ZK para cada resultado de consulta. Estas provas garantem que (1) os dados de entrada foram extraídos corretamente da cadeia e (2) os cálculos foram aplicados corretamente. Estas provas ZK são verificadas na cadeia nos contratos inteligentes da Axiom, garantindo que os resultados finais sejam utilizados de forma confiável nos contratos inteligentes dos usuários.

Porque os resultados são verificados via provas ZK, os resultados da Axiom são criptograficamente tão seguros quanto os resultados do Ethereum. Essa abordagem não faz suposições sobre criptoeconomia, incentivos ou teoria dos jogos. A Axiom acredita que essa abordagem fornecerá o mais alto nível possível de garantia para aplicativos de contratos inteligentes. A equipe da Axiom trabalhou em estreita colaboração com a Fundação Uniswap e obteve Subsídios da Uniswap, e construirá um oráculo sem confiança na Uniswap.

5.2 Zero Risco

Bonsai: Em 2023, RISC Zero lançou o Bonsai, um serviço de comprovação que permite que aplicativos 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, qualquer protocolo e qualquer aplicativo utilizem provas ZK. É altamente paralelizável, programável e de alto desempenho.

Bonsai permite que você integre provas de conhecimento zero diretamente em qualquer contrato inteligente, sem a necessidade de circuitos personalizados. Isso permite que ZK seja integrado diretamente em aplicativos descentralizados em qualquer cadeia EVM, com o potencial para apoiar qualquer outro ecossistema.

zkVM é a base do Bonsai e suporta ampla compatibilidade de linguagem, suportando código Rust demonstrável e código potencialmente demonstrável de conhecimento zero em qualquer linguagem compilada 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 que os desenvolvedores construam aplicativos ZK em linguagens maduras como Rust e C++. Este lançamento é uma grande inovação no desenvolvimento de software ZK: o zkVM torna possível construir aplicativos 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, o zkVM permite que os desenvolvedores construam rapidamente aplicativos ZK significativos sem exigir um background em matemática avançada ou criptografia.

Essas aplicações incluem:

  • JSON: Prove o conteúdo de uma entrada em um arquivo JSON mantendo os outros dados privados.
  • Onde está o Waldo: Prove que o Waldo está presente no arquivo 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 você pode explorar uma conta Ethereum sem revelar a vulnerabilidade.
  • Verificação da assinatura ECDSA: Prove a validade da assinatura ECDSA.

Esses 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 capaz de ser compatível com Rust é um divisor de águas 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 RISC Zero.

Além de ser mais fácil de construir, o RISC Zero também oferece desempenho. zkVM tem aceleração de GPU de CUDA e Metal, e realiza prova paralela de grandes programas através de 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 Celer Network, concentra-se em capturar dados históricos multi-cadeia. Ele dá aos contratos inteligentes a capacidade de ler seus dados históricos completos de qualquer cadeia e realizar cálculos personalizados abrangentes sem confiança. Atualmente, ele suporta principalmente Ethereum POS. Comos Tendermint e BSC.

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

  1. O hash do bloco e os status, transações e raízes de recibos associados de qualquer bloco na cadeia de origem.
  2. Valor do 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. Entradas 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 da Brevis é composta por três partes principais:

  1. rede de repetidores: Sincroniza cabeçalhos de bloco e informações on-chain de diferentes blockchains e os encaminha para a rede de validadores para gerar provas de validade. Em seguida, envia as informações verificadas e suas respectivas provas para o blockchain conectado.
  2. rede prover: 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 aplicativo integrada. Para minimizar o tempo de prova, custos e custos de verificação em cadeia, 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. Conectando contratos de validadores na blockchain: Receba dados zk-verificados e provas relacionadas geradas pela rede de validadores e, em seguida, alimente as informações verificadas de volta ao contrato dApp.

Essa 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 de dApps utilizem completamente o potencial da blockchain. Com essa arquitetura modular, a Brevis pode fornecer acesso de dados e capacidades de computação totalmente seguros, flexíveis e eficientes para contratos inteligentes on-chain em todas as cadeias suportadas. Isso proporciona um paradigma completamente novo para o desenvolvimento de dApps. A Brevis tem uma ampla variedade de casos de uso, como DeFi baseado em 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, visando aprimorar a interoperabilidade entre várias cadeias por meio do ZK Big Data Stack, que pode criar provas de estado universais em todas as blockchains principais. Ao integrar com o protocolo Langrange, as aplicações são capazes de enviar provas agregadas de estado multi-cadeia, que podem então ser verificadas de forma não interativa por contratos em outras 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 aproveita a criptografia para coordenar provas de estado entre cadeias em tempo real, incluindo aquelas submetidas 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 planeja oferecer suporte a cadeias não compatíveis com EVM no 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 tradicionais de ponte e mensagens são usados principalmente para transferir ativos ou mensagens entre um par específico de cadeias. Esses protocolos geralmente 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 blockchain mais amplo em vez de serem limitados a um único relacionamento de cadeia-a-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. Essa funcionalidade 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. Essa capacidade permite que Langrange suporte uma série de cenários de aplicativos complexos entre cadeias, como calcular a média móvel dos preços dos ativos em trocas descentralizadas (DEX) multi-cadeias, 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 relacionamentos de muitos para um (n-para-1) cadeia. Neste relacionamento entre cadeias, um aplicativo descentralizado (DApp) em uma cadeia depende da agregação de dados de estado em tempo real e históricos de múltiplas outras cadeias (n). Esta característica 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 do relacionamento tradicional de uma única cadeia ou de uma cadeia para uma, e fornece um escopo de potencial e aplicação mais amplo para aplicações de blockchain.

Langrange recebeu anteriormente investimentos da 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árias rollups e até permitir leituras síncronas entre camadas Ethereum. Em suma, é a captura de dados entre a main chain EVM e rollup. Atualmente suporta ETH mainnet, Starknet, Zksync, OP, Arbitrum e Polygon.

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 de prova de armazenamento é aproximadamente dividido em três etapas:

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

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

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

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

Passo 3: Prove dados específicos na árvore de contas

  • Neste passo, provas de inclusão podem ser geradas para dados como nonces, saldos, raízes de armazenamento ou codeHash. Cada conta Ethereum possui um triplo de armazenamento (Árvore de Patricia Merkle), que é usada para salvar os dados de armazenamento da conta. Se os dados que queremos provar estão na loja de contas, 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, uma prova de armazenamento completa é formada. Esta prova é então enviada para a cadeia, onde é verificada contra um único compromisso inicial (como um hash de bloco) ou a raiz MMR armazenada no cabeçalho. Esse processo garante a autenticidade e integridade dos dados, ao mesmo tempo que mantém a eficiência do sistema.

Herodotus já é apoiado por Geometry, Fabric Ventures, Lambda Class e Starkware.

5.6 HyperOracle

O Hyper Oracle é especificamente projetado para oráculos programáveis de conhecimento zero para manter a blockchain segura e descentralizada. 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 maneira completamente nova de interagir com a 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-knowledge (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. zkWASM é responsável por executar mapas de dados personalizados definidos por zkGraphs e gerar provas de conhecimento zero para essas operações. Os operadores dos nós zkOracle podem selecionar a quantidade de zkGraphs que desejam executar, que pode ser de um a 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 por meio 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 eficiente e segura com blockchain, combinando tecnologia avançada zk e arquitetura de nó flexível.

Em janeiro de 2023, a Hyper Oracle anunciou que recebeu US$3 milhões 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 o Pado fornece um caminho para capturar dados off-chain, com o objetivo de trazer todos os dados da Internet para contratos inteligentes. Ele substitui a função do oráculo em certa medida, garantindo privacidade e eliminando a necessidade de confiar em fontes de dados externas.

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

  • Latência: O oráculo é assíncrono, portanto, a latência ao acessar dados planos é maior 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 oracle. Em contraste, o coprocessador ZK corresponde à segurança da cadeia. Além disso, os oracles 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. A fim de reduzir as premissas de confiança, a equipe 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, enquanto prova a autenticidade dos dados do usuário obtidos de fontes de dados de 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 por meio 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 da Internet. Quando você visita um site e vê o ícone de "cadeado" e "https" no URL, isso significa que sua visita é protegida por TLS. O MPC-TLS imita a funcionalidade de um cliente TLS, permitindo que o autenticador do Pado colabore com o cliente TLS para executar as seguintes tarefas: \
    É importante notar que essas operações relacionadas ao TLS são realizadas entre o cliente e o verificador por meio 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 por meio de um canal TLS, incluindo a geração de solicitações criptografadas e a descriptografia das respostas do servidor.
  2. EXC: A 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 reivindicaçã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 reivindicações, baixo custo computacional, sem necessidade de configuração confiável e uso mínimo de memória.

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

6. Perspectivas Futuras

O coprocessador ZK permite que o blockchain capture mais dados e obtenha recursos de computação off-chain a um custo mais baixo sem prejudicar a descentralização. Ele também desacopla o fluxo de trabalho de contratos inteligentes e aumenta a escalabilidade e a eficiência.

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

No futuro desenvolvimento da blockchain, ela tem o potencial de quebrar as barreiras de dados tradicionais da web2. A informação não será mais ilhas isoladas e alcançará uma maior interoperabilidade. Os co-processadores ZK se tornarão middleware poderosos para garantir segurança, privacidade e condições livres de confiança para reduzir custos e aumentar a eficiência para captura, cálculo e verificação de contratos inteligentes, libertar a rede de dados, abrir mais possibilidades e se tornar a infraestrutura para aplicativos de verdadeira intenção e agentes de IA on-chain. Apenas se você 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. Essa 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 colocamos juntos 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/what-is-a-zk-coprocessor/

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 autorais pertencem ao autor original [Mike]. Se houver objeções a esta reimpressão, entre em contato com oGate Learnequipe, e eles lidarão com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum 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, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Foresight Ventures | Nitrogen acceleration! Como o coprocessador ZK quebra as barreiras de dados de contratos inteligentes

iniciantes1/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

Em relação ao conceito de co-processador, um exemplo muito simples e fácil de entender é a relação entre um computador e uma placa de vídeo. A CPU pode concluir a maioria das tarefas, mas uma vez que uma tarefa específica é encontrada, a placa de vídeo precisa de ajuda porque a CPU possui potência de computação insuficiente, como aprendizado de máquina, renderização de gráficos ou execução de jogos em grande escala. Se não queremos perder quadros ou travar ao jogar jogos em grande escala, definitivamente precisamos de uma placa de vídeo com bom desempenho. Nesse cenário, a CPU é o processador e a placa de vídeo é o co-processador. Mapeando para o blockchain, o contrato inteligente é a CPU e o co-processador ZK é a GPU.

O ponto chave é delegar tarefas específicas a coprocessadores específicos. Assim como em uma fábrica, o chefe conhece os passos de cada elo e pode fazê-lo sozinho 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 que uma estiver pronta é que ele pode produzir a próxima, então ele contratou muitos funcionários específicos. Eles executam suas funções e fazem o trabalho que são bons na cadeia de produção em suas próprias oficinas. Os elos na cadeia podem interagir entre si. Comunicam e coordenam, mas não interferem no trabalho uns dos outros. Eles só fazem o que fazem de melhor. Aqueles com mãos rápidas e força física podem aparafusar. Aqueles que sabem operar máquinas podem operar as máquinas. Aqueles que sabem contabilidade podem calcular o volume e os custos de produção. Trabalho de colaboração assíncrona para maximizar a eficiência do trabalho.

Durante a Revolução Industrial, os capitalistas já haviam descoberto que este modelo poderia trazer capacidade máxima de produção para 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 telefones celulares, os chips podem ser produzidos por outras empresas de chips especializadas. A empresa de telefonia móvel é 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 muito complexas e pesadas para o processador central lidar sozinho.

O coprocessador ZK é relativamente amplo em um sentido amplo. Alguns projetos o chamam de seu próprio coprocessador, e outros o chamam 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. Simplificando, algum trabalho de cálculo on-chain é feito off-chain para reduzir custos e aumentar a eficiência. Ao mesmo tempo, o ZK é usado para garantir a confiabilidade dos cálculos e proteger a privacidade de dados específicos. No mundo orientado a dados da blockchain, isso é especialmente importante.

2. Por que precisamos do coprocessador ZK?

Um dos maiores gargalos enfrentados pelos desenvolvedores de contratos inteligentes continua sendo os altos custos associados à computação on-chain. Como 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, pois embora os nós de arquivo na camada DA da blockchain possam de fato armazenar dados históricos, é por isso que coisas como aplicativos de análise off-chain do Dune, como Analytics, Nansen, 0xscope e Etherscan, podem ter tantos dados da blockchain e podem retroceder muito no tempo, mas não é simples para os contratos inteligentes acessarem 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 de contratos inteligentes. 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 dos cabeçalhos dos blocos 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 compactados em um valor de hash de 32 bytes usando a árvore de Merkle e o algoritmo de hash Keccak.

Embora os dados estejam compactados por hash, eles podem ser descompactados — apenas não é fácil. Por exemplo, se você deseja aproveitar o cabeçalho do bloco mais recente para acessar sem confiança 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, a 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.

O motivo fundamental desse desafio é que as máquinas virtuais blockchain (como a EVM) não são adequadas para lidar com grandes quantidades de dados e tarefas de computação intensiva, como o trabalho de descompressão mencionado acima. O foco do design da EVM é executar código de contrato inteligente, garantindo segurança e descentralização, em vez de processar dados em grande escala ou realizar 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 utilizar computação off-chain ou outras tecnologias de dimensionamento. Nesse 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 do dapp. O coprocessador ZK aprimora a escalabilidade de contratos inteligentes, permitindo que os contratos inteligentes deleguem confiavelmente o acesso histórico a dados on-chain e a computação usando provas ZK. Em vez de realizar todas as operações no EVM, os desenvolvedores podem transferir operações caras para o coprocessador ZK e simplesmente usar os resultados on-chain. Isso fornece uma nova maneira para contratos inteligentes escalarem, desacoplando o acesso a dados e a 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 blockchain. Isso permite que as aplicações acessem mais dados e operem em uma escala maior do que antes, controlando 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 co-processador ZK é garantir que todos os dados de entrada sejam acessados corretamente a partir do histórico do blockchain. Como mencionado anteriormente, isso é realmente bastante difícil porque os contratos inteligentes só podem acessar o estado atual do blockchain em 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 (entradas on-chain interessantes em cálculos) não podem ser usados nativamente pelos contratos inteligentes para verificar os resultados do co-processador.

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

  1. Armazene dados adicionais no estado da blockchain e use o EVM para armazenar todos os dados usados on-chain pelo co-processador de verificação de leitura. Esta abordagem é bastante cara e proibitiva para grandes quantidades de dados.
  2. Confie em um Oracle ou em uma rede de signatários para verificar os dados de entrada para o coprocessador. Isso requer que os usuários do coprocessador confiem no Oracle ou no provedor de multiassinatura, o que reduz a segurança.
  3. Use provas de conhecimento zero (ZK) para verificar se algum dado on-chain usado no co-processador foi comprometido no histórico 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 suposições adicionais de confiança do usuário.

3.2 Cálculo

Realizar cálculos off-chain em um coprocessador ZK requer a conversão de programas de computador tradicionais em circuitos ZK. Atualmente, todos os métodos para conseguir isso têm um grande 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 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.

Portanto, as três principais abordagens para especificar cálculos em coprocessadores ZK são principalmente compensações entre desempenho, flexibilidade e facilidade de desenvolvimento:

  1. Circuitos personalizados: Os desenvolvedores escrevem seus próprios circuitos para cada aplicativo. Este método tem o maior potencial de desempenho, mas requer um esforço significativo por parte do desenvolvedor.
  2. eDSL/DSL para circuitos: Os desenvolvedores escrevem circuitos para cada aplicativo, mas abstraem questões específicas do ZK em um framework opinativo (semelhante ao uso do PyTorch para redes neurais). Mas o desempenho é ligeiramente inferior.
  3. Os desenvolvedores zkVM escrevem circuitos em máquinas virtuais existentes e verificam sua execução em ZK. Isso fornece 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 coprocessor ZK tem uma ampla gama de aplicações. O coprocessor 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 coprocessor ZK pode reduzir custos, aumentar a eficiência e proteger a privacidade. A seguir, 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 que os desenvolvedores realizem operações especificadas em qualquer ponto-chave em todo o ciclo de vida do pool de liquidez - como antes ou depois de negociar tokens, ou antes ou depois de mudanças de posição LP, pools de liquidez personalizados, trocas, taxas Como interagir com posições LP, por exemplo:

  • Time Weighted Average Market Maker (TWAMM);
  • taxas dinâmicas com base na volatilidade ou em outras entradas;
  • Ordem de limite de preço da Chain;
  • Depositar liquidez fora do escopo em 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 desenvolvedores capturar dados históricos em qualquer cadeia e usá-los para personalizar o pool no Uniswap de acordo com suas próprias ideias. A emergência do Hook traz mais composabilidade e maior eficiência para transações na cadeia. eficiência de capital. No entanto, uma vez que a lógica de código que define essas se torna complicada, isso trará uma enorme carga de gás para usuários e desenvolvedores. Então, o zkcoprocessor vem a calhar neste momento, o que pode ajudar a economizar esses custos de gás e melhorar a eficiência.

De uma perspectiva de longo prazo, o coprocessador ZK acelerará a integração do DEX e do CEX. Desde 2022, vimos que o DEX e o CEX se tornaram funcionalmente consistentes. Todos os principais CEXs estão aceitando essa realidade e adotando carteiras Web3, construindo EVM L2 e adotando infraestrutura existente como Lightning Network ou código aberto para abraçar a compartilhamento de liquidez on-chain. Esse fenômeno é inseparável do impulso do co-processador ZK. Todas as funções que o CEX pode realizar, seja negociação de grade, seguimento, empréstimo rápido, ou uso de dados do usuário, o DEX também pode ser implementado através do co-processador 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 CEX tradicionais. Ao mesmo tempo, a tecnologia ZK também pode proteger a privacidade do usuário 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 de empréstimo Defi deseja, por meio da interação entre o endereço e uma série de protocolos de empréstimo como Aave, Compound, Fraxlend e Spark como padrão para airdrops, a captura de dados históricos e as características de 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 off-chain, 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 on-chain/off-chain 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 abraçando a conformidade. Com o coprocessador ZK, é possível fazer um contrato inteligente comprovadamente verificável, capturando quaisquer dados off-chain fornecidos pelo usuário sem a necessidade de expor qualquer informação desnecessária dos usuários, na verdade, alguns projetos estão sendo implementados, como o gatilho KYC da Uniswap, que usa o co-processador 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 na e fora da cadeia podem até ser empacotados em uma identidade completa e podem ser escritos com forte credibilidade. ZK prova que está na cadeia enquanto protege a privacidade do usuário.

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 vinculação. Será possível adicionar um gancho à curva de vinculação do friend.tech para que os usuários possam personalizar a direção da curva de vinculação, como implementar Depois que a febre pelas chaves de negociação terminar e os especuladores saírem, a curva de vinculação será suavizada, a barreira de entrada para os fãs reais será reduzida e o tráfego real do domínio privado crescerá. Ou permitir que o contrato inteligente obtenha o gráfico social do usuário on-chain/off-chain e seja capaz de seguir seus amigos em diferentes Dapps sociais com um clique. Ou você pode estabelecer um clube privado na cadeia, como o clube Degen, e somente endereços que atendam às condições históricas de consumo de Gás podem entrar, etc.

4.5 Jogos

Nos jogos tradicionais da Web2, os dados do usuário 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 melhor e forneça uma melhor experiência ao usuário, como o mecanismo de correspondência ELO em jogos MOBA. A frequência de compra de skins, etc., mas esses dados são difíceis de capturar por contratos inteligentes na blockchain, então eles 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 Partido

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

5.1 Axioma

Axiom, o líder em coprocessadores ZK (zero-knowledge), foca em contratos inteligentes sendo capazes de acessar toda a história do Ethereum e quaisquer cálculos de verificação ZK sem confiança. Os desenvolvedores podem enviar consultas on-chain para a Axiom, que então as processa via verificação ZK e devolve os resultados ao contrato inteligente do desenvolvedor de forma descentralizada. Isso permite que os desenvolvedores construam aplicações on-chain mais ricas sem depender de suposições de confiança adicionais.

Para implementar essas consultas, Axiom realiza as seguintes três etapas:

  1. leia: A Axiom usa provas ZK para ler dados confiáveis de cabeçalhos de blocos, status, transações e recibos de blocos históricos do 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 triplas Merkle-Patricia e cadeias de hash 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, Axiom 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 AxiomREPL ou visualizar a documentação para aprender sobre as primitivas de computação disponíveis. Axiom permite que os usuários acessem dados on-chain e especifiquem seus próprios cálculos através do eDSL. Também permite que os usuários escrevam seus próprios circuitos usando a biblioteca de circuitos ZK.
  3. verificar: Axiom fornece provas de validade ZK para cada resultado de consulta. Estas provas garantem que (1) os dados de entrada foram extraídos corretamente da cadeia e (2) os cálculos foram aplicados corretamente. Estas provas ZK são verificadas na cadeia nos contratos inteligentes da Axiom, garantindo que os resultados finais sejam utilizados de forma confiável nos contratos inteligentes dos usuários.

Porque os resultados são verificados via provas ZK, os resultados da Axiom são criptograficamente tão seguros quanto os resultados do Ethereum. Essa abordagem não faz suposições sobre criptoeconomia, incentivos ou teoria dos jogos. A Axiom acredita que essa abordagem fornecerá o mais alto nível possível de garantia para aplicativos de contratos inteligentes. A equipe da Axiom trabalhou em estreita colaboração com a Fundação Uniswap e obteve Subsídios da Uniswap, e construirá um oráculo sem confiança na Uniswap.

5.2 Zero Risco

Bonsai: Em 2023, RISC Zero lançou o Bonsai, um serviço de comprovação que permite que aplicativos 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, qualquer protocolo e qualquer aplicativo utilizem provas ZK. É altamente paralelizável, programável e de alto desempenho.

Bonsai permite que você integre provas de conhecimento zero diretamente em qualquer contrato inteligente, sem a necessidade de circuitos personalizados. Isso permite que ZK seja integrado diretamente em aplicativos descentralizados em qualquer cadeia EVM, com o potencial para apoiar qualquer outro ecossistema.

zkVM é a base do Bonsai e suporta ampla compatibilidade de linguagem, suportando código Rust demonstrável e código potencialmente demonstrável de conhecimento zero em qualquer linguagem compilada 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 que os desenvolvedores construam aplicativos ZK em linguagens maduras como Rust e C++. Este lançamento é uma grande inovação no desenvolvimento de software ZK: o zkVM torna possível construir aplicativos 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, o zkVM permite que os desenvolvedores construam rapidamente aplicativos ZK significativos sem exigir um background em matemática avançada ou criptografia.

Essas aplicações incluem:

  • JSON: Prove o conteúdo de uma entrada em um arquivo JSON mantendo os outros dados privados.
  • Onde está o Waldo: Prove que o Waldo está presente no arquivo 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 você pode explorar uma conta Ethereum sem revelar a vulnerabilidade.
  • Verificação da assinatura ECDSA: Prove a validade da assinatura ECDSA.

Esses 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 capaz de ser compatível com Rust é um divisor de águas 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 RISC Zero.

Além de ser mais fácil de construir, o RISC Zero também oferece desempenho. zkVM tem aceleração de GPU de CUDA e Metal, e realiza prova paralela de grandes programas através de 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 Celer Network, concentra-se em capturar dados históricos multi-cadeia. Ele dá aos contratos inteligentes a capacidade de ler seus dados históricos completos de qualquer cadeia e realizar cálculos personalizados abrangentes sem confiança. Atualmente, ele suporta principalmente Ethereum POS. Comos Tendermint e BSC.

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

  1. O hash do bloco e os status, transações e raízes de recibos associados de qualquer bloco na cadeia de origem.
  2. Valor do 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. Entradas 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 da Brevis é composta por três partes principais:

  1. rede de repetidores: Sincroniza cabeçalhos de bloco e informações on-chain de diferentes blockchains e os encaminha para a rede de validadores para gerar provas de validade. Em seguida, envia as informações verificadas e suas respectivas provas para o blockchain conectado.
  2. rede prover: 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 aplicativo integrada. Para minimizar o tempo de prova, custos e custos de verificação em cadeia, 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. Conectando contratos de validadores na blockchain: Receba dados zk-verificados e provas relacionadas geradas pela rede de validadores e, em seguida, alimente as informações verificadas de volta ao contrato dApp.

Essa 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 de dApps utilizem completamente o potencial da blockchain. Com essa arquitetura modular, a Brevis pode fornecer acesso de dados e capacidades de computação totalmente seguros, flexíveis e eficientes para contratos inteligentes on-chain em todas as cadeias suportadas. Isso proporciona um paradigma completamente novo para o desenvolvimento de dApps. A Brevis tem uma ampla variedade de casos de uso, como DeFi baseado em 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, visando aprimorar a interoperabilidade entre várias cadeias por meio do ZK Big Data Stack, que pode criar provas de estado universais em todas as blockchains principais. Ao integrar com o protocolo Langrange, as aplicações são capazes de enviar provas agregadas de estado multi-cadeia, que podem então ser verificadas de forma não interativa por contratos em outras 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 aproveita a criptografia para coordenar provas de estado entre cadeias em tempo real, incluindo aquelas submetidas 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 planeja oferecer suporte a cadeias não compatíveis com EVM no 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 tradicionais de ponte e mensagens são usados principalmente para transferir ativos ou mensagens entre um par específico de cadeias. Esses protocolos geralmente 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 blockchain mais amplo em vez de serem limitados a um único relacionamento de cadeia-a-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. Essa funcionalidade 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. Essa capacidade permite que Langrange suporte uma série de cenários de aplicativos complexos entre cadeias, como calcular a média móvel dos preços dos ativos em trocas descentralizadas (DEX) multi-cadeias, 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 relacionamentos de muitos para um (n-para-1) cadeia. Neste relacionamento entre cadeias, um aplicativo descentralizado (DApp) em uma cadeia depende da agregação de dados de estado em tempo real e históricos de múltiplas outras cadeias (n). Esta característica 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 do relacionamento tradicional de uma única cadeia ou de uma cadeia para uma, e fornece um escopo de potencial e aplicação mais amplo para aplicações de blockchain.

Langrange recebeu anteriormente investimentos da 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árias rollups e até permitir leituras síncronas entre camadas Ethereum. Em suma, é a captura de dados entre a main chain EVM e rollup. Atualmente suporta ETH mainnet, Starknet, Zksync, OP, Arbitrum e Polygon.

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 de prova de armazenamento é aproximadamente dividido em três etapas:

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

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

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

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

Passo 3: Prove dados específicos na árvore de contas

  • Neste passo, provas de inclusão podem ser geradas para dados como nonces, saldos, raízes de armazenamento ou codeHash. Cada conta Ethereum possui um triplo de armazenamento (Árvore de Patricia Merkle), que é usada para salvar os dados de armazenamento da conta. Se os dados que queremos provar estão na loja de contas, 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, uma prova de armazenamento completa é formada. Esta prova é então enviada para a cadeia, onde é verificada contra um único compromisso inicial (como um hash de bloco) ou a raiz MMR armazenada no cabeçalho. Esse processo garante a autenticidade e integridade dos dados, ao mesmo tempo que mantém a eficiência do sistema.

Herodotus já é apoiado por Geometry, Fabric Ventures, Lambda Class e Starkware.

5.6 HyperOracle

O Hyper Oracle é especificamente projetado para oráculos programáveis de conhecimento zero para manter a blockchain segura e descentralizada. 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 maneira completamente nova de interagir com a 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-knowledge (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. zkWASM é responsável por executar mapas de dados personalizados definidos por zkGraphs e gerar provas de conhecimento zero para essas operações. Os operadores dos nós zkOracle podem selecionar a quantidade de zkGraphs que desejam executar, que pode ser de um a 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 por meio 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 eficiente e segura com blockchain, combinando tecnologia avançada zk e arquitetura de nó flexível.

Em janeiro de 2023, a Hyper Oracle anunciou que recebeu US$3 milhões 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 o Pado fornece um caminho para capturar dados off-chain, com o objetivo de trazer todos os dados da Internet para contratos inteligentes. Ele substitui a função do oráculo em certa medida, garantindo privacidade e eliminando a necessidade de confiar em fontes de dados externas.

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

  • Latência: O oráculo é assíncrono, portanto, a latência ao acessar dados planos é maior 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 oracle. Em contraste, o coprocessador ZK corresponde à segurança da cadeia. Além disso, os oracles 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. A fim de reduzir as premissas de confiança, a equipe 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, enquanto prova a autenticidade dos dados do usuário obtidos de fontes de dados de 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 por meio 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 da Internet. Quando você visita um site e vê o ícone de "cadeado" e "https" no URL, isso significa que sua visita é protegida por TLS. O MPC-TLS imita a funcionalidade de um cliente TLS, permitindo que o autenticador do Pado colabore com o cliente TLS para executar as seguintes tarefas: \
    É importante notar que essas operações relacionadas ao TLS são realizadas entre o cliente e o verificador por meio 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 por meio de um canal TLS, incluindo a geração de solicitações criptografadas e a descriptografia das respostas do servidor.
  2. EXC: A 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 reivindicaçã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 reivindicações, baixo custo computacional, sem necessidade de configuração confiável e uso mínimo de memória.

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

6. Perspectivas Futuras

O coprocessador ZK permite que o blockchain capture mais dados e obtenha recursos de computação off-chain a um custo mais baixo sem prejudicar a descentralização. Ele também desacopla o fluxo de trabalho de contratos inteligentes e aumenta a escalabilidade e a eficiência.

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

No futuro desenvolvimento da blockchain, ela tem o potencial de quebrar as barreiras de dados tradicionais da web2. A informação não será mais ilhas isoladas e alcançará uma maior interoperabilidade. Os co-processadores ZK se tornarão middleware poderosos para garantir segurança, privacidade e condições livres de confiança para reduzir custos e aumentar a eficiência para captura, cálculo e verificação de contratos inteligentes, libertar a rede de dados, abrir mais possibilidades e se tornar a infraestrutura para aplicativos de verdadeira intenção e agentes de IA on-chain. Apenas se você 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. Essa 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 colocamos juntos 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/what-is-a-zk-coprocessor/

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 autorais pertencem ao autor original [Mike]. Se houver objeções a esta reimpressão, entre em contato com oGate Learnequipe, e eles lidarão com isso prontamente.
  2. Isenção de Responsabilidade: As opiniões expressas neste artigo são exclusivamente do autor e não constituem nenhum 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, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
即刻開始交易
註冊並交易即可獲得
$100
和價值
$5500
理財體驗金獎勵!