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.

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:
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.
Primeiro, armazenar provas pode provar quaisquer dados históricos na blockchain de origem, como
Saldo da conta e propriedade do token- Atividade de negociação do usuário ou estado estático- O preço histórico de uma transação de ativos ao longo de um período de tempo especificado- Saldo de ativos em tempo real da piscina de liquidez entre cadeiasA prova pode então ser enviada para a cadeia de destino para desbloquear a gama de casos de uso entre cadeias:
Permite aos usuários votar em propostas de governança em acordos de camada 2 de custo mais baixo- Permitindo que os detentores de NFT recebam novos NFTs ou benefícios da comunidade em uma nova cadeia- Recompensar os usuários com base em sua história e interações com dApps específicos (por exemplo, através de airdrops)- Empréstimos que oferecem taxas de juros personalizadas com base no histórico de transações e crédito geral do usuário- Desencadear a recuperação de conta para contas inativas- Calculando o histórico de futuros swaps TWAP- Calcular preços de troca AMM mais precisos com base em pools de liquidez multi-chainEssencialmente, 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.
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:

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;
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:

A “promessa zk” explica toda a história do Ethereum

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:
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- O provedor permite que aplicativos consultem dados históricos on-chain ou off-chain por meio de uma API- 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 EthereumO provedor verificará duas coisas:
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- 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- O provedor agrega a prova gerada acima em uma prova de conhecimento zero- 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 campoAlguns 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
À 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.





