Blockchain Interoperabilidade (Parte 2): Prova de Armazenamento — Potencializando 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 da blockchain, e utiliza o conceito de verificação de menor confiança para verificar transações históricas e atividade do usuário, desbloqueando assim um grande número de casos de uso entre blockchains. O artigo também aponta que esse método baseado em prova de conhecimento zero pode resolver efetivamente os problemas de armazenamento de dados encontrados por alguns provedores de serviços de blockchain L2 e nós centralizados.

Em nossa postagem 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 para 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.

Em nosso postagem anteriorIntroduzimos o Proof of Consensus - uma abordagem de minimização de confiança para a ponte de fundos entre blockchains. Como os usuários da ponte geralmente desejam ver as transações acontecerem imediatamente no momento mais recente, a prova de consenso é muito útil porque eles verificam constantemente o estado mais recente da blockchain conforme ela opera.

Este conceito de minimização de confiança de ponte pode também 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 gama diversificada de casos de uso entre cadeias, e neste artigo iremos abordar esses 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 provar a propriedade de ativos, o comportamento do usuário e o histórico de transações e, em seguida, inserir esses dados em contratos inteligentes ou aplicativos on-chain.No momento da escrita, mais de 18 milhões de blocos foram escritos no Ethereum.Contratos inteligentes só podem acessar os 256 blocos mais recentes (ou dados dentro dos últimos 30 minutos), então "dados históricos" se refere a qualquer coisa que não os últimos 256 blocos.

Hoje, para acessar dados históricos, os protocolos frequentemente consultam nó de arquivoprovedores, ou seja, terceiros como Infura, Alchemy ou outros indexadores. Isso significa confiar e depender deles e de seus dados.

Dados históricos

Esses dados, no entanto, podem ser relaxados de maneira mais confiável, por meio do uso de provas de armazenamento.

Dados históricos

No entanto, esses dados podem ser recuperados de maneira mais confiável, usando 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 em um bloco específico no passado.Esta abordagem não requer confiança em terceiros ou oráculos; em vez disso, sua confiança é incorporada à prova de armazenamento.

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

  • O primeiro passo é verificar se um bloco específico faz parte do histórico 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 informação (como uma transação específica) faz parte do bloco (isso pode ser comprovado pelo Merkle incluindo prova)

Após 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.

Simplesmente, a prova de armazenamento suporta a recuperação de dados na cadeia histórica de uma maneira que minimiza a confiança. Isso é importante porque, como destacamos em nosso primeiro post, estamos vendo a web3 se tornar um espaço mais multi-cadeia e multinível ao longo dos próximos anos. O surgimento de múltiplos protocolos de camada 1, rollups e cadeias de aplicativos significa que a atividade on-chain dos usuários pode estar espalhada por várias cadeias. Isso enfatiza ainda mais a necessidade de soluções de interoperabilidade que minimizam a confiança e mantêm a componibilidade dos ativos dos usuários, 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 contratos inteligentes verifiquem quaisquer transações ou dados históricos como um pré-requisito. Isso torna o design de aplicativos entre cadeias mais flexível.

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

  1. Saldo da conta e propriedade do token
  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 piscina de liquidez entre cadeias

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

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

Essencialmente, as provas de armazenamento permitem que os aplicativos consultem e portem a atividade e o histórico dos usuários em cadeias múltiplas para 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 o Proof of Storage funciona: Exemplos Detalhados

Suponha “X,” que é um protocolo DeFi com tokens no 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 mais baixo. Os usuários só podem votar se possuírem tokens X no Ethereum em um ponto específico no tempo (chamamos de “snapshot”), como o bloco #17,000,000

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

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

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

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 atestador zk irá gerar uma prova concisa e enviá-la para a cadeia de destino para verificação. Para os exemplos de elegibilidade de eleitores do DAO acima, os seguintes são:

  1. O atestante gera uma prova de conhecimento zero de que o bloco #17,000,000 faz parte da história do Ethereum (como no primeiro passo* acima).
  2. Depois de provar a validade do bloco, podemos usar Merkle para incluir a prova de que o usuário detinha 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, o contrato inteligente no protocolo de camada 2 permite que os usuários votem.

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

Confie no provedor do nó de arquivo;

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

Quais 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 provedor de serviços para garantir que elas possam ser usadas sem confiar no provedor. Duas coisas são geradas e armazenadas on-chain durante esse 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 final de conhecimento zero seja obtida, um "compromisso 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 provedor também armazena as raízes Merkle Keccak dos hashes de bloco (blocos) da cadeia de origem agrupados juntos 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 que os provedores provem 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 a computação podem ser posteriormente comprovadas através de conhecimento zero.

Ilustração da Cordilheira Merkel (MMR)

À medida que novos blocos são adicionados à cadeia de origem, os provedores de serviços atualizam regularmente (como por hora ou diariamente) o "compromisso zk" e MMR para acompanhar o ritmo da cadeia. Isso é feito para garantir que o bloco anterior esteja sempre vinculado a um dos 256 blocos atualmente acessíveis no EVM. Isso garante que os dados históricos estejam vinculados 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 uma vez que a configuração esteja completa no contexto do exemplo de votação da DAO que cobrimos anteriormente:

  1. Os provedores de serviços criam e armazenam “promessas zk” para toda a cadeia (ou seja, história do Ethereum) e MMR na cadeia de destino
  2. O provedor permite que aplicativos consultem dados históricos on-chain ou off-chain por meio 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 nº 17.000.000 na Ethereum

O provedor verificará duas coisas:

  1. O bloco consultado faz parte da história regulatória do Ethereum (primeiro passo acima); o provedor então gera prova de conhecimento zero do conteúdo do bloco via Merkle Mountain Range
  2. O usuário possui tokens DAO no bloco #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 dApp de votação na cadeia de destino para verificar a prova ZK e permitir que o usuário vote uma vez que a verificação for bem-sucedida.

Construção de equipe neste campo

Alguns participantes estão construindo contratos inteligentes que permitem que os contratos inteligentes acessem dados em cadeias históricas de uma maneira que minimize a confiança.

Atualmente, Axiomaestá sendo executado na Ethereum e está comprometido em fornecer contratos inteligentes na Ethereum e acessar dados históricos da Ethereum através de provas de armazenamento baseadas em zk. A equipe também está aprimorando as capacidades computacionais off-chain com base em dados históricos e utilizando conhecimento zero para provar a precisão desses dados e cálculos.

Protocolo Relicfornece uma abordagem técnica similar à Axiom, e o protocolo é executado no Ethereum e zkSync Era. Relic usa provas de inclusão de Merkle para provar a inclusão de dados (ao contrário do método da Axiom de provar a inclusão de Merkle em conhecimento zero).

Herodotusestá trabalhando para fornecer dados históricos sobre o Ethereum para protocolos de camada 2. A implementação de teste está agora disponível no Starknet e zkSync Era. Com financiamento da OP Foundation, pensamos saber para onde a equipe de Heródoto está indo a seguir.

Lagrange Labs Labsintroduziu prova totalmente atualizável através de sua recente inovação ZK MapReduce (ZKMR). Ele usa uma nova promessa de vetor chamada Recproofspara estender o conceito de atualização para computação de dados.

Equipes trabalhando 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 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 se tornando mais rápida e mais barata, gerar continuamente provas de armazenamento para acompanhar os custos associados a estar on-chain ainda é um desafio. A lucratividade desses 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 autorais 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 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 do Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

Blockchain Interoperabilidade (Parte 2): Prova de Armazenamento — Potencializando 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 da blockchain, e utiliza o conceito de verificação de menor confiança para verificar transações históricas e atividade do usuário, desbloqueando assim um grande número de casos de uso entre blockchains. O artigo também aponta que esse método baseado em prova de conhecimento zero pode resolver efetivamente os problemas de armazenamento de dados encontrados por alguns provedores de serviços de blockchain L2 e nós centralizados.

Em nossa postagem 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 para 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.

Em nosso postagem anteriorIntroduzimos o Proof of Consensus - uma abordagem de minimização de confiança para a ponte de fundos entre blockchains. Como os usuários da ponte geralmente desejam ver as transações acontecerem imediatamente no momento mais recente, a prova de consenso é muito útil porque eles verificam constantemente o estado mais recente da blockchain conforme ela opera.

Este conceito de minimização de confiança de ponte pode também 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 gama diversificada de casos de uso entre cadeias, e neste artigo iremos abordar esses 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 provar a propriedade de ativos, o comportamento do usuário e o histórico de transações e, em seguida, inserir esses dados em contratos inteligentes ou aplicativos on-chain.No momento da escrita, mais de 18 milhões de blocos foram escritos no Ethereum.Contratos inteligentes só podem acessar os 256 blocos mais recentes (ou dados dentro dos últimos 30 minutos), então "dados históricos" se refere a qualquer coisa que não os últimos 256 blocos.

Hoje, para acessar dados históricos, os protocolos frequentemente consultam nó de arquivoprovedores, ou seja, terceiros como Infura, Alchemy ou outros indexadores. Isso significa confiar e depender deles e de seus dados.

Dados históricos

Esses dados, no entanto, podem ser relaxados de maneira mais confiável, por meio do uso de provas de armazenamento.

Dados históricos

No entanto, esses dados podem ser recuperados de maneira mais confiável, usando 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 em um bloco específico no passado.Esta abordagem não requer confiança em terceiros ou oráculos; em vez disso, sua confiança é incorporada à prova de armazenamento.

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

  • O primeiro passo é verificar se um bloco específico faz parte do histórico 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 informação (como uma transação específica) faz parte do bloco (isso pode ser comprovado pelo Merkle incluindo prova)

Após 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.

Simplesmente, a prova de armazenamento suporta a recuperação de dados na cadeia histórica de uma maneira que minimiza a confiança. Isso é importante porque, como destacamos em nosso primeiro post, estamos vendo a web3 se tornar um espaço mais multi-cadeia e multinível ao longo dos próximos anos. O surgimento de múltiplos protocolos de camada 1, rollups e cadeias de aplicativos significa que a atividade on-chain dos usuários pode estar espalhada por várias cadeias. Isso enfatiza ainda mais a necessidade de soluções de interoperabilidade que minimizam a confiança e mantêm a componibilidade dos ativos dos usuários, 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 contratos inteligentes verifiquem quaisquer transações ou dados históricos como um pré-requisito. Isso torna o design de aplicativos entre cadeias mais flexível.

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

  1. Saldo da conta e propriedade do token
  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 piscina de liquidez entre cadeias

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

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

Essencialmente, as provas de armazenamento permitem que os aplicativos consultem e portem a atividade e o histórico dos usuários em cadeias múltiplas para 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 o Proof of Storage funciona: Exemplos Detalhados

Suponha “X,” que é um protocolo DeFi com tokens no 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 mais baixo. Os usuários só podem votar se possuírem tokens X no Ethereum em um ponto específico no tempo (chamamos de “snapshot”), como o bloco #17,000,000

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

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

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

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 atestador zk irá gerar uma prova concisa e enviá-la para a cadeia de destino para verificação. Para os exemplos de elegibilidade de eleitores do DAO acima, os seguintes são:

  1. O atestante gera uma prova de conhecimento zero de que o bloco #17,000,000 faz parte da história do Ethereum (como no primeiro passo* acima).
  2. Depois de provar a validade do bloco, podemos usar Merkle para incluir a prova de que o usuário detinha 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, o contrato inteligente no protocolo de camada 2 permite que os usuários votem.

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

Confie no provedor do nó de arquivo;

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

Quais 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 provedor de serviços para garantir que elas possam ser usadas sem confiar no provedor. Duas coisas são geradas e armazenadas on-chain durante esse 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 final de conhecimento zero seja obtida, um "compromisso 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 provedor também armazena as raízes Merkle Keccak dos hashes de bloco (blocos) da cadeia de origem agrupados juntos 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 que os provedores provem 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 a computação podem ser posteriormente comprovadas através de conhecimento zero.

Ilustração da Cordilheira Merkel (MMR)

À medida que novos blocos são adicionados à cadeia de origem, os provedores de serviços atualizam regularmente (como por hora ou diariamente) o "compromisso zk" e MMR para acompanhar o ritmo da cadeia. Isso é feito para garantir que o bloco anterior esteja sempre vinculado a um dos 256 blocos atualmente acessíveis no EVM. Isso garante que os dados históricos estejam vinculados 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 uma vez que a configuração esteja completa no contexto do exemplo de votação da DAO que cobrimos anteriormente:

  1. Os provedores de serviços criam e armazenam “promessas zk” para toda a cadeia (ou seja, história do Ethereum) e MMR na cadeia de destino
  2. O provedor permite que aplicativos consultem dados históricos on-chain ou off-chain por meio 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 nº 17.000.000 na Ethereum

O provedor verificará duas coisas:

  1. O bloco consultado faz parte da história regulatória do Ethereum (primeiro passo acima); o provedor então gera prova de conhecimento zero do conteúdo do bloco via Merkle Mountain Range
  2. O usuário possui tokens DAO no bloco #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 dApp de votação na cadeia de destino para verificar a prova ZK e permitir que o usuário vote uma vez que a verificação for bem-sucedida.

Construção de equipe neste campo

Alguns participantes estão construindo contratos inteligentes que permitem que os contratos inteligentes acessem dados em cadeias históricas de uma maneira que minimize a confiança.

Atualmente, Axiomaestá sendo executado na Ethereum e está comprometido em fornecer contratos inteligentes na Ethereum e acessar dados históricos da Ethereum através de provas de armazenamento baseadas em zk. A equipe também está aprimorando as capacidades computacionais off-chain com base em dados históricos e utilizando conhecimento zero para provar a precisão desses dados e cálculos.

Protocolo Relicfornece uma abordagem técnica similar à Axiom, e o protocolo é executado no Ethereum e zkSync Era. Relic usa provas de inclusão de Merkle para provar a inclusão de dados (ao contrário do método da Axiom de provar a inclusão de Merkle em conhecimento zero).

Herodotusestá trabalhando para fornecer dados históricos sobre o Ethereum para protocolos de camada 2. A implementação de teste está agora disponível no Starknet e zkSync Era. Com financiamento da OP Foundation, pensamos saber para onde a equipe de Heródoto está indo a seguir.

Lagrange Labs Labsintroduziu prova totalmente atualizável através de sua recente inovação ZK MapReduce (ZKMR). Ele usa uma nova promessa de vetor chamada Recproofspara estender o conceito de atualização para computação de dados.

Equipes trabalhando 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 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 se tornando mais rápida e mais barata, gerar continuamente provas de armazenamento para acompanhar os custos associados a estar on-chain ainda é um desafio. A lucratividade desses 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 autorais 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 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 do Gate Learn. A menos que mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Start Now
Sign up and get a
$100
Voucher!