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.
Estes dados podem, no entanto, ser relaxados de forma mais minimizada em termos de confiança, através do uso de provas de armazenamento.
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:
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.
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
A prova pode então ser enviada para a cadeia de destino para desbloquear o conjunto de casos de uso de interoperabilidade entre cadeias:
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.
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
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:
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:
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;
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:
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 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:
O fornecedor irá verificar duas coisas:
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
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.
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.
Estes dados podem, no entanto, ser relaxados de forma mais minimizada em termos de confiança, através do uso de provas de armazenamento.
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:
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.
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
A prova pode então ser enviada para a cadeia de destino para desbloquear o conjunto de casos de uso de interoperabilidade entre cadeias:
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.
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
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:
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:
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;
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:
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 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:
O fornecedor irá verificar duas coisas:
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
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.