Interoperabilidade Blockchain (Parte 2): Prova de Armazenamento - Potenciando Novos Casos de Uso Cross-Chain

Avançado12/17/2023, 5:02:55 PM
Este artigo explora a prova de armazenamento e sua aplicação na verificação do histórico de transações em blockchain, e utiliza o conceito de verificação de confiança mínima para verificar transações históricas e atividade do usuário, desbloqueando assim um grande número de casos de uso cross-chain. O artigo também aponta que este método baseado em prova de conhecimento zero pode resolver eficazmente os problemas de armazenamento de dados encontrados por alguns provedores de serviços blockchain L2 e nós centralizados.

No nosso post anterior, que seria acionável, discutimos o papel da prova de consenso deste método emergente de minimização de confiança na facilitação da ponte entre blockchains.

Neste artigo, exploraremos a prova de armazenamento, que leva o conceito de verificação de minimização de confiança e o estende a transações em blocos históricos mais antigos. A capacidade de verificar transações passadas e atividade do usuário dessa maneira desbloqueia um grande número de casos de uso entre cadeias.

Na nossa publicação anterior, introduzimos a Prova de Consenso - uma abordagem de minimização de confiança para a ponte de fundos entre blockchains. Como os utilizadores da ponte geralmente querem ver transações acontecerem imediatamente no momento mais recente, a prova de consenso é muito útil porque verificam constantemente o estado mais recente da blockchain à medida que opera.

Este conceito de ponte de minimização de confiança também pode ser aplicado noutra direção, que é voltar ao passado e usar provas de conhecimento zero para verificar transações e dados em blocos antigos. Estas "provas de armazenamento histórico" suportam uma ampla gama de casos de uso entre cadeias, e neste artigo vamos abordar estes casos de uso, como funcionam e os atores construídos neste espaço.

Recuperar dados históricos

Existem muitos usos para dados históricos de blockchain. Eles podem ser usados para comprovar a propriedade de ativos, comportamento do usuário e histórico de transações, e então inserir esses dados em contratos inteligentes ou aplicações on-chain.Neste momento, mais de 18 milhões de blocos foram escritos no Ethereum.Os contratos inteligentes só podem aceder aos 256 blocos mais recentes (ou dados nos últimos 30 minutos), por isso, "dados históricos" refere-se a qualquer coisa que não os últimos 256 blocos.

Hoje, para aceder a dados históricos, os protocolos frequentemente consultamnó de arquivofornecedores, ou seja, terceiros como Infura, Alchemy, ou outros indexadores. Isso significa confiar e depender deles e de seus dados.

Dados históricos

Estes dados podem, no entanto, ser relaxados de forma mais minimizada em termos de confiança, através do uso de provas de armazenamento.

Dados históricos

No entanto, estes dados podem ser recuperados de uma forma mais minimizada em termos de confiança utilizando provas de armazenamento.

A prova de armazenamento é uma prova de conhecimento zero que permite a verificação de dados históricos armazenados na blockchain. Mais especificamente, a prova de armazenamento pode ser usada para provar a existência de um estado específico num bloco particular no passado.Esta abordagem não requer confiança em terceiros ou oráculos; em vez disso, a sua confiança é incorporada na prova de armazenamento.

Como podem as provas de armazenamento ajudar a verificar que alguns dados existem em blocos históricos mais antigos? Isto requer verificar duas coisas:

  • O primeiro passo é verificar se um bloco específico faz parte da história regulamentar da blockchain, ou seja, o bloco é uma parte válida da história da cadeia de origem
  • O segundo passo é verificar se dados específicos fazem parte do bloco, ou seja, se uma peça de informação (como uma transação específica) faz parte do bloco (isso pode ser comprovado por meio da prova de inclusão de Merkle)

Depois de receber e verificar a prova, o destinatário (como um contrato inteligente na cadeia de destino) acredita na validade dos dados e pode executar o conjunto correspondente de instruções. O conceito pode ser estendido ainda mais: cálculos adicionais off-chain podem ser executados com dados validados, e então outra prova de conhecimento zero é gerada para provar os dados e o cálculo.

Em termos simples, a prova de armazenamento suporta a recuperação de dados na cadeia histórica de uma forma que minimiza a confiança. Isto é importante porque, como delineámos no nosso primeiro post, estamos a ver a web3 tornar-se um espaço mais multi-cadeias e multi-camadas ao longo dos próximos anos. A emergência de múltiplos protocolos de camada 1, rollups e cadeias de aplicações significa que a atividade on-chain dos utilizadores pode estar dispersa por várias cadeias. Isto enfatiza ainda mais a necessidade de soluções de interoperabilidade que minimizam a confiança e que mantêm a composição dos ativos dos utilizadores, identidades e histórico de transações em vários domínios. Este é um problema que a prova de armazenamento pode ajudar a resolver.

Quais são os casos de uso para prova de armazenamento?

A prova de armazenamento permite que os contratos inteligentes verifiquem qualquer transação ou dados históricos como um requisito. Isso torna o design de aplicativos cross-chain mais flexível.

Primeiro, armazenar provas pode provar quaisquer dados históricos na blockchain de origem, como

  1. Saldo da conta e propriedade de tokens
  2. Atividade de negociação do usuário ou estado estático
  3. O preço histórico de uma transação de ativos ao longo de um período de tempo especificado
  4. Saldo de ativos em tempo real da pool de liquidez entre cadeias

A prova pode então ser enviada para a cadeia de destino para desbloquear o conjunto de casos de uso de interoperabilidade entre cadeias:

  1. Permite aos utilizadores votar em propostas de governação em acordos de camada 2 de custo inferior
  2. Permitir que os detentores de NFT recebam novas emissões de NFT ou benefícios da comunidade numa nova cadeia
  3. Recompensar os utilizadores com base no seu histórico e interações com dApps específicas (por exemplo, através de airdrops)
  4. Empréstimos que oferecem taxas de juros personalizadas com base no histórico geral de transações e crédito do usuário
  5. Desencadear a recuperação de conta para contas inativas
  6. Calculando o histórico de swaps futuros TWAP
  7. Calcular preços de troca AMM mais precisos com base em pools de liquidez multi-cadeia

Essencialmente, as provas de armazenamento permitem que os aplicativos consultem e transfiram a atividade e o histórico dos usuários on-chain em várias cadeias para a entrada em um contrato inteligente ou aplicativo em outra cadeia.

Casos de uso de prova de armazenamento

Vamos dar um exemplo detalhado para entender como funciona a prova de armazenamento.

Como Funciona a Prova de Armazenamento: Exemplos Detalhados

Suponha “X,” que é um protocolo DeFi com tokens na Ethereum. Uma proposta de governança está prestes a ser apresentada, e eles querem promover a votação on-chain em cadeias de destino de custo inferior. Os utilizadores só podem votar se detiverem tokens X na Ethereum num ponto específico no tempo (chamamos-lhe um “instantâneo”), como no bloco n.º 17.000.000

Como é feita atualmente a votação na cadeia?

A abordagem atual é consultar o nó de arquivo para obter a lista completa de detentores de tokens elegíveis no bloco nº17,000,000. O administrador do DAO armazena então essa lista em um contrato inteligente na cadeia alvo para determinar quem pode votar. Existem algumas limitações para esta abordagem:

  1. A lista de eleitores pode ser muito longa e cada instantâneo muda, o que torna caro armazenar e atualizar cada proposta de voto na cadeia;
  2. Existe uma confiança implícita no fornecedor do nó de arquivo e nos dados que ele fornece;
  3. Os membros que gerem o DAO devem ser confiáveis para não mexer na lista de votantes

Como é que a prova de armazenamento resolve este problema?

Como explicamos no artigo 2, cálculos caros podem ser transferidos para provas de conhecimento zero off-chain.

O atestante zk irá gerar uma prova concisa e enviá-la à cadeia de destino para verificação. Para os exemplos de elegibilidade de votantes do DAO acima, os seguintes são:

  1. O atestante gera uma prova de conhecimento zero de que o bloco n.º 17,000,000 faz parte da história do Ethereum (como no primeiro passo* acima).
  2. Depois de comprovar a validade do bloco, podemos usar Merkle para incluir a prova de que o usuário possuía tokens DAO quando o bloco foi finalizado (como no passo 2 acima*)

Verificar dados históricos para permitir votação entre cadeias

A prova é então enviada para um contrato inteligente na cadeia de destino para verificação. Se a verificação for bem-sucedida, então o contrato inteligente no protocolo de camada 2 permite aos usuários votar.

Esta abordagem resolveu algumas questões. Não requer:

Confie no fornecedor de nós de arquivo;

  1. deixe o acordo manter listas caras de eleitores on-chain;
  2. Para os utilizadores transferirem ativos para a cadeia de propósito

Que configurações são necessárias para a prova de armazenamento?

Até agora, abstraímos algumas das complexidades das provas de armazenamento. No entanto, usá-las também requer uma configuração inicial cuidadosa pelo fornecedor de serviços para garantir que possam ser usadas sem confiar no fornecedor. Duas coisas são geradas e armazenadas on-chain durante este processo:

  1. Prova de conhecimento zero de cadeia completa ("promessa zk"): O provedor de serviços agrupa todos os blocos históricos na cadeia de origem em "blocos" de tamanho fixo contínuos (usando árvores de Merkle) e gera provas de conhecimento zero para cada bloco, que são usadas para verificar os agrupamentos. Essas provas são então combinadas de forma recursiva até que uma prova de conhecimento zero final seja obtida, uma "promessa zk" para toda a cadeia. Isso prova que o provedor indexou corretamente toda a história da cadeia.

A "promessa zk" explica toda a história do Ethereum

  • **Cadeia de Montanhas Merkle: ** O fornecedor também armazena as raízes de Merkle Keccak dos hashes de blocos (blocos) da cadeia de origem agrupados em uma estrutura de dados on-chain chamada Cadeia de Montanhas Merkle (MMR). Esta estrutura de dados é usada porque é fácil de consultar e atualizar, e permite aos fornecedores provar efetivamente que um determinado bloco existe na história da cadeia. MMR é criado usando um hash Keccak256, hash Poseidon, ou ambos. Os hashes Poseidon são mais amigáveis para conhecimento zero e suportam a computação de dados históricos. A validade dos dados e da computação pode ser posteriormente comprovada através de conhecimento zero.

Ilustração da Cordilheira Merkel (MMR)

À medida que novos blocos são adicionados à cadeia de origem, os prestadores de serviços atualizam regularmente (por exemplo, a cada hora ou diariamente) o "compromisso zk" e MMR para acompanhar o ritmo da cadeia. Isso é feito para que o bloco anterior esteja sempre ligado a um dos 256 blocos atualmente acessíveis a partir do EVM. Isso garante que os dados históricos estejam ligados a um dos blocos atualmente disponíveis no Ethereum.

Na imagem abaixo, detalhamos como concluir a configuração:

Em resumo, o seguinte mostra como usar a prova de armazenamento assim que a configuração estiver completa no contexto do exemplo de votação do DAO que cobrimos anteriormente:

  1. Os prestadores de serviços criam e armazenam “promessas zk” para toda a cadeia (ou seja, histórico do Ethereum) e MMR na cadeia de destino
  2. O fornecedor permite que as aplicações consultem dados históricos on-chain ou off-chain através de uma API
  3. Um dApp de votação na cadeia de objetivos envia uma consulta ao contrato inteligente do provedor para descobrir se o usuário possui tokens DAO no bloco #17,000,000 no Ethereum

O fornecedor irá verificar duas coisas:

  1. O bloco consultado faz parte da história regulatória do Ethereum (primeiro passo acima); o provedor então gera uma prova de conhecimento zero do conteúdo do bloco via Merkle Mountain Range
  2. O usuário possui tokens DAO no bloco nº 17,000,000 (etapa 2 acima); o provedor então gera outra prova de conhecimento zero de que o usuário possui tokens DAO dentro do bloco
  3. O provedor agrega a prova gerada acima em uma prova de conhecimento zero
  4. A prova ZK agregada é então enviada de volta ao contrato inteligente da dApp de votação na cadeia de destino para verificar a prova ZK e permitir que o usuário vote assim que a verificação for bem-sucedida.

Construção de equipa neste campo

Alguns participantes estão a construir contratos inteligentes que permitem que os contratos inteligentes acedam a dados em cadeias históricas de forma a minimizar a confiança.

Atualmente, Axiomestá a correr na Ethereum e está empenhado em fornecer contratos inteligentes na Ethereum e aceder a dados históricos da Ethereum através de provas de armazenamento zk-based. A equipa também está a melhorar as capacidades computacionais off-chain com base em dados históricos e a usar conhecimento zero para provar a precisão desses dados e cálculos.

Protocolo de Relíquiafornece uma abordagem técnica semelhante à Axiom, e o protocolo é executado no Ethereum e na era zkSync. O Relic usa provas de inclusão de Merkle para provar a inclusão de dados (em oposição ao método de provar a inclusão de Merkle em conhecimento zero da Axiom).

Herodotusestá a trabalhar para fornecer dados históricos sobre Ethereum para protocolos de camada 2. A implementação de teste está agora disponível no Starknet e no zkSync Era. Com financiamento da Fundação OP, achamos que sabemos para onde a equipa de Heródoto se dirige a seguir.

Lagrange Labs Labsintroduziu prova completamente atualizável através da sua recente inovação ZK MapReduce (ZKMR). Usa uma nova promessa de vetor chamadaRecproofspara estender o conceito de atualização para computação de dados.

Equipas a trabalhar na certificação de armazenamento

epílogo

Neste artigo, descrevemos como a prova de armazenamento pode apoiar a verificação de dados na cadeia histórica sem confiar em terceiros. Isso os torna uma ferramenta valiosa para a composição on-chain e interoperabilidade entre cadeias.

À medida que o Valor Total Bloqueado (TVL) continua a migrar do Ethereum para o ecossistema da Camada 2, antecipamos o surgimento de mais aplicações expressivas que utilizam dados históricos on-chain através de provas de armazenamento.

Embora a tecnologia zero-k esteja a tornar-se mais rápida e mais barata, gerar continuamente provas de armazenamento para acompanhar os custos associados a estar on-chain ainda é um desafio. A rentabilidade de tais serviços dependerá do volume de consultas geradas pela aplicação de consulta.

Apesar dos desafios, a importância da prova de consenso e prova de armazenamento suportada pela tecnologia de conhecimento zero não pode ser subestimada. Estamos ansiosos para ver como essas tecnologias serão usadas para construir um futuro multi-cadeia com confiança mínima.

Aviso legal:

  1. Este artigo é reproduzido a partir de [espelho]. Todos os direitos de autor pertencem ao autor original [Jacob, Hitesh, Ji Hao]. Se houver objeções a esta reimpressão, entre em contato com a equipe Gate Learn(gatelearn@gate.io), e eles vão lidar com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões expressas neste artigo são exclusivamente as 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, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Interoperabilidade Blockchain (Parte 2): Prova de Armazenamento - Potenciando Novos Casos de Uso Cross-Chain

Avançado12/17/2023, 5:02:55 PM
Este artigo explora a prova de armazenamento e sua aplicação na verificação do histórico de transações em blockchain, e utiliza o conceito de verificação de confiança mínima para verificar transações históricas e atividade do usuário, desbloqueando assim um grande número de casos de uso cross-chain. O artigo também aponta que este método baseado em prova de conhecimento zero pode resolver eficazmente os problemas de armazenamento de dados encontrados por alguns provedores de serviços blockchain L2 e nós centralizados.

No nosso post anterior, que seria acionável, discutimos o papel da prova de consenso deste método emergente de minimização de confiança na facilitação da ponte entre blockchains.

Neste artigo, exploraremos a prova de armazenamento, que leva o conceito de verificação de minimização de confiança e o estende a transações em blocos históricos mais antigos. A capacidade de verificar transações passadas e atividade do usuário dessa maneira desbloqueia um grande número de casos de uso entre cadeias.

Na nossa publicação anterior, introduzimos a Prova de Consenso - uma abordagem de minimização de confiança para a ponte de fundos entre blockchains. Como os utilizadores da ponte geralmente querem ver transações acontecerem imediatamente no momento mais recente, a prova de consenso é muito útil porque verificam constantemente o estado mais recente da blockchain à medida que opera.

Este conceito de ponte de minimização de confiança também pode ser aplicado noutra direção, que é voltar ao passado e usar provas de conhecimento zero para verificar transações e dados em blocos antigos. Estas "provas de armazenamento histórico" suportam uma ampla gama de casos de uso entre cadeias, e neste artigo vamos abordar estes casos de uso, como funcionam e os atores construídos neste espaço.

Recuperar dados históricos

Existem muitos usos para dados históricos de blockchain. Eles podem ser usados para comprovar a propriedade de ativos, comportamento do usuário e histórico de transações, e então inserir esses dados em contratos inteligentes ou aplicações on-chain.Neste momento, mais de 18 milhões de blocos foram escritos no Ethereum.Os contratos inteligentes só podem aceder aos 256 blocos mais recentes (ou dados nos últimos 30 minutos), por isso, "dados históricos" refere-se a qualquer coisa que não os últimos 256 blocos.

Hoje, para aceder a dados históricos, os protocolos frequentemente consultamnó de arquivofornecedores, ou seja, terceiros como Infura, Alchemy, ou outros indexadores. Isso significa confiar e depender deles e de seus dados.

Dados históricos

Estes dados podem, no entanto, ser relaxados de forma mais minimizada em termos de confiança, através do uso de provas de armazenamento.

Dados históricos

No entanto, estes dados podem ser recuperados de uma forma mais minimizada em termos de confiança utilizando provas de armazenamento.

A prova de armazenamento é uma prova de conhecimento zero que permite a verificação de dados históricos armazenados na blockchain. Mais especificamente, a prova de armazenamento pode ser usada para provar a existência de um estado específico num bloco particular no passado.Esta abordagem não requer confiança em terceiros ou oráculos; em vez disso, a sua confiança é incorporada na prova de armazenamento.

Como podem as provas de armazenamento ajudar a verificar que alguns dados existem em blocos históricos mais antigos? Isto requer verificar duas coisas:

  • O primeiro passo é verificar se um bloco específico faz parte da história regulamentar da blockchain, ou seja, o bloco é uma parte válida da história da cadeia de origem
  • O segundo passo é verificar se dados específicos fazem parte do bloco, ou seja, se uma peça de informação (como uma transação específica) faz parte do bloco (isso pode ser comprovado por meio da prova de inclusão de Merkle)

Depois de receber e verificar a prova, o destinatário (como um contrato inteligente na cadeia de destino) acredita na validade dos dados e pode executar o conjunto correspondente de instruções. O conceito pode ser estendido ainda mais: cálculos adicionais off-chain podem ser executados com dados validados, e então outra prova de conhecimento zero é gerada para provar os dados e o cálculo.

Em termos simples, a prova de armazenamento suporta a recuperação de dados na cadeia histórica de uma forma que minimiza a confiança. Isto é importante porque, como delineámos no nosso primeiro post, estamos a ver a web3 tornar-se um espaço mais multi-cadeias e multi-camadas ao longo dos próximos anos. A emergência de múltiplos protocolos de camada 1, rollups e cadeias de aplicações significa que a atividade on-chain dos utilizadores pode estar dispersa por várias cadeias. Isto enfatiza ainda mais a necessidade de soluções de interoperabilidade que minimizam a confiança e que mantêm a composição dos ativos dos utilizadores, identidades e histórico de transações em vários domínios. Este é um problema que a prova de armazenamento pode ajudar a resolver.

Quais são os casos de uso para prova de armazenamento?

A prova de armazenamento permite que os contratos inteligentes verifiquem qualquer transação ou dados históricos como um requisito. Isso torna o design de aplicativos cross-chain mais flexível.

Primeiro, armazenar provas pode provar quaisquer dados históricos na blockchain de origem, como

  1. Saldo da conta e propriedade de tokens
  2. Atividade de negociação do usuário ou estado estático
  3. O preço histórico de uma transação de ativos ao longo de um período de tempo especificado
  4. Saldo de ativos em tempo real da pool de liquidez entre cadeias

A prova pode então ser enviada para a cadeia de destino para desbloquear o conjunto de casos de uso de interoperabilidade entre cadeias:

  1. Permite aos utilizadores votar em propostas de governação em acordos de camada 2 de custo inferior
  2. Permitir que os detentores de NFT recebam novas emissões de NFT ou benefícios da comunidade numa nova cadeia
  3. Recompensar os utilizadores com base no seu histórico e interações com dApps específicas (por exemplo, através de airdrops)
  4. Empréstimos que oferecem taxas de juros personalizadas com base no histórico geral de transações e crédito do usuário
  5. Desencadear a recuperação de conta para contas inativas
  6. Calculando o histórico de swaps futuros TWAP
  7. Calcular preços de troca AMM mais precisos com base em pools de liquidez multi-cadeia

Essencialmente, as provas de armazenamento permitem que os aplicativos consultem e transfiram a atividade e o histórico dos usuários on-chain em várias cadeias para a entrada em um contrato inteligente ou aplicativo em outra cadeia.

Casos de uso de prova de armazenamento

Vamos dar um exemplo detalhado para entender como funciona a prova de armazenamento.

Como Funciona a Prova de Armazenamento: Exemplos Detalhados

Suponha “X,” que é um protocolo DeFi com tokens na Ethereum. Uma proposta de governança está prestes a ser apresentada, e eles querem promover a votação on-chain em cadeias de destino de custo inferior. Os utilizadores só podem votar se detiverem tokens X na Ethereum num ponto específico no tempo (chamamos-lhe um “instantâneo”), como no bloco n.º 17.000.000

Como é feita atualmente a votação na cadeia?

A abordagem atual é consultar o nó de arquivo para obter a lista completa de detentores de tokens elegíveis no bloco nº17,000,000. O administrador do DAO armazena então essa lista em um contrato inteligente na cadeia alvo para determinar quem pode votar. Existem algumas limitações para esta abordagem:

  1. A lista de eleitores pode ser muito longa e cada instantâneo muda, o que torna caro armazenar e atualizar cada proposta de voto na cadeia;
  2. Existe uma confiança implícita no fornecedor do nó de arquivo e nos dados que ele fornece;
  3. Os membros que gerem o DAO devem ser confiáveis para não mexer na lista de votantes

Como é que a prova de armazenamento resolve este problema?

Como explicamos no artigo 2, cálculos caros podem ser transferidos para provas de conhecimento zero off-chain.

O atestante zk irá gerar uma prova concisa e enviá-la à cadeia de destino para verificação. Para os exemplos de elegibilidade de votantes do DAO acima, os seguintes são:

  1. O atestante gera uma prova de conhecimento zero de que o bloco n.º 17,000,000 faz parte da história do Ethereum (como no primeiro passo* acima).
  2. Depois de comprovar a validade do bloco, podemos usar Merkle para incluir a prova de que o usuário possuía tokens DAO quando o bloco foi finalizado (como no passo 2 acima*)

Verificar dados históricos para permitir votação entre cadeias

A prova é então enviada para um contrato inteligente na cadeia de destino para verificação. Se a verificação for bem-sucedida, então o contrato inteligente no protocolo de camada 2 permite aos usuários votar.

Esta abordagem resolveu algumas questões. Não requer:

Confie no fornecedor de nós de arquivo;

  1. deixe o acordo manter listas caras de eleitores on-chain;
  2. Para os utilizadores transferirem ativos para a cadeia de propósito

Que configurações são necessárias para a prova de armazenamento?

Até agora, abstraímos algumas das complexidades das provas de armazenamento. No entanto, usá-las também requer uma configuração inicial cuidadosa pelo fornecedor de serviços para garantir que possam ser usadas sem confiar no fornecedor. Duas coisas são geradas e armazenadas on-chain durante este processo:

  1. Prova de conhecimento zero de cadeia completa ("promessa zk"): O provedor de serviços agrupa todos os blocos históricos na cadeia de origem em "blocos" de tamanho fixo contínuos (usando árvores de Merkle) e gera provas de conhecimento zero para cada bloco, que são usadas para verificar os agrupamentos. Essas provas são então combinadas de forma recursiva até que uma prova de conhecimento zero final seja obtida, uma "promessa zk" para toda a cadeia. Isso prova que o provedor indexou corretamente toda a história da cadeia.

A "promessa zk" explica toda a história do Ethereum

  • **Cadeia de Montanhas Merkle: ** O fornecedor também armazena as raízes de Merkle Keccak dos hashes de blocos (blocos) da cadeia de origem agrupados em uma estrutura de dados on-chain chamada Cadeia de Montanhas Merkle (MMR). Esta estrutura de dados é usada porque é fácil de consultar e atualizar, e permite aos fornecedores provar efetivamente que um determinado bloco existe na história da cadeia. MMR é criado usando um hash Keccak256, hash Poseidon, ou ambos. Os hashes Poseidon são mais amigáveis para conhecimento zero e suportam a computação de dados históricos. A validade dos dados e da computação pode ser posteriormente comprovada através de conhecimento zero.

Ilustração da Cordilheira Merkel (MMR)

À medida que novos blocos são adicionados à cadeia de origem, os prestadores de serviços atualizam regularmente (por exemplo, a cada hora ou diariamente) o "compromisso zk" e MMR para acompanhar o ritmo da cadeia. Isso é feito para que o bloco anterior esteja sempre ligado a um dos 256 blocos atualmente acessíveis a partir do EVM. Isso garante que os dados históricos estejam ligados a um dos blocos atualmente disponíveis no Ethereum.

Na imagem abaixo, detalhamos como concluir a configuração:

Em resumo, o seguinte mostra como usar a prova de armazenamento assim que a configuração estiver completa no contexto do exemplo de votação do DAO que cobrimos anteriormente:

  1. Os prestadores de serviços criam e armazenam “promessas zk” para toda a cadeia (ou seja, histórico do Ethereum) e MMR na cadeia de destino
  2. O fornecedor permite que as aplicações consultem dados históricos on-chain ou off-chain através de uma API
  3. Um dApp de votação na cadeia de objetivos envia uma consulta ao contrato inteligente do provedor para descobrir se o usuário possui tokens DAO no bloco #17,000,000 no Ethereum

O fornecedor irá verificar duas coisas:

  1. O bloco consultado faz parte da história regulatória do Ethereum (primeiro passo acima); o provedor então gera uma prova de conhecimento zero do conteúdo do bloco via Merkle Mountain Range
  2. O usuário possui tokens DAO no bloco nº 17,000,000 (etapa 2 acima); o provedor então gera outra prova de conhecimento zero de que o usuário possui tokens DAO dentro do bloco
  3. O provedor agrega a prova gerada acima em uma prova de conhecimento zero
  4. A prova ZK agregada é então enviada de volta ao contrato inteligente da dApp de votação na cadeia de destino para verificar a prova ZK e permitir que o usuário vote assim que a verificação for bem-sucedida.

Construção de equipa neste campo

Alguns participantes estão a construir contratos inteligentes que permitem que os contratos inteligentes acedam a dados em cadeias históricas de forma a minimizar a confiança.

Atualmente, Axiomestá a correr na Ethereum e está empenhado em fornecer contratos inteligentes na Ethereum e aceder a dados históricos da Ethereum através de provas de armazenamento zk-based. A equipa também está a melhorar as capacidades computacionais off-chain com base em dados históricos e a usar conhecimento zero para provar a precisão desses dados e cálculos.

Protocolo de Relíquiafornece uma abordagem técnica semelhante à Axiom, e o protocolo é executado no Ethereum e na era zkSync. O Relic usa provas de inclusão de Merkle para provar a inclusão de dados (em oposição ao método de provar a inclusão de Merkle em conhecimento zero da Axiom).

Herodotusestá a trabalhar para fornecer dados históricos sobre Ethereum para protocolos de camada 2. A implementação de teste está agora disponível no Starknet e no zkSync Era. Com financiamento da Fundação OP, achamos que sabemos para onde a equipa de Heródoto se dirige a seguir.

Lagrange Labs Labsintroduziu prova completamente atualizável através da sua recente inovação ZK MapReduce (ZKMR). Usa uma nova promessa de vetor chamadaRecproofspara estender o conceito de atualização para computação de dados.

Equipas a trabalhar na certificação de armazenamento

epílogo

Neste artigo, descrevemos como a prova de armazenamento pode apoiar a verificação de dados na cadeia histórica sem confiar em terceiros. Isso os torna uma ferramenta valiosa para a composição on-chain e interoperabilidade entre cadeias.

À medida que o Valor Total Bloqueado (TVL) continua a migrar do Ethereum para o ecossistema da Camada 2, antecipamos o surgimento de mais aplicações expressivas que utilizam dados históricos on-chain através de provas de armazenamento.

Embora a tecnologia zero-k esteja a tornar-se mais rápida e mais barata, gerar continuamente provas de armazenamento para acompanhar os custos associados a estar on-chain ainda é um desafio. A rentabilidade de tais serviços dependerá do volume de consultas geradas pela aplicação de consulta.

Apesar dos desafios, a importância da prova de consenso e prova de armazenamento suportada pela tecnologia de conhecimento zero não pode ser subestimada. Estamos ansiosos para ver como essas tecnologias serão usadas para construir um futuro multi-cadeia com confiança mínima.

Aviso legal:

  1. Este artigo é reproduzido a partir de [espelho]. Todos os direitos de autor pertencem ao autor original [Jacob, Hitesh, Ji Hao]. Se houver objeções a esta reimpressão, entre em contato com a equipe Gate Learn(gatelearn@gate.io), e eles vão lidar com isso prontamente.
  2. Aviso de Responsabilidade: As opiniões expressas neste artigo são exclusivamente as 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, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!