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

Principiante2/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 que os tornam inadequados como plataforma geral de computação Web3, e como os sistemas bem-sucedidos estão aproveitando dados off-chain em tempo real para encontrar mercado adequado.

Atualmente, a Web3 encontra-se numa situação complicada, não apenas por causa da longa sombra 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 atrativo é uma tarefa difícil:

  1. Comparado 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 os nós são adicionados à rede e o volume de pedidos de escrita aumenta, o desempenho degrada-se 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 livro-razão de blockchain dado cresce significativamente com o uso, ultrapassando os limites da maioria das infraestruturas de banco de dados no mercado atualmente.

As bases de dados operacionais, as bases de dados analíticas e os registos distribuídos são tipos eficazes, mas distintos, de sistemas de gestão de bases de dados. O que confunde muitos sobre as emergentes redes de blockchain peer-to-peer é que estas não são apenas “bases de dados”; muitas também servem como “servidores” para hospedar aplicações de internet (ou “dApps” - aplicações descentralizadas) escritas por qualquer programador capaz.

A maioria das novas tecnologias passa por uma fase de ser sobregeneralizada até que seja encontrado um produto ou mercado adequado. A raiz desses três desafios reside 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 ledgers distribuídos como bancos de dados operacionais ou analíticos (por exemplo, sob uma dApp implantada em uma rede blockchain) é uma combinação particularmente ruim, explicada mais detalhadamente abaixo.

De facto, a comunidade blockchain está a explorar formas inovadoras de lidar com problemas de desempenho sem comprometer a segurança, mas isto leva tempo. O Ethereum fez algumas alterações a este respeito recentemente. A confiança deve ser colocada 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 ainda não.

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

Antes de aprofundarmos como e por que o Web3 pode progredir com dados em tempo real, vamos primeiro considerar as perspectivas futuras do Web3, independentemente dos desafios tríplices que acabamos de identificar.

O que continuará a impulsionar o Web3 para a frente?

Em tais momentos, é importante lembrar que blockchain ≠ criptomoeda. Criptomoeda é uma aplicação do conceito de blockchain e tecnologia subjacente. O mesmo se aplica aos NFTs e ao 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 contraste interessante com o sistema financeiro atual, onde tais registros residem em bases de dados privadas acessíveis apenas através de portais institucionais e legais. Quais são estes casos de uso valiosos e significativos no mundo real?

De acordo com a McKinsey, as maiores plataformas de empréstimos Web3 emitiram $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 no início, mostram uma atividade significativa.

Serviços de identidade digital e gestão da cadeia de abastecimento e logística permanecem como possibilidades óbvias. Casos de uso hipotéticos no suposto metaverso estão a impulsionar investimentos reais, com empresas como o Facebook a pivotar, a rebrandar-se para Meta e a apostar tudo.

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

Estas são especulações públicas seguras tornadas possíveis, mas ainda não resolvidas. Estabelecer conexões de forma legítima (e em alguns casos, fisicamente) entre o mundo real e os NFTs digitais ainda está passando por uma extensa exploração. O provedor Web3 Alchemy observou em seu relatório trimestral que as implementaçõ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, dos desenvolvedores e do interesse institucional tem, de facto, o potencial de atrair energia que impulsiona o blockchain para a frente. À medida que a tecnologia central amadurece, mais valor Web3 será criado. Com mais geração de valor, surgirão novas oportunidades, despertando interesse na regulamentação, questões legais, privacidade de dados e melhorando a experiência dos desenvolvedores e dos utilizadores finais.

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

Os desafios enfrentados pelos produtos blockchain baseados em Proof of Work estendem-se para sua arquitetura subjacente. Bancos de dados operacionais são altamente adequados para armazenamento e recuperação rápida e eficiente de dados. 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.

Os sistemas baseados em blockchain fornecem registos seguros e imutáveis, mas ao custo de desempenho. Tentar usar registos seguros, apenas para adição e imutáveis, como bases de dados operacionais, analíticas ou não relacionais, levará aos seguintes problemas:

Desempenho inaceitável

A pilha de tecnologia Web 2.0 definiu expectativas para uma experiência digital rápida para a maioria das pessoas em todo o mundo, quer estejam a usar tablets, smartphones ou computadores desktop/notebook, sem necessidade de dois minutos a seis horas. A maioria das implementações populares de blockchain baseia-se 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 de dados consistentes em toda a rede de nós.

Volume de Dados Causa Interrupções na Produção

Blockchain não é apenas um problema de “big data”; é um problema de dados massivo e incrivelmente grande que apenas aumenta com o aumento da utilização. Poucas bases de dados operacionais ou analíticas conseguem atingir este nível e ainda menos conseguem alcançar verdadeiramente este nível de escalabilidade linear, reduzindo significativamente a gama de escolha.

Dados contraditórios e imprecisos

A ampla concepção de peer-to-peer, consistência eventual do blockchain e a natureza da Prova de Trabalho tornam-no seguro, mas resultam em dados inconsistentes, tornando-o inadequado como base de dados operacionais ou analíticos para aplicações Web3. Como não há mensagens de erro ou códigos de falha para esses problemas, escrever código de tratamento de erros para testar, interpretar ou resolver esses erros para tentar compensação é demorado ou impossível. Naturalmente, a depuração em produção ou outros momentos críticos é um pesadelo para todas as partes envolvidas. O suporte técnico downstream não será capaz de fornecer respostas aos usuários frustrados, e os desenvolvedores não serão capazes de fornecer respostas ao pessoal de suporte técnico. Isso leva a críticas negativas nas lojas de aplicativos.

Custos de armazenamento/utilização inaceitáveis

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

Outras Considerações

A indexação ou sincronização off-chain de dados da blockchain não é simples, uma vez que estes dados não são legíveis para humanos. Os dados da blockchain requerem decodificação, enriquecimento, reorganização e modelação de dados através de serviços de dados de terceiros antes de poderem ser facilmente utilizados pelos programadores.

Solução: Sincronização de Dados em Tempo Real Fora da Cadeia

A implementação de redes blockchain populares requer tempo para lidar com os problemas de desempenho inerentes ao seu design. O processamento off-chain é uma técnica primária 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, as dApps devem ler dados de bancos de dados off-chain e escrever dados de volta para a cadeia (mas apenas registrar os detalhes mínimos necessários para o resultado da transação final).

Ao sincronizar o estado do blockchain em tempo real com bases de dados operacionais ou analíticas, garante a precisão e atualidade dos dados cruciais para a rápida operação da sua dApp. Em seguida, após a sua dApp e a base de dados off-chain completarem o máximo de pré-processamento possível, submeta os resultados finais de volta para a cadeia.

Ativos estáticos e binários podem utilizar sistemas como o IPFS, mas por razões semelhantes, é prudente considerar o armazenamento de objetos fora da cadeia (como o S3) sempre que possível. Portanto, na prática, uma base de dados fora da cadeia com um clone sempre sincronizado do estado da cadeia deve tornar-se 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 potentes neste nível de capacidade, escala e desempenho.

Com o modelo de dados certo, as aplicações podem experimentar velocidades sub-segundo esperadas em caches em memória como o Redis e sistemas de gestão de base de dados persistentes (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 automaticamente decodificados. Para os desenvolvedores, isso muda a experiência de trabalhar com dados de blockchain em forma hexadecimal bruta, da seguinte forma:

Para dados legíveis por humanos, como se segue:

Então, os desenvolvedores do Web3 geralmente precisam reorganizar e enriquecer os dados da blockchain a partir de serviços de dados de terceiros como Etherscan, whatsabi, metadados de 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 dos SGBD padrão (em vez de terem que aprender APIs de análise de blockchain).

Vamos ver um exemplo:

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

Código de consulta real:

Resposta do sistema:

Então, como é que isto se parece na prática? Para dar vida a isso, dê uma olhada nestas duas aplicações de exemplo (em tempo real) que estão exatamente a usar esses serviços de dados em tempo real fora da cadeia. Os desenvolvedores Web3 devem estar familiarizados com o código-fonte da aplicação; está escrito utilizando a popular biblioteca Web3.js.

Explorador de NFT

Pesquisar todos os NFT criados em segundos

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

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

Explorador de Blockchain

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

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

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 Ethereum.

Oferecer todos esses serviços em serviços de nuvem hospedados ajudaria a superar as hesitações tradicionais para alcançar a usabilidade e o tempo de mercado do estilo de DBMS 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 incorporada do Cassandra foi testada em batalha nos ambientes de produção de internet em escala extrema há mais de uma década.

Vantagens para Aplicações Web3 e Desenvolvedores

Ao minimizar o tamanho das dApps, o armazenamento de dados em blockchain e o processamento off-chain das escritas 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 utilizadores em relação ao desempenho das dApps no seu dispositivo de eleição volta a níveis aceitáveis/expectáveis. Em seguida, os programadores de dApps podem projetar diálogos, ecrãs e alertas de “tempo de espera” apropriados para definir expectativas quando os utilizadores precisam de submeter operações de escrita 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 rápidos e confiáveis fora da cadeia. 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 os sistemas off-chain como bases de dados não relacionais conseguem lidar com grandes volumes de dados, a sua dApp irá cumprir as expetativas de tempo de atividade e de resposta à medida que a blockchain cresce, sem necessidade de redesenhos caros do sistema ou reescritas completas meses após a produção. Trabalhar com o Cassandra—possivelmente a base de dados não relacional mais fiável, escalável e rápida—é também um dos empregos mais bem pagos, de acordo com o mais recente inquérito aos programadores do Stack Overflow.

Benefícios para Empresas

Aplicações quebradas, lentas ou imprecisas podem levar a perdas irreparáveis de utilizadores, receitas e confiança dos investidores. Mas vamos discutir a conversa que todos esperamos ter - que possibilidades emocionantes poderá trazer a sincronização do estado da blockchain em tempo real para uma infraestrutura fora da cadeia, não relacional?

Analisar dApps: Integrar dApps com bases de dados analíticas off-chain abre a perspetiva de opções e casos de uso de toda a "Web 2.0".

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

Autoridade para Trocas de Ativos Digitais: As trocas de NFT necessitam de dados de mercado precisos/atualizados para facilitar as melhores negociações/vendas/trocas. Evitar arrependimento do comprador quando os utilizadores 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 utilizadores.

Funcionalidades baseadas em localização: Saber a localização atual é fundamental para muitas das aplicações móveis de hoje. Traga isso para o seu dApp!

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

Soberania dos Dados: Para cumprir, regulamentar ou por motivos legais, encontrar uma cópia sincronizada do estado da blockchain com o seu dApp (onde quer que esteja implantado no mundo).

O tempo de análise da transação blockchain é determinado pelo protocolo e, sem taxas de gás/transação ou uso de serviços de acelerador, não pode ser acelerado. Ao pré-processar o máximo possível fora da cadeia, pode-se minimizar o tamanho e a frequência das transações para o resultado final. Isso reduzirá os custos de escrita 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 da blockchain. É uma área em que a indústria tem vindo a inovar há mais de uma década. Mas tecnologias como a blockchain ajudam a demonstrar a importância de os dados em tempo real fazerem parte da arquitetura de dados e dos modelos de negócio.

À medida que esperamos pela criptografia quântica como um 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 podem agora ser obtidos através de uma estrutura de custos da Web 2.0. Os dados em tempo real continuarão a ser um elemento central e fundamental de qualquer implementação de blockchain no futuro.

Aviso:

  1. Este artigo foi republicado de [Camada de dadosAIcoin]. Todos os direitos de autor pertencem ao autor original [Pieter Humphrey, DataStax]. Se houver objeções a esta reimpressão, entre em contato com oGate Aprenderequipa e eles vão tratar disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente as 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. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.

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

Principiante2/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 que os tornam inadequados como plataforma geral de computação Web3, e como os sistemas bem-sucedidos estão aproveitando dados off-chain em tempo real para encontrar mercado adequado.

Atualmente, a Web3 encontra-se numa situação complicada, não apenas por causa da longa sombra 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 atrativo é uma tarefa difícil:

  1. Comparado 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 os nós são adicionados à rede e o volume de pedidos de escrita aumenta, o desempenho degrada-se 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 livro-razão de blockchain dado cresce significativamente com o uso, ultrapassando os limites da maioria das infraestruturas de banco de dados no mercado atualmente.

As bases de dados operacionais, as bases de dados analíticas e os registos distribuídos são tipos eficazes, mas distintos, de sistemas de gestão de bases de dados. O que confunde muitos sobre as emergentes redes de blockchain peer-to-peer é que estas não são apenas “bases de dados”; muitas também servem como “servidores” para hospedar aplicações de internet (ou “dApps” - aplicações descentralizadas) escritas por qualquer programador capaz.

A maioria das novas tecnologias passa por uma fase de ser sobregeneralizada até que seja encontrado um produto ou mercado adequado. A raiz desses três desafios reside 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 ledgers distribuídos como bancos de dados operacionais ou analíticos (por exemplo, sob uma dApp implantada em uma rede blockchain) é uma combinação particularmente ruim, explicada mais detalhadamente abaixo.

De facto, a comunidade blockchain está a explorar formas inovadoras de lidar com problemas de desempenho sem comprometer a segurança, mas isto leva tempo. O Ethereum fez algumas alterações a este respeito recentemente. A confiança deve ser colocada 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 ainda não.

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

Antes de aprofundarmos como e por que o Web3 pode progredir com dados em tempo real, vamos primeiro considerar as perspectivas futuras do Web3, independentemente dos desafios tríplices que acabamos de identificar.

O que continuará a impulsionar o Web3 para a frente?

Em tais momentos, é importante lembrar que blockchain ≠ criptomoeda. Criptomoeda é uma aplicação do conceito de blockchain e tecnologia subjacente. O mesmo se aplica aos NFTs e ao 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 contraste interessante com o sistema financeiro atual, onde tais registros residem em bases de dados privadas acessíveis apenas através de portais institucionais e legais. Quais são estes casos de uso valiosos e significativos no mundo real?

De acordo com a McKinsey, as maiores plataformas de empréstimos Web3 emitiram $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 no início, mostram uma atividade significativa.

Serviços de identidade digital e gestão da cadeia de abastecimento e logística permanecem como possibilidades óbvias. Casos de uso hipotéticos no suposto metaverso estão a impulsionar investimentos reais, com empresas como o Facebook a pivotar, a rebrandar-se para Meta e a apostar tudo.

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

Estas são especulações públicas seguras tornadas possíveis, mas ainda não resolvidas. Estabelecer conexões de forma legítima (e em alguns casos, fisicamente) entre o mundo real e os NFTs digitais ainda está passando por uma extensa exploração. O provedor Web3 Alchemy observou em seu relatório trimestral que as implementaçõ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, dos desenvolvedores e do interesse institucional tem, de facto, o potencial de atrair energia que impulsiona o blockchain para a frente. À medida que a tecnologia central amadurece, mais valor Web3 será criado. Com mais geração de valor, surgirão novas oportunidades, despertando interesse na regulamentação, questões legais, privacidade de dados e melhorando a experiência dos desenvolvedores e dos utilizadores finais.

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

Os desafios enfrentados pelos produtos blockchain baseados em Proof of Work estendem-se para sua arquitetura subjacente. Bancos de dados operacionais são altamente adequados para armazenamento e recuperação rápida e eficiente de dados. 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.

Os sistemas baseados em blockchain fornecem registos seguros e imutáveis, mas ao custo de desempenho. Tentar usar registos seguros, apenas para adição e imutáveis, como bases de dados operacionais, analíticas ou não relacionais, levará aos seguintes problemas:

Desempenho inaceitável

A pilha de tecnologia Web 2.0 definiu expectativas para uma experiência digital rápida para a maioria das pessoas em todo o mundo, quer estejam a usar tablets, smartphones ou computadores desktop/notebook, sem necessidade de dois minutos a seis horas. A maioria das implementações populares de blockchain baseia-se 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 de dados consistentes em toda a rede de nós.

Volume de Dados Causa Interrupções na Produção

Blockchain não é apenas um problema de “big data”; é um problema de dados massivo e incrivelmente grande que apenas aumenta com o aumento da utilização. Poucas bases de dados operacionais ou analíticas conseguem atingir este nível e ainda menos conseguem alcançar verdadeiramente este nível de escalabilidade linear, reduzindo significativamente a gama de escolha.

Dados contraditórios e imprecisos

A ampla concepção de peer-to-peer, consistência eventual do blockchain e a natureza da Prova de Trabalho tornam-no seguro, mas resultam em dados inconsistentes, tornando-o inadequado como base de dados operacionais ou analíticos para aplicações Web3. Como não há mensagens de erro ou códigos de falha para esses problemas, escrever código de tratamento de erros para testar, interpretar ou resolver esses erros para tentar compensação é demorado ou impossível. Naturalmente, a depuração em produção ou outros momentos críticos é um pesadelo para todas as partes envolvidas. O suporte técnico downstream não será capaz de fornecer respostas aos usuários frustrados, e os desenvolvedores não serão capazes de fornecer respostas ao pessoal de suporte técnico. Isso leva a críticas negativas nas lojas de aplicativos.

Custos de armazenamento/utilização inaceitáveis

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

Outras Considerações

A indexação ou sincronização off-chain de dados da blockchain não é simples, uma vez que estes dados não são legíveis para humanos. Os dados da blockchain requerem decodificação, enriquecimento, reorganização e modelação de dados através de serviços de dados de terceiros antes de poderem ser facilmente utilizados pelos programadores.

Solução: Sincronização de Dados em Tempo Real Fora da Cadeia

A implementação de redes blockchain populares requer tempo para lidar com os problemas de desempenho inerentes ao seu design. O processamento off-chain é uma técnica primária 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, as dApps devem ler dados de bancos de dados off-chain e escrever dados de volta para a cadeia (mas apenas registrar os detalhes mínimos necessários para o resultado da transação final).

Ao sincronizar o estado do blockchain em tempo real com bases de dados operacionais ou analíticas, garante a precisão e atualidade dos dados cruciais para a rápida operação da sua dApp. Em seguida, após a sua dApp e a base de dados off-chain completarem o máximo de pré-processamento possível, submeta os resultados finais de volta para a cadeia.

Ativos estáticos e binários podem utilizar sistemas como o IPFS, mas por razões semelhantes, é prudente considerar o armazenamento de objetos fora da cadeia (como o S3) sempre que possível. Portanto, na prática, uma base de dados fora da cadeia com um clone sempre sincronizado do estado da cadeia deve tornar-se 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 potentes neste nível de capacidade, escala e desempenho.

Com o modelo de dados certo, as aplicações podem experimentar velocidades sub-segundo esperadas em caches em memória como o Redis e sistemas de gestão de base de dados persistentes (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 automaticamente decodificados. Para os desenvolvedores, isso muda a experiência de trabalhar com dados de blockchain em forma hexadecimal bruta, da seguinte forma:

Para dados legíveis por humanos, como se segue:

Então, os desenvolvedores do Web3 geralmente precisam reorganizar e enriquecer os dados da blockchain a partir de serviços de dados de terceiros como Etherscan, whatsabi, metadados de 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 dos SGBD padrão (em vez de terem que aprender APIs de análise de blockchain).

Vamos ver um exemplo:

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

Código de consulta real:

Resposta do sistema:

Então, como é que isto se parece na prática? Para dar vida a isso, dê uma olhada nestas duas aplicações de exemplo (em tempo real) que estão exatamente a usar esses serviços de dados em tempo real fora da cadeia. Os desenvolvedores Web3 devem estar familiarizados com o código-fonte da aplicação; está escrito utilizando a popular biblioteca Web3.js.

Explorador de NFT

Pesquisar todos os NFT criados em segundos

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

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

Explorador de Blockchain

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

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

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 Ethereum.

Oferecer todos esses serviços em serviços de nuvem hospedados ajudaria a superar as hesitações tradicionais para alcançar a usabilidade e o tempo de mercado do estilo de DBMS 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 incorporada do Cassandra foi testada em batalha nos ambientes de produção de internet em escala extrema há mais de uma década.

Vantagens para Aplicações Web3 e Desenvolvedores

Ao minimizar o tamanho das dApps, o armazenamento de dados em blockchain e o processamento off-chain das escritas 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 utilizadores em relação ao desempenho das dApps no seu dispositivo de eleição volta a níveis aceitáveis/expectáveis. Em seguida, os programadores de dApps podem projetar diálogos, ecrãs e alertas de “tempo de espera” apropriados para definir expectativas quando os utilizadores precisam de submeter operações de escrita 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 rápidos e confiáveis fora da cadeia. 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 os sistemas off-chain como bases de dados não relacionais conseguem lidar com grandes volumes de dados, a sua dApp irá cumprir as expetativas de tempo de atividade e de resposta à medida que a blockchain cresce, sem necessidade de redesenhos caros do sistema ou reescritas completas meses após a produção. Trabalhar com o Cassandra—possivelmente a base de dados não relacional mais fiável, escalável e rápida—é também um dos empregos mais bem pagos, de acordo com o mais recente inquérito aos programadores do Stack Overflow.

Benefícios para Empresas

Aplicações quebradas, lentas ou imprecisas podem levar a perdas irreparáveis de utilizadores, receitas e confiança dos investidores. Mas vamos discutir a conversa que todos esperamos ter - que possibilidades emocionantes poderá trazer a sincronização do estado da blockchain em tempo real para uma infraestrutura fora da cadeia, não relacional?

Analisar dApps: Integrar dApps com bases de dados analíticas off-chain abre a perspetiva de opções e casos de uso de toda a "Web 2.0".

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

Autoridade para Trocas de Ativos Digitais: As trocas de NFT necessitam de dados de mercado precisos/atualizados para facilitar as melhores negociações/vendas/trocas. Evitar arrependimento do comprador quando os utilizadores 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 utilizadores.

Funcionalidades baseadas em localização: Saber a localização atual é fundamental para muitas das aplicações móveis de hoje. Traga isso para o seu dApp!

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

Soberania dos Dados: Para cumprir, regulamentar ou por motivos legais, encontrar uma cópia sincronizada do estado da blockchain com o seu dApp (onde quer que esteja implantado no mundo).

O tempo de análise da transação blockchain é determinado pelo protocolo e, sem taxas de gás/transação ou uso de serviços de acelerador, não pode ser acelerado. Ao pré-processar o máximo possível fora da cadeia, pode-se minimizar o tamanho e a frequência das transações para o resultado final. Isso reduzirá os custos de escrita 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 da blockchain. É uma área em que a indústria tem vindo a inovar há mais de uma década. Mas tecnologias como a blockchain ajudam a demonstrar a importância de os dados em tempo real fazerem parte da arquitetura de dados e dos modelos de negócio.

À medida que esperamos pela criptografia quântica como um 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 podem agora ser obtidos através de uma estrutura de custos da Web 2.0. Os dados em tempo real continuarão a ser um elemento central e fundamental de qualquer implementação de blockchain no futuro.

Aviso:

  1. Este artigo foi republicado de [Camada de dadosAIcoin]. Todos os direitos de autor pertencem ao autor original [Pieter Humphrey, DataStax]. Se houver objeções a esta reimpressão, entre em contato com oGate Aprenderequipa e eles vão tratar disso prontamente.
  2. Aviso de responsabilidade: As opiniões expressas neste artigo são exclusivamente as 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. A menos que seja mencionado, copiar, distribuir ou plagiar os artigos traduzidos é proibido.
Empieza ahora
¡Registrarse y recibe un bono de
$100
!