Por que a Web3 precisa agora mais do que nunca de uma Camada de dados em tempo real

iniciantes2/2/2024, 8:41:17 AM
Este artigo discute o que é uma camada de dados em tempo real, os altos custos atuais e as velocidades lentas das implementações de blockchain tornando-as inadequadas como plataforma de computação Web3 geral, e como sistemas bem-sucedidos estão aproveitando dados off-chain em tempo real para encontrar encaixe de mercado.

Hoje em dia, a Web3 encontra-se em uma situação difícil, não apenas por causa da sombra longa lançada por atores mal-intencionados de alto perfil no ecossistema blockchain. Superar três desafios significativos sem abandonar os princípios que inicialmente tornaram o blockchain atraente é uma tarefa difícil:

  1. Em comparação com produtos semelhantes da Web 2.0, o custo de armazenamento on-chain e operações de escrita é proibitivamente alto.

  2. O armazenamento e as operações de escrita on-chain são incrivelmente lentos (por design) para garantir a segurança prometida pelos sistemas baseados em blockchain. À medida que nós são adicionados à rede e o volume de solicitações de escrita aumenta, o desempenho degrada ainda mais devido à necessidade de consenso de mais de 51% dos nós sobre a validade dos novos dados.

  3. O comprimento (tamanho) de qualquer registro de blockchain dado cresce significativamente com o uso, quebrando os limites da maioria das infraestruturas de banco de dados no mercado hoje.

Bancos de dados operacionais, bancos de dados analíticos e registros distribuídos são tipos eficazes, porém distintos, de sistemas de gerenciamento de banco de dados. O que confunde muitos sobre as redes de blockchain emergentes de pares é que elas não são apenas “bancos de dados”; muitas também servem como “servidores” para hospedar aplicativos de internet (ou “dApps” - aplicativos descentralizados) escritos por qualquer desenvolvedor capaz.

A maioria das novas tecnologias passa por uma fase de supergeneralização até que um produto ou mercado adequado seja encontrado. A raiz desses três desafios está no mesmo problema de "usar a ferramenta certa para o trabalho errado". Por exemplo, a maioria dos profissionais de TI não usaria bancos de dados operacionais como bancos de dados analíticos e vice-versa. Usar registros distribuídos como bancos de dados operacionais ou analíticos (por exemplo, sob um dApp implantado em uma rede blockchain) é uma correspondência particularmente ruim, explicada mais detalhadamente abaixo.

De fato, a comunidade blockchain está explorando maneiras inovadoras de lidar com questões de desempenho sem comprometer a segurança, mas isso leva tempo. O Ethereum fez algumas mudanças a esse respeito recentemente. A confiança deve ser depositada em algum lugar. A blockchain transfere essa confiança do modelo tradicional da Web 2.0, mas ainda não elimina a necessidade de confiança - pelo menos por enquanto.

Dados off-chain em tempo real fornecem um caminho direto para a Web3 encontrar adequação de produto/mercado. No entanto, essa abordagem encontra confiança na forma de dados de operação/análise para dApps dentro dos sistemas Web 2.0. No entanto, os dApps mais bem-sucedidos e os serviços baseados em blockchain fizeram essa compensação, usando as ferramentas certas para o trabalho certo alavancando cada tecnologia em suas forças.

Antes de mergulhar mais profundamente em como e por que a Web3 pode progredir com dados em tempo real, vamos primeiro considerar as perspectivas futuras da Web3, independentemente dos desafios tríplices que acabamos de identificar.

O que continuará impulsionando o Web3 para a frente?

Em tais momentos, é importante lembrar que blockchain ≠ criptomoeda. Criptomoeda é uma aplicação do conceito de blockchain e da tecnologia subjacente. O mesmo vale para NFTs e o conceito mais amplo de Web3. O conceito central de blockchain—transações, posições e registros públicos imutáveis de propriedade—continua a oferecer um interessante contraste com o sistema financeiro atual, onde tais registros residem em bancos de dados privados acessíveis apenas através de portais institucionais e legais. Quais são esses casos de uso valiosos e significativos no mundo real?

De acordo com a McKinsey, as maiores plataformas de empréstimos da Web3 emitiram US$ 200 bilhões em empréstimos em 2021. Empréstimos, depósitos, remessas, trocas de ativos, financiamento comercial e seguros tornaram-se casos de uso viáveis. Outros casos de uso como peer-to-peer, jogos, redes sociais e mídia online, embora ainda incipientes, mostram atividade significativa.

Serviços de identidade digital e gestão da cadeia de suprimentos e logística permanecem como possibilidades óbvias. Casos de uso hipotéticos no suposto metaverso estão impulsionando investimentos reais, com empresas como o Facebook pivotando, se rebranding para Meta, e apostando tudo.

Sistemas de blockchain privados em redes fechadas e protegidas (por exemplo, Hyperledger Fabric) podem não ser o que os criadores imaginaram, mas agora podem oferecer casos de uso mais genéricos para indústrias e instituições específicas (ao custo de ser um sistema aberto Web3 para o público). NFTs, ou o conceito de tokens exclusivos, indivisíveis e imutáveis, têm um genuíno potencial de valor comercial ao representar digitalmente ativos efêmeros do mundo real e exclusivamente online.

Essas são especulações públicas seguras viáveis, porém não resolvidas. Estabelecer conexões de forma legítima (e, em alguns casos, física) entre o mundo real e os NFTs digitais ainda está passando por uma exploração extensiva. O provedor Web3 Alchemy observou em seu relatório trimestral que as implantações de contratos inteligentes cresceram 143% em comparação com o mesmo trimestre de 2021.

Embora ainda haja desafios significativos a superar, como qualquer nova ideia, o apelo dos fundos de investimento, desenvolvedores e interesse institucional realmente tem o potencial de atrair energia que impulsiona o blockchain para frente. À medida que a tecnologia central amadurece, mais valor Web3 será criado. Com mais geração de valor, surgirão novas oportunidades, despertando interesse em lidar com regulamentação, questões legais, privacidade de dados e melhorar a experiência de desenvolvedores e usuários finais.

Considerações dos Desenvolvedores Web3 para Dados On-Chain

Os desafios enfrentados pelos produtos blockchain baseados em Proof of Work se estendem para sua arquitetura subjacente. Bancos de dados operacionais são altamente adequados para armazenamento e recuperação de dados rápidos e eficientes. Bancos de dados analíticos se destacam em consultas rápidas e abertas e exploração. Bancos de dados não relacionais oferecem massivamente diferentes níveis de capacidades operacionais ou analíticas sem sacrificar desempenho e disponibilidade.

Sistemas baseados em blockchain fornecem registros seguros e imutáveis, mas ao custo de desempenho. Tentar usar registros seguros, imutáveis e apenas adicionáveis como bancos de dados operacionais, analíticos ou não relacionais levará aos seguintes problemas:

Desempenho inaceitável

A pilha de tecnologia da Web 2.0 definiu expectativas para uma rápida experiência digital para a maioria das pessoas em todo o mundo, seja usando tablets, smartphones ou computadores desktop/notebook, não exigindo de dois minutos a seis horas. A maioria das implementações populares de blockchain são baseadas em algoritmos lentos de Prova de Trabalho para garantir operações de escrita no armazenamento de dados do blockchain e consenso lento entre pares para garantir leituras consistentes de dados em toda a rede de nós.

Volume of Data Causes Production Interruptions

Blockchain não é apenas um problema de “big data”; é um problema de dados massivos e incrivelmente grandes que apenas aumenta com o uso aumentado. Poucos bancos de dados operacionais ou analíticos podem atingir esse nível, e ainda menos podem realmente alcançar esse nível de escalabilidade linear, reduzindo significativamente a faixa de escolha.

Dados contraditórios e imprecisos

O amplo design de consistência eventual ponto a ponto do blockchain e a natureza da Prova de Trabalho tornam-no seguro, mas resultam em dados inconsistentes, tornando-o inadequado como um banco de dados operacional ou analítico para aplicativos Web3. Como não há mensagens de erro ou códigos de falha para esses problemas, escrever código de manipulação de erros para testar, interpretar ou resolver esses erros para tentar compensação é demorado ou impossível. Naturalmente, depurar em produção ou em outros momentos críticos é um pesadelo para todas as partes envolvidas. O suporte técnico downstream será incapaz de fornecer respostas aos usuários frustrados, e os desenvolvedores serão incapazes de fornecer respostas ao pessoal de suporte técnico. Isso leva a avaliações negativas nas lojas de aplicativos.

Custos de armazenamento/utilização inaceitáveis

As operações on-chain são caras: armazenar 1GB de dados na blockchain Ethereum pode custar milhares de dólares.

Outras Considerações

Indexação ou sincronização off-chain de dados blockchain não é simples, pois esses dados não são legíveis por humanos. Os dados da blockchain requerem decodificação, enriquecimento, reorganização e modelagem de dados por meio de serviços de dados de terceiros antes que possam ser facilmente utilizados pelos desenvolvedores.

Solução: Sincronização de dados em tempo real fora da cadeia

A implementação de redes blockchain populares requer tempo para resolver problemas de desempenho inerentes ao seu design. O processamento off-chain é uma técnica principal usada por profissionais de TI bem-sucedidos para aproveitar totalmente as tecnologias de banco de dados existentes e as vantagens da blockchain, alocando cada tecnologia para o seu propósito melhor projetado. Simplificando, os dApps devem ler dados de bancos de dados off-chain e escrever dados de volta na cadeia (mas apenas registrar os detalhes mínimos necessários para o resultado final da transação).

Ao sincronizar o estado do blockchain em tempo real com bancos de dados operacionais ou analíticos, você garante a precisão e a atualidade dos dados cruciais para a operação rápida do seu dApp. Em seguida, após o seu dApp e o banco de dados off-chain concluírem o máximo possível de pré-processamento, envie os resultados finais de volta para a cadeia.

Ativos estáticos e binários podem utilizar sistemas como IPFS, mas por razões semelhantes, é prudente considerar o armazenamento de objetos off-chain (como S3) sempre que possível. Portanto, na prática, um banco de dados off-chain com um clone sempre sincronizado do estado da cadeia deve se tornar o alvo de leitura/escrita para o maior número possível de cargas de trabalho operacionais ou analíticas.

No entanto, como discutido anteriormente, o volume de dados (especialmente ao longo do tempo) pode sobrecarregar a maioria das infraestruturas de dados. O Apache Cassandra é um dos sistemas de banco de dados operacionais mais poderosos neste nível de capacidade, escala e desempenho.

Com o modelo de dados correto, as aplicações podem experimentar velocidades sub-segundo esperadas de caches em memória como Redis e sistemas de gerenciamento de banco de dados persistente (DBMS). E se os serviços de dados não relacionais pudessem fornecer dados históricos e sempre atualizados (em tempo real) fora da cadeia?

Durante o processo de indexação, os dados brutos são decodificados automaticamente. Para os desenvolvedores, isso muda a experiência de trabalhar com dados de blockchain em forma hexadecimal bruta, conforme a seguir:

Para dados legíveis por humanos, conforme abaixo:

Então, os desenvolvedores do Web3 normalmente precisam reorganizar e enriquecer os dados da blockchain de serviços de dados de terceiros como Etherscan, whatsabi, metadados NFT, etc., para torná-los úteis para as consultas mais simples. Se os dados enriquecidos forem posteriormente modelados em tabelas de banco de dados consultáveis, os desenvolvedores terão todas as capacidades das linguagens de consulta do DBMS padrão (em vez de terem que aprender APIs de análise de blockchain).

Vamos ver um exemplo:

Intenção do desenvolvedor: Procurar cinco entradas do grupo de blocos 134

Código de consulta real:

Resposta do sistema:

Então, como isso se parece na prática? Para dar vida a isso, dê uma olhada nestes dois exemplos de aplicativos (em tempo real) que estão exatamente usando tais serviços de dados em tempo real off-chain. Os desenvolvedores Web3 devem estar familiarizados com o código-fonte do aplicativo; ele é escrito usando a popular biblioteca Web3.js.

Explorador de NFT

Pesquise por cada NFT criado em segundos

Extrair o histórico de transferência de um NFT em uma única chamada de API

O NFT Explorer é construído com React e Next JS, fornecendo aos usuários uma visão completa dos NFTs que foram criados ou transferidos em tempo real na blockchain Ethereum.

Explorador de Blockchain

Obter preços históricos de gás por número de bloco

Buscar quantidades de transferência ERC20 por número de bloco

Assim como o NFT Explorer, este explorador de dados blockchain extrai todos os dados blockchain dos dados off-chain, fornecendo aos usuários uma visualização em tempo real dos últimos blocos minerados e das últimas transações de Ethereum.

Oferecer todos esses serviços em nuvem hospedada ajudaria a superar as hesitações tradicionais para alcançar a usabilidade e o tempo de entrada no mercado do estilo de SGBD relacional. Construir tais serviços em cima do Cassandra pode oferecer de forma única a colocação desses dados com suas aplicações Web3 em qualquer região ou multi-região sem a necessidade de fragmentação. A replicação integrada do Cassandra foi testada em batalha nos ambientes de produção de escala de internet mais extrema por mais de uma década.

Vantagens para Aplicações Web3 e Desenvolvedores

Ao minimizar o tamanho dos dApps, armazenamento de dados em blockchain e processamento off-chain das gravações em blockchain, os custos operacionais para a maioria dos casos de uso serão realinhados aos níveis da Web 2.0. A experiência dos usuários com o desempenho do dApp em seu dispositivo de escolha retorna aos níveis aceitáveis/esperados. Em seguida, os desenvolvedores de dApp podem projetar diálogos, telas e alertas de 'tempo de espera' apropriados para definir expectativas quando os usuários precisarem enviar operações de gravação para um sistema baseado em blockchain.

Os maiores e mais desafiadores problemas de consistência de dados são resolvidos, já que a maioria dos dados operacionais para um dApp é armazenada em bancos de dados externos rápidos e confiáveis. Isso pode economizar horas de tempo frustrante (e potencialmente infrutífero) de depuração e evitar erros de produção que podem ser impossíveis de resolver.

Porque sistemas off-chain como bancos de dados não relacionais podem lidar com grandes volumes de dados, seu dApp atenderá às expectativas de tempo de atividade e resposta à medida que o blockchain cresce, sem a necessidade de redesenhos ou reescritas completas e caras meses após a produção. Trabalhar com Cassandra, sem dúvida o banco de dados não relacional mais confiável, escalável e rápido, também é um dos empregos mais bem pagos, de acordo com a mais recente pesquisa de desenvolvedores do Stack Overflow.

Benefícios para Empresas

Aplicações quebradas, lentas ou imprecisas podem levar a perdas irreparáveis de usuários, receita e confiança dos investidores. Mas vamos discutir a conversa que todos esperamos ter - quais as possibilidades excitantes que sincronizar o estado da blockchain em tempo real com infraestrutura off-chain e não relacional pode trazer?

Analisando dApps: Integrar dApps com bancos de dados analíticos off-chain abre a perspectiva de opções e casos de uso de toda a "Web 2.0".

Capacidades de Detecção/Prevenção de Fraudes: Construa dApps que possam expulsar atores mal-intencionados ou sinalizar/bloquear abusos, protegendo assim sua comunidade de usuários e seu negócio.

Autoridade para Trocas de Ativos Digitais: As trocas de NFT exigem dados de mercado precisos/atualizados para facilitar as melhores negociações/vendas/trocas. Evite o arrependimento do comprador quando os usuários veem o item que compraram a um preço mais baixo minutos depois, bem como processos de reembolso intensivos em recursos e avaliações negativas dos usuários.

Recursos baseados em localização: Saber a localização atual é fundamental para muitos dos aplicativos móveis de hoje. Traga isso para o seu dApp!

Aplicações de IoT: A velocidade e capacidade de gravar dados gerados por máquina a partir de software ou hardware só podem ser tratadas de forma intransigente por bancos de dados não relacionais.

Soberania de dados: Por questões de conformidade, regulamentares ou legais, encontre uma cópia sincronizada do estado da blockchain com seu dApp (onde quer que esteja implantado no mundo).

O tempo de análise de transação de blockchain é determinado pelo protocolo e, sem taxas de gás/transação ou o uso de serviços de aceleração, não pode ser acelerado. Ao pré-processar o máximo possível off-chain, você pode minimizar o tamanho e a frequência de transações para o resultado final. Isso reduzirá os custos de gravação da cadeia para qualquer caso de uso e melhorará a velocidade do dApp.

Experimente por si mesmo como um serviço

Este foco em dados em tempo real vai além do blockchain. É uma área em que a indústria tem inovado há mais de uma década. Mas tecnologias como o blockchain ajudam a demonstrar a importância de os dados em tempo real fazerem parte da arquitetura de dados e dos modelos de negócios.

Enquanto esperamos pela criptografia quântica como serviço, pela ubiquidade dos relógios atômicos e por novas inovações em algoritmos de consenso distribuído, os dados em tempo real agora podem ser obtidos por meio de uma estrutura de custos da Web 2.0. Os dados em tempo real ainda serão um elemento central e fundamental de qualquer implementação de blockchain no futuro.

Isenção de responsabilidade:

  1. Este artigo é reimpresso de [Camada de dadosAIcoin]. Todos os direitos autorais pertencem ao autor original [Pieter Humphrey, DataStax]. Se houver objeções a esta reimpressão, entre em contato com oGate Learntime, e eles vão lidar com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente 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.

Por que a Web3 precisa agora mais do que nunca de uma Camada de dados em tempo real

iniciantes2/2/2024, 8:41:17 AM
Este artigo discute o que é uma camada de dados em tempo real, os altos custos atuais e as velocidades lentas das implementações de blockchain tornando-as inadequadas como plataforma de computação Web3 geral, e como sistemas bem-sucedidos estão aproveitando dados off-chain em tempo real para encontrar encaixe de mercado.

Hoje em dia, a Web3 encontra-se em uma situação difícil, não apenas por causa da sombra longa lançada por atores mal-intencionados de alto perfil no ecossistema blockchain. Superar três desafios significativos sem abandonar os princípios que inicialmente tornaram o blockchain atraente é uma tarefa difícil:

  1. Em comparação com produtos semelhantes da Web 2.0, o custo de armazenamento on-chain e operações de escrita é proibitivamente alto.

  2. O armazenamento e as operações de escrita on-chain são incrivelmente lentos (por design) para garantir a segurança prometida pelos sistemas baseados em blockchain. À medida que nós são adicionados à rede e o volume de solicitações de escrita aumenta, o desempenho degrada ainda mais devido à necessidade de consenso de mais de 51% dos nós sobre a validade dos novos dados.

  3. O comprimento (tamanho) de qualquer registro de blockchain dado cresce significativamente com o uso, quebrando os limites da maioria das infraestruturas de banco de dados no mercado hoje.

Bancos de dados operacionais, bancos de dados analíticos e registros distribuídos são tipos eficazes, porém distintos, de sistemas de gerenciamento de banco de dados. O que confunde muitos sobre as redes de blockchain emergentes de pares é que elas não são apenas “bancos de dados”; muitas também servem como “servidores” para hospedar aplicativos de internet (ou “dApps” - aplicativos descentralizados) escritos por qualquer desenvolvedor capaz.

A maioria das novas tecnologias passa por uma fase de supergeneralização até que um produto ou mercado adequado seja encontrado. A raiz desses três desafios está no mesmo problema de "usar a ferramenta certa para o trabalho errado". Por exemplo, a maioria dos profissionais de TI não usaria bancos de dados operacionais como bancos de dados analíticos e vice-versa. Usar registros distribuídos como bancos de dados operacionais ou analíticos (por exemplo, sob um dApp implantado em uma rede blockchain) é uma correspondência particularmente ruim, explicada mais detalhadamente abaixo.

De fato, a comunidade blockchain está explorando maneiras inovadoras de lidar com questões de desempenho sem comprometer a segurança, mas isso leva tempo. O Ethereum fez algumas mudanças a esse respeito recentemente. A confiança deve ser depositada em algum lugar. A blockchain transfere essa confiança do modelo tradicional da Web 2.0, mas ainda não elimina a necessidade de confiança - pelo menos por enquanto.

Dados off-chain em tempo real fornecem um caminho direto para a Web3 encontrar adequação de produto/mercado. No entanto, essa abordagem encontra confiança na forma de dados de operação/análise para dApps dentro dos sistemas Web 2.0. No entanto, os dApps mais bem-sucedidos e os serviços baseados em blockchain fizeram essa compensação, usando as ferramentas certas para o trabalho certo alavancando cada tecnologia em suas forças.

Antes de mergulhar mais profundamente em como e por que a Web3 pode progredir com dados em tempo real, vamos primeiro considerar as perspectivas futuras da Web3, independentemente dos desafios tríplices que acabamos de identificar.

O que continuará impulsionando o Web3 para a frente?

Em tais momentos, é importante lembrar que blockchain ≠ criptomoeda. Criptomoeda é uma aplicação do conceito de blockchain e da tecnologia subjacente. O mesmo vale para NFTs e o conceito mais amplo de Web3. O conceito central de blockchain—transações, posições e registros públicos imutáveis de propriedade—continua a oferecer um interessante contraste com o sistema financeiro atual, onde tais registros residem em bancos de dados privados acessíveis apenas através de portais institucionais e legais. Quais são esses casos de uso valiosos e significativos no mundo real?

De acordo com a McKinsey, as maiores plataformas de empréstimos da Web3 emitiram US$ 200 bilhões em empréstimos em 2021. Empréstimos, depósitos, remessas, trocas de ativos, financiamento comercial e seguros tornaram-se casos de uso viáveis. Outros casos de uso como peer-to-peer, jogos, redes sociais e mídia online, embora ainda incipientes, mostram atividade significativa.

Serviços de identidade digital e gestão da cadeia de suprimentos e logística permanecem como possibilidades óbvias. Casos de uso hipotéticos no suposto metaverso estão impulsionando investimentos reais, com empresas como o Facebook pivotando, se rebranding para Meta, e apostando tudo.

Sistemas de blockchain privados em redes fechadas e protegidas (por exemplo, Hyperledger Fabric) podem não ser o que os criadores imaginaram, mas agora podem oferecer casos de uso mais genéricos para indústrias e instituições específicas (ao custo de ser um sistema aberto Web3 para o público). NFTs, ou o conceito de tokens exclusivos, indivisíveis e imutáveis, têm um genuíno potencial de valor comercial ao representar digitalmente ativos efêmeros do mundo real e exclusivamente online.

Essas são especulações públicas seguras viáveis, porém não resolvidas. Estabelecer conexões de forma legítima (e, em alguns casos, física) entre o mundo real e os NFTs digitais ainda está passando por uma exploração extensiva. O provedor Web3 Alchemy observou em seu relatório trimestral que as implantações de contratos inteligentes cresceram 143% em comparação com o mesmo trimestre de 2021.

Embora ainda haja desafios significativos a superar, como qualquer nova ideia, o apelo dos fundos de investimento, desenvolvedores e interesse institucional realmente tem o potencial de atrair energia que impulsiona o blockchain para frente. À medida que a tecnologia central amadurece, mais valor Web3 será criado. Com mais geração de valor, surgirão novas oportunidades, despertando interesse em lidar com regulamentação, questões legais, privacidade de dados e melhorar a experiência de desenvolvedores e usuários finais.

Considerações dos Desenvolvedores Web3 para Dados On-Chain

Os desafios enfrentados pelos produtos blockchain baseados em Proof of Work se estendem para sua arquitetura subjacente. Bancos de dados operacionais são altamente adequados para armazenamento e recuperação de dados rápidos e eficientes. Bancos de dados analíticos se destacam em consultas rápidas e abertas e exploração. Bancos de dados não relacionais oferecem massivamente diferentes níveis de capacidades operacionais ou analíticas sem sacrificar desempenho e disponibilidade.

Sistemas baseados em blockchain fornecem registros seguros e imutáveis, mas ao custo de desempenho. Tentar usar registros seguros, imutáveis e apenas adicionáveis como bancos de dados operacionais, analíticos ou não relacionais levará aos seguintes problemas:

Desempenho inaceitável

A pilha de tecnologia da Web 2.0 definiu expectativas para uma rápida experiência digital para a maioria das pessoas em todo o mundo, seja usando tablets, smartphones ou computadores desktop/notebook, não exigindo de dois minutos a seis horas. A maioria das implementações populares de blockchain são baseadas em algoritmos lentos de Prova de Trabalho para garantir operações de escrita no armazenamento de dados do blockchain e consenso lento entre pares para garantir leituras consistentes de dados em toda a rede de nós.

Volume of Data Causes Production Interruptions

Blockchain não é apenas um problema de “big data”; é um problema de dados massivos e incrivelmente grandes que apenas aumenta com o uso aumentado. Poucos bancos de dados operacionais ou analíticos podem atingir esse nível, e ainda menos podem realmente alcançar esse nível de escalabilidade linear, reduzindo significativamente a faixa de escolha.

Dados contraditórios e imprecisos

O amplo design de consistência eventual ponto a ponto do blockchain e a natureza da Prova de Trabalho tornam-no seguro, mas resultam em dados inconsistentes, tornando-o inadequado como um banco de dados operacional ou analítico para aplicativos Web3. Como não há mensagens de erro ou códigos de falha para esses problemas, escrever código de manipulação de erros para testar, interpretar ou resolver esses erros para tentar compensação é demorado ou impossível. Naturalmente, depurar em produção ou em outros momentos críticos é um pesadelo para todas as partes envolvidas. O suporte técnico downstream será incapaz de fornecer respostas aos usuários frustrados, e os desenvolvedores serão incapazes de fornecer respostas ao pessoal de suporte técnico. Isso leva a avaliações negativas nas lojas de aplicativos.

Custos de armazenamento/utilização inaceitáveis

As operações on-chain são caras: armazenar 1GB de dados na blockchain Ethereum pode custar milhares de dólares.

Outras Considerações

Indexação ou sincronização off-chain de dados blockchain não é simples, pois esses dados não são legíveis por humanos. Os dados da blockchain requerem decodificação, enriquecimento, reorganização e modelagem de dados por meio de serviços de dados de terceiros antes que possam ser facilmente utilizados pelos desenvolvedores.

Solução: Sincronização de dados em tempo real fora da cadeia

A implementação de redes blockchain populares requer tempo para resolver problemas de desempenho inerentes ao seu design. O processamento off-chain é uma técnica principal usada por profissionais de TI bem-sucedidos para aproveitar totalmente as tecnologias de banco de dados existentes e as vantagens da blockchain, alocando cada tecnologia para o seu propósito melhor projetado. Simplificando, os dApps devem ler dados de bancos de dados off-chain e escrever dados de volta na cadeia (mas apenas registrar os detalhes mínimos necessários para o resultado final da transação).

Ao sincronizar o estado do blockchain em tempo real com bancos de dados operacionais ou analíticos, você garante a precisão e a atualidade dos dados cruciais para a operação rápida do seu dApp. Em seguida, após o seu dApp e o banco de dados off-chain concluírem o máximo possível de pré-processamento, envie os resultados finais de volta para a cadeia.

Ativos estáticos e binários podem utilizar sistemas como IPFS, mas por razões semelhantes, é prudente considerar o armazenamento de objetos off-chain (como S3) sempre que possível. Portanto, na prática, um banco de dados off-chain com um clone sempre sincronizado do estado da cadeia deve se tornar o alvo de leitura/escrita para o maior número possível de cargas de trabalho operacionais ou analíticas.

No entanto, como discutido anteriormente, o volume de dados (especialmente ao longo do tempo) pode sobrecarregar a maioria das infraestruturas de dados. O Apache Cassandra é um dos sistemas de banco de dados operacionais mais poderosos neste nível de capacidade, escala e desempenho.

Com o modelo de dados correto, as aplicações podem experimentar velocidades sub-segundo esperadas de caches em memória como Redis e sistemas de gerenciamento de banco de dados persistente (DBMS). E se os serviços de dados não relacionais pudessem fornecer dados históricos e sempre atualizados (em tempo real) fora da cadeia?

Durante o processo de indexação, os dados brutos são decodificados automaticamente. Para os desenvolvedores, isso muda a experiência de trabalhar com dados de blockchain em forma hexadecimal bruta, conforme a seguir:

Para dados legíveis por humanos, conforme abaixo:

Então, os desenvolvedores do Web3 normalmente precisam reorganizar e enriquecer os dados da blockchain de serviços de dados de terceiros como Etherscan, whatsabi, metadados NFT, etc., para torná-los úteis para as consultas mais simples. Se os dados enriquecidos forem posteriormente modelados em tabelas de banco de dados consultáveis, os desenvolvedores terão todas as capacidades das linguagens de consulta do DBMS padrão (em vez de terem que aprender APIs de análise de blockchain).

Vamos ver um exemplo:

Intenção do desenvolvedor: Procurar cinco entradas do grupo de blocos 134

Código de consulta real:

Resposta do sistema:

Então, como isso se parece na prática? Para dar vida a isso, dê uma olhada nestes dois exemplos de aplicativos (em tempo real) que estão exatamente usando tais serviços de dados em tempo real off-chain. Os desenvolvedores Web3 devem estar familiarizados com o código-fonte do aplicativo; ele é escrito usando a popular biblioteca Web3.js.

Explorador de NFT

Pesquise por cada NFT criado em segundos

Extrair o histórico de transferência de um NFT em uma única chamada de API

O NFT Explorer é construído com React e Next JS, fornecendo aos usuários uma visão completa dos NFTs que foram criados ou transferidos em tempo real na blockchain Ethereum.

Explorador de Blockchain

Obter preços históricos de gás por número de bloco

Buscar quantidades de transferência ERC20 por número de bloco

Assim como o NFT Explorer, este explorador de dados blockchain extrai todos os dados blockchain dos dados off-chain, fornecendo aos usuários uma visualização em tempo real dos últimos blocos minerados e das últimas transações de Ethereum.

Oferecer todos esses serviços em nuvem hospedada ajudaria a superar as hesitações tradicionais para alcançar a usabilidade e o tempo de entrada no mercado do estilo de SGBD relacional. Construir tais serviços em cima do Cassandra pode oferecer de forma única a colocação desses dados com suas aplicações Web3 em qualquer região ou multi-região sem a necessidade de fragmentação. A replicação integrada do Cassandra foi testada em batalha nos ambientes de produção de escala de internet mais extrema por mais de uma década.

Vantagens para Aplicações Web3 e Desenvolvedores

Ao minimizar o tamanho dos dApps, armazenamento de dados em blockchain e processamento off-chain das gravações em blockchain, os custos operacionais para a maioria dos casos de uso serão realinhados aos níveis da Web 2.0. A experiência dos usuários com o desempenho do dApp em seu dispositivo de escolha retorna aos níveis aceitáveis/esperados. Em seguida, os desenvolvedores de dApp podem projetar diálogos, telas e alertas de 'tempo de espera' apropriados para definir expectativas quando os usuários precisarem enviar operações de gravação para um sistema baseado em blockchain.

Os maiores e mais desafiadores problemas de consistência de dados são resolvidos, já que a maioria dos dados operacionais para um dApp é armazenada em bancos de dados externos rápidos e confiáveis. Isso pode economizar horas de tempo frustrante (e potencialmente infrutífero) de depuração e evitar erros de produção que podem ser impossíveis de resolver.

Porque sistemas off-chain como bancos de dados não relacionais podem lidar com grandes volumes de dados, seu dApp atenderá às expectativas de tempo de atividade e resposta à medida que o blockchain cresce, sem a necessidade de redesenhos ou reescritas completas e caras meses após a produção. Trabalhar com Cassandra, sem dúvida o banco de dados não relacional mais confiável, escalável e rápido, também é um dos empregos mais bem pagos, de acordo com a mais recente pesquisa de desenvolvedores do Stack Overflow.

Benefícios para Empresas

Aplicações quebradas, lentas ou imprecisas podem levar a perdas irreparáveis de usuários, receita e confiança dos investidores. Mas vamos discutir a conversa que todos esperamos ter - quais as possibilidades excitantes que sincronizar o estado da blockchain em tempo real com infraestrutura off-chain e não relacional pode trazer?

Analisando dApps: Integrar dApps com bancos de dados analíticos off-chain abre a perspectiva de opções e casos de uso de toda a "Web 2.0".

Capacidades de Detecção/Prevenção de Fraudes: Construa dApps que possam expulsar atores mal-intencionados ou sinalizar/bloquear abusos, protegendo assim sua comunidade de usuários e seu negócio.

Autoridade para Trocas de Ativos Digitais: As trocas de NFT exigem dados de mercado precisos/atualizados para facilitar as melhores negociações/vendas/trocas. Evite o arrependimento do comprador quando os usuários veem o item que compraram a um preço mais baixo minutos depois, bem como processos de reembolso intensivos em recursos e avaliações negativas dos usuários.

Recursos baseados em localização: Saber a localização atual é fundamental para muitos dos aplicativos móveis de hoje. Traga isso para o seu dApp!

Aplicações de IoT: A velocidade e capacidade de gravar dados gerados por máquina a partir de software ou hardware só podem ser tratadas de forma intransigente por bancos de dados não relacionais.

Soberania de dados: Por questões de conformidade, regulamentares ou legais, encontre uma cópia sincronizada do estado da blockchain com seu dApp (onde quer que esteja implantado no mundo).

O tempo de análise de transação de blockchain é determinado pelo protocolo e, sem taxas de gás/transação ou o uso de serviços de aceleração, não pode ser acelerado. Ao pré-processar o máximo possível off-chain, você pode minimizar o tamanho e a frequência de transações para o resultado final. Isso reduzirá os custos de gravação da cadeia para qualquer caso de uso e melhorará a velocidade do dApp.

Experimente por si mesmo como um serviço

Este foco em dados em tempo real vai além do blockchain. É uma área em que a indústria tem inovado há mais de uma década. Mas tecnologias como o blockchain ajudam a demonstrar a importância de os dados em tempo real fazerem parte da arquitetura de dados e dos modelos de negócios.

Enquanto esperamos pela criptografia quântica como serviço, pela ubiquidade dos relógios atômicos e por novas inovações em algoritmos de consenso distribuído, os dados em tempo real agora podem ser obtidos por meio de uma estrutura de custos da Web 2.0. Os dados em tempo real ainda serão um elemento central e fundamental de qualquer implementação de blockchain no futuro.

Isenção de responsabilidade:

  1. Este artigo é reimpresso de [Camada de dadosAIcoin]. Todos os direitos autorais pertencem ao autor original [Pieter Humphrey, DataStax]. Se houver objeções a esta reimpressão, entre em contato com oGate Learntime, e eles vão lidar com isso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente 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.
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!