De nos jours, Web3 se trouve dans une situation délicate, non seulement à cause de l'ombre portée par des acteurs malveillants de haut niveau sur l'écosystème blockchain. Surmonter trois défis majeurs sans abandonner les principes qui rendaient initialement la blockchain attrayante est une tâche difficile :
Comparé aux produits Web 2.0 similaires, le coût du stockage on-chain et des opérations d'écriture est prohibitif.
Le stockage et les opérations d'écriture sur la chaîne sont incroyablement lents (par conception) pour garantir la sécurité promise par les systèmes basés sur la blockchain. À mesure que des nœuds sont ajoutés au réseau et que le volume des demandes d'écriture augmente, les performances se dégradent encore davantage en raison de la nécessité d'un consensus de plus de 51% des nœuds sur la validité des nouvelles données.
La longueur (taille) de tout grand registre de blockchain donné augmente considérablement avec l'utilisation, dépassant les limites de la plupart des infrastructures de base de données sur le marché aujourd'hui.
Les bases de données opérationnelles, les bases de données analytiques et les registres distribués sont des types efficaces mais distincts de systèmes de gestion de base de données. Ce qui confond beaucoup de gens à propos des réseaux blockchain pair-à-pair émergents, c'est qu'ils ne sont pas seulement des « bases de données »; beaucoup servent également de « serveurs » pour héberger des applications Internet (ou « dApps » - applications décentralisées) écrites par n'importe quel développeur capable.
La plupart des nouvelles technologies passent par une phase de sur-généralisation jusqu'à ce qu'un produit ou un marché adapté soit trouvé. La racine de ces trois défis réside dans le même problème de "utiliser le bon outil pour le mauvais travail". Par exemple, la plupart des professionnels de l'informatique n'utiliseraient pas des bases de données opérationnelles comme des bases de données analytiques, et vice versa. L'utilisation de registres distribués comme bases de données opérationnelles ou analytiques (par exemple, dans le cadre d'une dApp déployée sur un réseau blockchain) est particulièrement inadaptée, comme expliqué ci-dessous.
En effet, la communauté blockchain explore des moyens innovants pour résoudre les problèmes de performance sans compromettre la sécurité, mais cela prend du temps. Ethereum a récemment apporté des changements à cet égard. La confiance doit être accordée quelque part. La blockchain éloigne cette confiance du modèle traditionnel de Web 2.0, mais cela ne supprime pas encore le besoin de confiance.
Les données hors chaîne en temps réel fournissent un chemin direct pour Web3 afin de trouver l'adéquation produit/marché. Cependant, cette approche trouve la confiance sous forme de données d'opération/d'analyse pour les dApps au sein des systèmes Web 2.0. Pourtant, les dApps les plus réussis et les services basés sur la blockchain ont fait ce compromis, en utilisant les bons outils pour le bon travail en exploitant les forces de chaque technologie.
Avant de nous plonger plus en profondeur dans la manière dont et pourquoi Web3 peut progresser avec des données en temps réel, examinons d'abord les perspectives futures de Web3, indépendamment des défis triplés que nous venons d'identifier.
En de telles occasions, il est important de se rappeler que la blockchain ≠ cryptomonnaie. La cryptomonnaie est une application du concept de la blockchain et de la technologie sous-jacente. Il en va de même pour les NFT et le concept plus large de Web3. Le concept fondamental de la blockchain - transactions, positions et enregistrements publics immuables de propriété - continue d'offrir un contraste intéressant avec le système financier actuel, où de tels registres résident dans des bases de données privées accessibles uniquement par le biais de passerelles institutionnelles et légales. Quels sont ces cas d'utilisation réels et significatifs?
Selon McKinsey, les plus grandes plateformes de prêt Web3 ont émis 200 milliards de dollars de prêts en 2021. Les prêts, les dépôts, les transferts, les échanges d'actifs, le financement commercial et les assurances sont devenus des cas d'utilisation viables. D'autres plateformes pair à pair, de jeux, sociales et de médias en ligne, bien que lancées tôt, montrent une activité significative.
Les services d'identité numérique et la gestion de la chaîne d'approvisionnement et de la logistique restent des possibilités évidentes. Les cas d'utilisation hypothétiques dans le prétendu métavers stimulent de réels investissements, avec des entreprises comme Facebook pivotant, se repositionnant en Meta et s'engageant pleinement.
Les systèmes de blockchain privée sur des réseaux fermés et protégés (par exemple, Hyperledger Fabric) peuvent ne pas être ce que les créateurs avaient prévu, mais peuvent désormais offrir des cas d'utilisation plus génériques pour des industries et des institutions spécifiques (au prix de ne pas être un système Web3 ouvert au public). Les NFT, ou le concept de jetons uniques, indivisibles et immuables, ont un véritable potentiel de valeur commerciale en représentant numériquement des actifs éphémères du monde réel et en ligne.
Il s'agit de spéculations publiques sécurisées rendues possibles, mais non résolues. Établir légitimement (et parfois physiquement) des liens entre le monde réel et les NFT numériques est encore en cours d'exploration approfondie. Le fournisseur Web3 Alchemy a noté dans son rapport trimestriel que les déploiements de contrats intelligents ont augmenté de 143% par rapport au même trimestre en 2021.
Bien qu'il reste encore des défis importants à relever, comme toute nouvelle idée, l'attrait des fonds d'investissement, des développeurs et de l'intérêt institutionnel a effectivement le potentiel de susciter une énergie propulsant la blockchain vers l'avant. À mesure que la technologie de base mûrit, plus de valeur Web3 sera créée. Avec une génération de valeur accrue, de nouvelles opportunités se présenteront, suscitant l'intérêt pour aborder la réglementation, les problèmes juridiques, la confidentialité des données et l'amélioration des expériences des développeurs et des utilisateurs finaux.
Les défis auxquels sont confrontés les produits blockchain basés sur la Preuve de Travail s'étendent à leur architecture sous-jacente. Les bases de données opérationnelles sont particulièrement adaptées au stockage et à la récupération rapides et efficaces des données. Les bases de données analytiques excellent dans les requêtes rapides et sans fin et l'exploration. Les bases de données non relationnelles offrent massivement des niveaux variables de capacités opérationnelles ou analytiques sans sacrifier les performances et la disponibilité.
Les systèmes basés sur la blockchain fournissent des registres sécurisés et immuables, mais au détriment des performances. Tenter d'utiliser des registres sécurisés, en ajoutant uniquement des registres immuables en tant que bases de données opérationnelles, analytiques ou non relationnelles entraînera les problèmes suivants:
Performances inacceptables
La pile technologique Web 2.0 a fixé des attentes pour une expérience numérique rapide pour la plupart des gens dans le monde, qu'ils utilisent des tablettes, des smartphones ou des ordinateurs de bureau/portables, ne nécessitant pas deux minutes à six heures. La plupart des implémentations de blockchain populaires sont basées sur des algorithmes de preuve de travail lents pour sécuriser les opérations d'écriture vers le stockage de données blockchain et un consensus pair-à-pair lent pour garantir des lectures de données cohérentes à travers le réseau de nœuds.
Le volume de données provoque des interruptions de production
La blockchain n'est pas seulement un problème de "big data"; c'est un problème de données massif, incroyablement volumineux qui ne fait que s'accentuer avec une utilisation accrue. Peu de bases de données opérationnelles ou analytiques peuvent atteindre ce niveau, et encore moins peuvent vraiment atteindre ce niveau de scalabilité linéaire, réduisant considérablement la plage de choix.
Données contradictoires et inexactes
La conception généralisée de la blockchain en pair à pair et à cohérence éventuelle, ainsi que la nature de la preuve de travail, la rendent sécurisée mais entraînent des données incohérentes, ce qui la rend inadaptée en tant que base de données opérationnelle ou analytique pour les applications Web3. Comme il n'y a pas de messages d'erreur ou de codes de défaillance pour ces problèmes, écrire du code de gestion des erreurs pour tester, interpréter ou résoudre ces erreurs pour tenter une compensation est chronophage, voire impossible. Naturellement, le débogage en production ou à d'autres moments critiques est un cauchemar pour toutes les parties impliquées. Le support technique en aval sera incapable de fournir des réponses aux utilisateurs frustrés, et les développeurs seront incapables de fournir des réponses au personnel de support technique. Cela entraîne des avis négatifs dans les magasins d'applications.
Les opérations sur chaîne sont coûteuses : stocker 1 Go de données sur la blockchain Ethereum peut coûter des milliers de dollars.
L'indexation ou la synchronisation hors chaîne des données de la blockchain n'est pas simple, car ces données ne sont pas lisibles par l'homme. Les données de la blockchain nécessitent un décodage, un enrichissement, une réorganisation et une modélisation des données via des services de données tiers avant de pouvoir être facilement utilisées par les développeurs.
La mise en œuvre des réseaux blockchain populaires nécessite du temps pour résoudre les problèmes de performance inhérents à leur conception. Le traitement hors chaîne est une technique principale utilisée par les professionnels de l'informatique réussis pour exploiter pleinement les technologies de base de données existantes et les avantages de la blockchain, en attribuant à chaque technologie le but pour lequel elle est conçue au mieux. En d'autres termes, les dApps devraient lire les données à partir de bases de données hors chaîne et écrire les données de retour sur la chaîne (mais enregistrer uniquement les détails minimaux nécessaires pour le résultat final de la transaction).
En synchronisant l'état de la blockchain avec une base de données opérationnelle ou analytique en temps réel, vous assurez l'exactitude et la mise à jour des données cruciales pour le bon fonctionnement de votre dApp. Ensuite, une fois que votre dApp et la base de données hors chaîne ont terminé autant de prétraitements que possible, soumettez les résultats finaux à la chaîne.
Les actifs statiques et binaires peuvent utiliser des systèmes comme IPFS, mais pour des raisons similaires, il est prudent de considérer le stockage d'objets hors chaîne (comme S3) chaque fois que possible. Par conséquent, en pratique, une base de données hors chaîne avec un clone toujours synchronisé de l'état de la chaîne devrait devenir la cible de lecture/écriture pour autant de charges de travail opérationnelles ou analytiques que possible.
Cependant, comme discuté précédemment, le volume massif de données (surtout au fil du temps) peut submerger la plupart des infrastructures de données. Apache Cassandra est l'un des systèmes de base de données opérationnelles les plus puissants à ce niveau de capacité, d'échelle et de performance.
Avec le bon modèle de données, les applications peuvent bénéficier de vitesses inférieures à la seconde attendues des caches en mémoire comme Redis et des systèmes de gestion de base de données persistants (SGBD). Et si les services de données non relationnelles pouvaient fournir des données historiques et toujours à jour (en temps réel) hors chaîne ?
Pendant le processus d'indexation, les données brutes sont automatiquement décryptées. Pour les développeurs, cela modifie l'expérience de travail avec les données de la blockchain sous forme hexadécimale brute, comme suit :
Pour les données lisibles par l'homme, comme suit :
Ensuite, les développeurs Web3 doivent généralement réorganiser et enrichir les données de la blockchain à partir de services de données tiers tels que Etherscan, whatsabi, les métadonnées NFT, etc., pour les rendre utiles pour les requêtes les plus simples. Si les données enrichies sont ensuite modélisées en tables de base de données interrogeables, les développeurs auront toutes les capacités des langages de requête standard des SGBDR (au lieu de devoir apprendre les API d'analyse de la blockchain).
Jetons un coup d'œil à un exemple :
Intention du développeur : Rechercher cinq entrées du groupe de blocs 134
Code de requête réel :
Réponse du système :
Alors, à quoi cela ressemble-t-il en pratique ? Pour le concrétiser, jetez un œil à ces deux applications d'exemple (en temps réel) qui utilisent exactement de tels services de données temps réel hors chaîne. Les développeurs Web3 devraient être familiers avec le code source de l'application ; il est écrit en utilisant la bibliothèque populaire Web3.js.
Explorateur NFT
Recherchez chaque NFT créé en quelques secondes
Extraire l'historique des transferts d'un NFT en un seul appel API
NFT Explorer est construit avec React et Next JS, offrant aux utilisateurs une vue complète des NFT qui ont été créés ou transférés en temps réel sur la blockchain Ethereum.
Explorateur de blockchain
Extraire les prix historiques du gaz par numéro de bloc
Récupérer les quantités de transfert ERC20 par numéro de bloc
Comme le NFT Explorer, cet explorateur de données blockchain extrait toutes les données blockchain des données hors chaîne, fournissant aux utilisateurs une vue en temps réel des derniers blocs minés et des dernières transactions Ethereum.
Proposer tous ces services sur des services cloud hébergés aiderait à surmonter les hésitations traditionnelles pour atteindre la facilité d'utilisation et le temps de mise sur le marché du style de SGBDR relationnel. Construire de tels services sur Cassandra peut offrir de manière unique la possibilité de colocaliser ces données avec vos applications Web3 dans n'importe quelle région ou multi-région sans avoir besoin de sharding. La réplication intégrée de Cassandra a été testée dans les environnements de production à l'échelle de l'internet les plus extrêmes depuis plus d'une décennie.
En minimisant la taille des dApps, le stockage des données de la blockchain et le traitement hors chaîne des écritures de la blockchain, les coûts opérationnels de la plupart des cas d’utilisation seront réalignés sur les niveaux du Web 2.0. L’expérience des utilisateurs en matière de performances de la dApp sur l’appareil de leur choix revient à des niveaux acceptables/attendus. Ensuite, les développeurs de dApps peuvent concevoir des dialogues, des écrans et des alertes appropriés pour définir les attentes lorsque les utilisateurs doivent soumettre des opérations d’écriture à un système basé sur la blockchain.
Les plus grands et les plus difficiles problèmes de cohérence des données sont résolus, car la plupart des données opérationnelles pour une dApp sont stockées dans des bases de données externes rapides et fiables. Cela peut vous faire gagner des heures de débogage frustrant (et potentiellement infructueux) et éviter des erreurs de production qui pourraient être impossibles à résoudre.
Parce que les systèmes hors chaîne comme les bases de données non relationnelles peuvent gérer de gros volumes de données, votre dApp répondra aux attentes en matière de disponibilité et de temps de réponse à mesure que la blockchain se développera, sans avoir besoin de coûteuses refontes de système ou de réécritures complètes des mois après la mise en production. Travailler avec Cassandra, sans doute la base de données non relationnelle la plus fiable, évolutive et rapide, est également l'un des emplois les mieux rémunérés, selon la dernière enquête des développeurs de Stack Overflow.
Les applications cassées, lentes ou inexactes peuvent entraîner des pertes irréparables d'utilisateurs, de revenus et de confiance des investisseurs. Mais parlons de la conversation que nous espérons tous avoir : quelles excitantes possibilités pourraient apporter la synchronisation de l'état de la blockchain en temps réel avec une infrastructure hors chaîne et non relationnelle ?
Analyser les dApps : l'intégration des dApps avec des bases de données analytiques hors chaîne ouvre la perspective d'options et de cas d'utilisation de l'ensemble du « Web 2.0 ».
Capacités de détection/prévention de la fraude : Construisez des dApps qui peuvent expulser les acteurs malveillants ou signaler/bloquer les abus, protégeant ainsi votre communauté d'utilisateurs et votre entreprise.
Autorité pour les échanges d'actifs numériques : les échanges de NFT nécessitent des données de marché précises/mises à jour pour faciliter les meilleures transactions/ventes/échanges. Évitez les regrets des acheteurs lorsque les utilisateurs voient l'article qu'ils ont acheté à un prix inférieur quelques minutes plus tard, ainsi que des processus de remboursement intensifs en ressources et des avis négatifs des utilisateurs.
Fonctionnalités basées sur l'emplacement : Connaître l'emplacement actuel est fondamental pour de nombreuses applications mobiles d'aujourd'hui. Apportez-le à votre dApp !
Applications IoT : La vitesse et la capacité d'écriture des données générées par machine à partir de logiciels ou de matériels ne peuvent être gérées de manière intransigeante que par des bases de données non relationnelles.
Souveraineté des données : Pour des raisons de conformité, réglementaires ou légales, trouvez une copie synchronisée de l'état de la blockchain avec votre dApp (où qu'elle soit déployée dans le monde).
Le temps d'analyse des transactions de la blockchain est déterminé par le protocole, et sans frais de gaz/de transaction ou l'utilisation de services d'accélération, il ne peut pas être accéléré. En prétraitant autant que possible hors chaîne, vous pouvez minimiser la taille et la fréquence des transactions pour le résultat final. Cela réduira les coûts d'écriture de la chaîne pour tout cas d'utilisation et améliorera la vitesse de l'application décentralisée (dApp).
Cet accent mis sur les données en temps réel va au-delà de la blockchain. C'est un domaine dans lequel l'industrie innove depuis plus d'une décennie. Mais des technologies comme la blockchain aident à démontrer l'importance des données en temps réel faisant partie de l'architecture des données et des modèles commerciaux.
Alors que nous attendons un service de cryptographie quantique, l'ubiquité des horloges atomiques et de nouvelles innovations dans les algorithmes de consensus distribué, les données en temps réel peuvent désormais être obtenues grâce à une structure de coûts Web 2.0. Les données en temps réel resteront un élément fondamental et central de toute mise en œuvre future de la blockchain.
แชร์
เนื้อหา
De nos jours, Web3 se trouve dans une situation délicate, non seulement à cause de l'ombre portée par des acteurs malveillants de haut niveau sur l'écosystème blockchain. Surmonter trois défis majeurs sans abandonner les principes qui rendaient initialement la blockchain attrayante est une tâche difficile :
Comparé aux produits Web 2.0 similaires, le coût du stockage on-chain et des opérations d'écriture est prohibitif.
Le stockage et les opérations d'écriture sur la chaîne sont incroyablement lents (par conception) pour garantir la sécurité promise par les systèmes basés sur la blockchain. À mesure que des nœuds sont ajoutés au réseau et que le volume des demandes d'écriture augmente, les performances se dégradent encore davantage en raison de la nécessité d'un consensus de plus de 51% des nœuds sur la validité des nouvelles données.
La longueur (taille) de tout grand registre de blockchain donné augmente considérablement avec l'utilisation, dépassant les limites de la plupart des infrastructures de base de données sur le marché aujourd'hui.
Les bases de données opérationnelles, les bases de données analytiques et les registres distribués sont des types efficaces mais distincts de systèmes de gestion de base de données. Ce qui confond beaucoup de gens à propos des réseaux blockchain pair-à-pair émergents, c'est qu'ils ne sont pas seulement des « bases de données »; beaucoup servent également de « serveurs » pour héberger des applications Internet (ou « dApps » - applications décentralisées) écrites par n'importe quel développeur capable.
La plupart des nouvelles technologies passent par une phase de sur-généralisation jusqu'à ce qu'un produit ou un marché adapté soit trouvé. La racine de ces trois défis réside dans le même problème de "utiliser le bon outil pour le mauvais travail". Par exemple, la plupart des professionnels de l'informatique n'utiliseraient pas des bases de données opérationnelles comme des bases de données analytiques, et vice versa. L'utilisation de registres distribués comme bases de données opérationnelles ou analytiques (par exemple, dans le cadre d'une dApp déployée sur un réseau blockchain) est particulièrement inadaptée, comme expliqué ci-dessous.
En effet, la communauté blockchain explore des moyens innovants pour résoudre les problèmes de performance sans compromettre la sécurité, mais cela prend du temps. Ethereum a récemment apporté des changements à cet égard. La confiance doit être accordée quelque part. La blockchain éloigne cette confiance du modèle traditionnel de Web 2.0, mais cela ne supprime pas encore le besoin de confiance.
Les données hors chaîne en temps réel fournissent un chemin direct pour Web3 afin de trouver l'adéquation produit/marché. Cependant, cette approche trouve la confiance sous forme de données d'opération/d'analyse pour les dApps au sein des systèmes Web 2.0. Pourtant, les dApps les plus réussis et les services basés sur la blockchain ont fait ce compromis, en utilisant les bons outils pour le bon travail en exploitant les forces de chaque technologie.
Avant de nous plonger plus en profondeur dans la manière dont et pourquoi Web3 peut progresser avec des données en temps réel, examinons d'abord les perspectives futures de Web3, indépendamment des défis triplés que nous venons d'identifier.
En de telles occasions, il est important de se rappeler que la blockchain ≠ cryptomonnaie. La cryptomonnaie est une application du concept de la blockchain et de la technologie sous-jacente. Il en va de même pour les NFT et le concept plus large de Web3. Le concept fondamental de la blockchain - transactions, positions et enregistrements publics immuables de propriété - continue d'offrir un contraste intéressant avec le système financier actuel, où de tels registres résident dans des bases de données privées accessibles uniquement par le biais de passerelles institutionnelles et légales. Quels sont ces cas d'utilisation réels et significatifs?
Selon McKinsey, les plus grandes plateformes de prêt Web3 ont émis 200 milliards de dollars de prêts en 2021. Les prêts, les dépôts, les transferts, les échanges d'actifs, le financement commercial et les assurances sont devenus des cas d'utilisation viables. D'autres plateformes pair à pair, de jeux, sociales et de médias en ligne, bien que lancées tôt, montrent une activité significative.
Les services d'identité numérique et la gestion de la chaîne d'approvisionnement et de la logistique restent des possibilités évidentes. Les cas d'utilisation hypothétiques dans le prétendu métavers stimulent de réels investissements, avec des entreprises comme Facebook pivotant, se repositionnant en Meta et s'engageant pleinement.
Les systèmes de blockchain privée sur des réseaux fermés et protégés (par exemple, Hyperledger Fabric) peuvent ne pas être ce que les créateurs avaient prévu, mais peuvent désormais offrir des cas d'utilisation plus génériques pour des industries et des institutions spécifiques (au prix de ne pas être un système Web3 ouvert au public). Les NFT, ou le concept de jetons uniques, indivisibles et immuables, ont un véritable potentiel de valeur commerciale en représentant numériquement des actifs éphémères du monde réel et en ligne.
Il s'agit de spéculations publiques sécurisées rendues possibles, mais non résolues. Établir légitimement (et parfois physiquement) des liens entre le monde réel et les NFT numériques est encore en cours d'exploration approfondie. Le fournisseur Web3 Alchemy a noté dans son rapport trimestriel que les déploiements de contrats intelligents ont augmenté de 143% par rapport au même trimestre en 2021.
Bien qu'il reste encore des défis importants à relever, comme toute nouvelle idée, l'attrait des fonds d'investissement, des développeurs et de l'intérêt institutionnel a effectivement le potentiel de susciter une énergie propulsant la blockchain vers l'avant. À mesure que la technologie de base mûrit, plus de valeur Web3 sera créée. Avec une génération de valeur accrue, de nouvelles opportunités se présenteront, suscitant l'intérêt pour aborder la réglementation, les problèmes juridiques, la confidentialité des données et l'amélioration des expériences des développeurs et des utilisateurs finaux.
Les défis auxquels sont confrontés les produits blockchain basés sur la Preuve de Travail s'étendent à leur architecture sous-jacente. Les bases de données opérationnelles sont particulièrement adaptées au stockage et à la récupération rapides et efficaces des données. Les bases de données analytiques excellent dans les requêtes rapides et sans fin et l'exploration. Les bases de données non relationnelles offrent massivement des niveaux variables de capacités opérationnelles ou analytiques sans sacrifier les performances et la disponibilité.
Les systèmes basés sur la blockchain fournissent des registres sécurisés et immuables, mais au détriment des performances. Tenter d'utiliser des registres sécurisés, en ajoutant uniquement des registres immuables en tant que bases de données opérationnelles, analytiques ou non relationnelles entraînera les problèmes suivants:
Performances inacceptables
La pile technologique Web 2.0 a fixé des attentes pour une expérience numérique rapide pour la plupart des gens dans le monde, qu'ils utilisent des tablettes, des smartphones ou des ordinateurs de bureau/portables, ne nécessitant pas deux minutes à six heures. La plupart des implémentations de blockchain populaires sont basées sur des algorithmes de preuve de travail lents pour sécuriser les opérations d'écriture vers le stockage de données blockchain et un consensus pair-à-pair lent pour garantir des lectures de données cohérentes à travers le réseau de nœuds.
Le volume de données provoque des interruptions de production
La blockchain n'est pas seulement un problème de "big data"; c'est un problème de données massif, incroyablement volumineux qui ne fait que s'accentuer avec une utilisation accrue. Peu de bases de données opérationnelles ou analytiques peuvent atteindre ce niveau, et encore moins peuvent vraiment atteindre ce niveau de scalabilité linéaire, réduisant considérablement la plage de choix.
Données contradictoires et inexactes
La conception généralisée de la blockchain en pair à pair et à cohérence éventuelle, ainsi que la nature de la preuve de travail, la rendent sécurisée mais entraînent des données incohérentes, ce qui la rend inadaptée en tant que base de données opérationnelle ou analytique pour les applications Web3. Comme il n'y a pas de messages d'erreur ou de codes de défaillance pour ces problèmes, écrire du code de gestion des erreurs pour tester, interpréter ou résoudre ces erreurs pour tenter une compensation est chronophage, voire impossible. Naturellement, le débogage en production ou à d'autres moments critiques est un cauchemar pour toutes les parties impliquées. Le support technique en aval sera incapable de fournir des réponses aux utilisateurs frustrés, et les développeurs seront incapables de fournir des réponses au personnel de support technique. Cela entraîne des avis négatifs dans les magasins d'applications.
Les opérations sur chaîne sont coûteuses : stocker 1 Go de données sur la blockchain Ethereum peut coûter des milliers de dollars.
L'indexation ou la synchronisation hors chaîne des données de la blockchain n'est pas simple, car ces données ne sont pas lisibles par l'homme. Les données de la blockchain nécessitent un décodage, un enrichissement, une réorganisation et une modélisation des données via des services de données tiers avant de pouvoir être facilement utilisées par les développeurs.
La mise en œuvre des réseaux blockchain populaires nécessite du temps pour résoudre les problèmes de performance inhérents à leur conception. Le traitement hors chaîne est une technique principale utilisée par les professionnels de l'informatique réussis pour exploiter pleinement les technologies de base de données existantes et les avantages de la blockchain, en attribuant à chaque technologie le but pour lequel elle est conçue au mieux. En d'autres termes, les dApps devraient lire les données à partir de bases de données hors chaîne et écrire les données de retour sur la chaîne (mais enregistrer uniquement les détails minimaux nécessaires pour le résultat final de la transaction).
En synchronisant l'état de la blockchain avec une base de données opérationnelle ou analytique en temps réel, vous assurez l'exactitude et la mise à jour des données cruciales pour le bon fonctionnement de votre dApp. Ensuite, une fois que votre dApp et la base de données hors chaîne ont terminé autant de prétraitements que possible, soumettez les résultats finaux à la chaîne.
Les actifs statiques et binaires peuvent utiliser des systèmes comme IPFS, mais pour des raisons similaires, il est prudent de considérer le stockage d'objets hors chaîne (comme S3) chaque fois que possible. Par conséquent, en pratique, une base de données hors chaîne avec un clone toujours synchronisé de l'état de la chaîne devrait devenir la cible de lecture/écriture pour autant de charges de travail opérationnelles ou analytiques que possible.
Cependant, comme discuté précédemment, le volume massif de données (surtout au fil du temps) peut submerger la plupart des infrastructures de données. Apache Cassandra est l'un des systèmes de base de données opérationnelles les plus puissants à ce niveau de capacité, d'échelle et de performance.
Avec le bon modèle de données, les applications peuvent bénéficier de vitesses inférieures à la seconde attendues des caches en mémoire comme Redis et des systèmes de gestion de base de données persistants (SGBD). Et si les services de données non relationnelles pouvaient fournir des données historiques et toujours à jour (en temps réel) hors chaîne ?
Pendant le processus d'indexation, les données brutes sont automatiquement décryptées. Pour les développeurs, cela modifie l'expérience de travail avec les données de la blockchain sous forme hexadécimale brute, comme suit :
Pour les données lisibles par l'homme, comme suit :
Ensuite, les développeurs Web3 doivent généralement réorganiser et enrichir les données de la blockchain à partir de services de données tiers tels que Etherscan, whatsabi, les métadonnées NFT, etc., pour les rendre utiles pour les requêtes les plus simples. Si les données enrichies sont ensuite modélisées en tables de base de données interrogeables, les développeurs auront toutes les capacités des langages de requête standard des SGBDR (au lieu de devoir apprendre les API d'analyse de la blockchain).
Jetons un coup d'œil à un exemple :
Intention du développeur : Rechercher cinq entrées du groupe de blocs 134
Code de requête réel :
Réponse du système :
Alors, à quoi cela ressemble-t-il en pratique ? Pour le concrétiser, jetez un œil à ces deux applications d'exemple (en temps réel) qui utilisent exactement de tels services de données temps réel hors chaîne. Les développeurs Web3 devraient être familiers avec le code source de l'application ; il est écrit en utilisant la bibliothèque populaire Web3.js.
Explorateur NFT
Recherchez chaque NFT créé en quelques secondes
Extraire l'historique des transferts d'un NFT en un seul appel API
NFT Explorer est construit avec React et Next JS, offrant aux utilisateurs une vue complète des NFT qui ont été créés ou transférés en temps réel sur la blockchain Ethereum.
Explorateur de blockchain
Extraire les prix historiques du gaz par numéro de bloc
Récupérer les quantités de transfert ERC20 par numéro de bloc
Comme le NFT Explorer, cet explorateur de données blockchain extrait toutes les données blockchain des données hors chaîne, fournissant aux utilisateurs une vue en temps réel des derniers blocs minés et des dernières transactions Ethereum.
Proposer tous ces services sur des services cloud hébergés aiderait à surmonter les hésitations traditionnelles pour atteindre la facilité d'utilisation et le temps de mise sur le marché du style de SGBDR relationnel. Construire de tels services sur Cassandra peut offrir de manière unique la possibilité de colocaliser ces données avec vos applications Web3 dans n'importe quelle région ou multi-région sans avoir besoin de sharding. La réplication intégrée de Cassandra a été testée dans les environnements de production à l'échelle de l'internet les plus extrêmes depuis plus d'une décennie.
En minimisant la taille des dApps, le stockage des données de la blockchain et le traitement hors chaîne des écritures de la blockchain, les coûts opérationnels de la plupart des cas d’utilisation seront réalignés sur les niveaux du Web 2.0. L’expérience des utilisateurs en matière de performances de la dApp sur l’appareil de leur choix revient à des niveaux acceptables/attendus. Ensuite, les développeurs de dApps peuvent concevoir des dialogues, des écrans et des alertes appropriés pour définir les attentes lorsque les utilisateurs doivent soumettre des opérations d’écriture à un système basé sur la blockchain.
Les plus grands et les plus difficiles problèmes de cohérence des données sont résolus, car la plupart des données opérationnelles pour une dApp sont stockées dans des bases de données externes rapides et fiables. Cela peut vous faire gagner des heures de débogage frustrant (et potentiellement infructueux) et éviter des erreurs de production qui pourraient être impossibles à résoudre.
Parce que les systèmes hors chaîne comme les bases de données non relationnelles peuvent gérer de gros volumes de données, votre dApp répondra aux attentes en matière de disponibilité et de temps de réponse à mesure que la blockchain se développera, sans avoir besoin de coûteuses refontes de système ou de réécritures complètes des mois après la mise en production. Travailler avec Cassandra, sans doute la base de données non relationnelle la plus fiable, évolutive et rapide, est également l'un des emplois les mieux rémunérés, selon la dernière enquête des développeurs de Stack Overflow.
Les applications cassées, lentes ou inexactes peuvent entraîner des pertes irréparables d'utilisateurs, de revenus et de confiance des investisseurs. Mais parlons de la conversation que nous espérons tous avoir : quelles excitantes possibilités pourraient apporter la synchronisation de l'état de la blockchain en temps réel avec une infrastructure hors chaîne et non relationnelle ?
Analyser les dApps : l'intégration des dApps avec des bases de données analytiques hors chaîne ouvre la perspective d'options et de cas d'utilisation de l'ensemble du « Web 2.0 ».
Capacités de détection/prévention de la fraude : Construisez des dApps qui peuvent expulser les acteurs malveillants ou signaler/bloquer les abus, protégeant ainsi votre communauté d'utilisateurs et votre entreprise.
Autorité pour les échanges d'actifs numériques : les échanges de NFT nécessitent des données de marché précises/mises à jour pour faciliter les meilleures transactions/ventes/échanges. Évitez les regrets des acheteurs lorsque les utilisateurs voient l'article qu'ils ont acheté à un prix inférieur quelques minutes plus tard, ainsi que des processus de remboursement intensifs en ressources et des avis négatifs des utilisateurs.
Fonctionnalités basées sur l'emplacement : Connaître l'emplacement actuel est fondamental pour de nombreuses applications mobiles d'aujourd'hui. Apportez-le à votre dApp !
Applications IoT : La vitesse et la capacité d'écriture des données générées par machine à partir de logiciels ou de matériels ne peuvent être gérées de manière intransigeante que par des bases de données non relationnelles.
Souveraineté des données : Pour des raisons de conformité, réglementaires ou légales, trouvez une copie synchronisée de l'état de la blockchain avec votre dApp (où qu'elle soit déployée dans le monde).
Le temps d'analyse des transactions de la blockchain est déterminé par le protocole, et sans frais de gaz/de transaction ou l'utilisation de services d'accélération, il ne peut pas être accéléré. En prétraitant autant que possible hors chaîne, vous pouvez minimiser la taille et la fréquence des transactions pour le résultat final. Cela réduira les coûts d'écriture de la chaîne pour tout cas d'utilisation et améliorera la vitesse de l'application décentralisée (dApp).
Cet accent mis sur les données en temps réel va au-delà de la blockchain. C'est un domaine dans lequel l'industrie innove depuis plus d'une décennie. Mais des technologies comme la blockchain aident à démontrer l'importance des données en temps réel faisant partie de l'architecture des données et des modèles commerciaux.
Alors que nous attendons un service de cryptographie quantique, l'ubiquité des horloges atomiques et de nouvelles innovations dans les algorithmes de consensus distribué, les données en temps réel peuvent désormais être obtenues grâce à une structure de coûts Web 2.0. Les données en temps réel resteront un élément fondamental et central de toute mise en œuvre future de la blockchain.