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.
Esses dados, no entanto, podem ser relaxados de maneira mais confiável, por meio do uso de provas de armazenamento.
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:
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.
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
A prova pode então ser enviada para a cadeia de destino para desbloquear a gama de casos de uso entre cadeias:
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.
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
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:
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:
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;
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:
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:
O provedor verificará duas coisas:
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
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.
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.
Esses dados, no entanto, podem ser relaxados de maneira mais confiável, por meio do uso de provas de armazenamento.
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:
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.
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
A prova pode então ser enviada para a cadeia de destino para desbloquear a gama de casos de uso entre cadeias:
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.
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
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:
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:
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;
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:
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:
O provedor verificará duas coisas:
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
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.