logo academy

Les Cloud Wars: du Web2 à The Graph

30 juin, 2022
11 min
Les Cloud Wars: du Web2 à The Graph
intermédiaire
Tu apprendras

    Être humain, c’est se souvenir : nos mémoires définissent notre identité. Les technologies d’aujourd’hui peuvent donc nous rendre infiniment plus conscients, en stockant pour nous des informations, des idées, des projets. Ainsi, nous sortons dans le monde enveloppés dans des “clouds ” de données (de l’anglais, nuage) : c’est ce que signifie le stockage cloud, une solution à l’oubli. Les services de cloud ont évolué au fil du temps et, en s’intégrant au p2p et à la blockchain, ont donné naissance à plusieurs solutions décentralisées : ici,  nous expliquons ce qu’est IPFS, la différence entre Filecoin et Storj, et enfin nous atteindrons la dernière étape de l’innovation, The Graph.

    Stockage cloud : des nuages de données

    Qu’est-ce que l’informatique dématérialisée ? Également appelée “cloud computing”, elle utilise internet pour fournir une puissance de calcul sous forme de traitement et de transmission de données. Cependant, les services de “stockage cloud” constituent la prémisse de l’informatique dématérialisée : le traitement des données dépend strictement des systèmes utilisés pour les stocker.

    Le stockage cloud a un exemple pour chaque entreprise de haute technologie : OneDrive pour Microsoft, Amazon S3 (AWS), Google Cloud Platform, dont nous connaissons tous Google Drive, mais aussi Dropbox sont des solutions bien connues pour le stockage cloud en ligne.

    Toutes les alternatives offrent, au fond, le même potentiel, mais qu’ont-elles vraiment en commun ? Les services de stockage cloud étant fournis par des parties privées, qui possèdent l’ensemble de l’infrastructure, ils sont donc centralisés.

    Si l’on exclut les jugements de valeur, la centralisation présente des aspects controversés : il est essentiel de sauvegarder des photos, des documents et des contacts, mais notre vie privée est-elle également préservée ? En confiant la sécurité de fichiers importants à des tiers, nous renonçons au secret des informations sensibles.

    En outre, les fichiers stockés dans des clouds centralisés pourraient être menacés : un dysfonctionnement, une catastrophe naturelle ou une violation des mesures de sécurité entraîneraient une inaccessibilité prolongée ou une perte incontestable des données, précisément parce que leur stockage a été centralisé auprès d’une seule autorité de confiance.

    La question du stockage et du partage des données joue un rôle important dans le moment de transition dans lequel se trouve internet : le cloud a fortement caractérisé le Web2 sous une forme centralisée, cependant, une tendance du Web3 est celle de l’Edge Computing. Pour l’essentiel, le traitement des données se fera de plus en plus à la “périphérie” d’internet, directement sur nos appareils, à la limite de internet des objets (IOT). Pour en savoir plus sur le concept de Web3, voir l’entrée du glossaire.

    Afin de rendre les systèmes indépendants des problèmes liés à un serveur central, tant en termes de calcul que de mémoire, il est également nécessaire de développer des solutions de décentralisation : assurer la confidentialité et la continuité du service en répartissant le stockage entre les nœuds, dont la fiabilité est garantie par des protocoles impartiaux plutôt que par la réputation d’une entreprise.

    Qu’est-ce que l’IPFS : des nébuleuses de données interplanétaires

    Comment ton navigateur a-t-il trouvé la Young Platform Academy parmi les innombrables pages du World Wide Web ? Le protocole HTTP (HyperText Transfer Protocol) gère les recherches effectuées par le client, en transmettant les ressources demandées depuis un serveur centralisé.

    IPFS (InterPlanetary File System) est la version décentralisée de HTTP : un réseau de nœuds peer-to-peer qui collaborent pour stocker et partager des informations, gérant ainsi un service de stockage cloud. Cependant, pourquoi devons-nous décentraliser le contenu du Web ?

    Tout d’abord, la navigation sur le net est actuellement inefficace et coûteuse pour les systèmes client/serveur : HTTP télécharge les fichiers d’une base de données à la fois, alors qu’IPFS récupère les informations de plusieurs nœuds simultanément, ce qui permet d’économiser de la bande passante.

    En outre, les fonctions de stockage cloud d’IPFS respectent la vision originale du web, en le rendant libre et véritablement égalitaire. Aujourd’hui, internet est basé sur les concepts de propriété et d’accès, la décentralisation les remplacera par le partage et la participation : avec HTTP, tu reçois des fichiers de ceux qui les détiennent dans des centres de données privés, si tu y es autorisé à y accéder ; alors qu’avec IPFS, beaucoup possèdent les fichiers des uns les autres et participent à leur mise à disposition. 

    Enfin, la distribution entre les nœuds favorise la résilience d’internet, c’est-à-dire la persistance du contenu dans le temps, tout en rendant les fichiers eux-mêmes incentivables : dans IPFS, les fichiers sont conservés en plusieurs copies, stockées à différents endroits. Cette redondance permet d’éviter que les informations ne soient masquées ou supprimées par la volonté d’un individu. IPFS donne une nouvelle définition du stockage cloud : décentralisé, égalitaire et sécurisé.

    Comment fonctionne IPFS : l’identifiant de contenu

    En gros, comment fonctionne le cloud IPFS ? En révolutionnant le concept d’accessibilité : ce protocole récupère les informations en fonction du contenu et non de la localisation. Cela se fait par le biais du Content Identifier (CID), un code attribué à chaque fichier, qui remplace l’adresse IP du serveur centralisé. Chaque fichier est également divisé en parties plus petites, qui sont liées cryptographiquement par un mécanisme de hachage.

    Lorsqu’un fichier, trouvé grâce au CID, est visualisé ou téléchargé, les nœuds clients en conservent une copie en cache, ce qui rend le web plus rapide : le fait de pouvoir obtenir du contenu de pairs géographiquement proches, au lieu de le recevoir d’un matériel centralisé distant, accélère le partage des connaissances. Enfin, dans le cloud IPFS, les nœuds peuvent “épingler” des fichiers, de sorte qu’ils soient disponibles en permanence et en permanence à leur adresse, par le biais du “pinning“.

    Que peut-on faire avec le cloud IPFS ? Outre le stockage de données, tu peux fournir des services par le biais du CDN (Content Delivery Network) p2p. En outre, IPFS est utile aux développeurs de blockchain : le CID permet de stocker des fichiers volumineux hors chaîne et de les récupérer ultérieurement via des liens immuables.

    Peu importe que tu sois isolé ou que tu disposes d’une mauvaise connexion, la décentralisation interplanétaire d’IPFS te permettra d’accéder facilement à chaque fichier, à condition que tous les nœuds du réseau participent activement. En fait, ce projet de stockage universel, qui vise à distribuer la totalité de la base de données de Wikipédia par le biais de la mise en miroir du contenu, ne peut fonctionner que si un nombre croissant de nœuds collaborent au stockage cloud des fichiers.

    Cependant, il est difficile d’atteindre l’évolutivité en se basant uniquement sur la participation volontaire : ainsi, des incitations basées sur les crypto-tokens et la technologie blockchain ont été ajoutées aux fonctionnalités de stockage cloud d’IPFS : voici FileCoin et Storj.

    Filecoin vs Storj vs The Graph

    FileCoin vs StorJ : la mémoire bon marché

    Pour mieux comprendre ce qu’est le stockage cloud, imagine que tu es en train de ranger ta chambre : tu trouveras toutes sortes d’objets dans tes tiroirs, mais bien sûr tu ne stockeras que ce qui t’intéresse. De même, chaque nœud du cloud IPFS se débarrasse des copies de cache dont il n’a pas besoin. Cela ne favorise cependant pas l’intérêt pour le stockage des données issu des autres utilisateurs : tu n’empileras jamais les bandes dessinées de ton frère sur ton bureau !

    Filecoin propose une solution : un protocole incitatif, complémentaire au stockage cloud IPFS, qui peut créer une place de marché pour le stockage distribué. Les nœuds Filecoin, qui sont en même temps des pairs d’IPFS, peuvent “louer” leur stockage en échange de tokens FIL.

    L’incitation économique garantit l’évolutivité du cloud IPFS, mais comment assurer la fiabilité des nœuds indépendants et décentralisés ? Ceux qui fournissent de l’espace en Filecoin ne seront récompensés que s’ils peuvent fournir la preuve de leur travail : la vérification se fera par des mécanismes de Proof-of-Replication (PoRep) et de Proof-of-Spacetime (PoSt), deux formes de Proof-of-Work.

    Ainsi, les mineurs sont responsables de l’archivage et de la récupération des fichiers mais, afin d’être compétitifs, ils ne peuvent être en charge que d’une seule de ces deux actions. Les mineurs chargés de l’archivage doivent donc donner des fonds en garantie, en versant des garanties proportionnelles à la quantité de données traitées, comme mesure anti-fraude supplémentaire.

    La mission de la crypto StorJ est la même : par le biais du token du même nom (STORJ), encourager les utilisateurs à partager leurs ressources de stockage inutilisées. Un petit nœud pourrait avoir accès à une électricité moins chère que les centres de données centralisés, offrant ainsi une alternative moins coûteuse au cloud.

    Les paiements dans le réseau de StorJ sont administrés par des satellites, des modules qui coordonnent les opérations entre les clients et les nœuds : ils récompensent les dépôts pour la quantité de mémoire et de bande passante qu’ils fournissent continuellement au cloud.

    Les satellites testeront en effet les nœuds de temps en temps, lors de ce que l’on appelle des audits, pour vérifier leur engagement : si une adresse fait preuve d’inactivité, elle sera privée d’une partie de sa récompense. Les tokens confisqués seront ensuite utilisés pour récupérer les fichiers endommagés ou pour créer d’autres nœuds dans le cloud. Les satellites sont à leur tour rémunérés pour leurs actions de conservation et pour le stockage de certaines métadonnées (comme l’emplacement des fichiers dans le cloud).

    Le stockage cloud de StorJ est basé sur un smart contract p2p qui permet de faire correspondre l’offre et la demande d’espace de stockage, dont le coût est fixé par les nœuds fournisseurs par le biais de StorJShare. Le protocole open-source de la crypto StorJ rend les informations redondantes et, grâce au cryptage, sécurisées ; en outre, le code de StorJ est compatible avec Amazon S3.

    The graph : réarranger les nuages

    Depuis que tu as réalisé ce qu’est le stockage cloud sur blockchain, les primes de stockage ont transformé ta chambre en salle de stockage : tu as donné cet espace à ton frère, mais ensuite le reste de la famille a également pris des dispositions avec toi. Tu es un petit nœud dans un réseau de stockage, mais essaye maintenant de trouver ta photo de ton premier jour d’école dans ces archives partagées : il te faudra fouiller dans chaque armoire, boîte et classeur pour la trouver !

    The Graph propose de t’aider dans tes recherches : son protocole ajoute l’indexation des données au stockage cloud décentralisé d’IPFS et aux incitations de Filecoin et StorJ. Si ta chambre est l’écosystème d’Ethereum, chaque tiroir serait une blockchain : chaque catégorie de transaction qui s’y trouve serait étiquetée par le réseau de The Graph au moyen d’une description (manifeste), de sorte que les informations seraient rassemblées dans des fichiers appelés “sous-graphes“.

    En un mot, comment fonctionne The Graph ? Le protocole “apprend” à indexer par le biais de manifestes de sous-graphes : ceux-ci définissent le smart contract en question et tous les résultats ou données qu’il a générés. Une fois ces données écrites, les indexeurs (incités par le token GRT) commenceront à collecter les données en conséquence.

    Tu es dans une grande bibliothèque, tu dois faire une recherche, et un gentil employé te montre tous les manuels utiles. De même, le protocole The Graph rendra les bases de données décentralisées encore plus accessibles : les sous-graphes fourniront aux développeurs les bonnes requêtes (“questions”) pour interroger les blockchains, afin qu’ils puissent trouver rapidement les données nécessaires au fonctionnement des smart contracts et des Dapps.

    Le cloud computing a besoin d’un référentiel sécurisé pour le traitement des informations, tout comme le stockage cloud ne serait pas efficace s’il était désorganisé. C’est pourquoi le stockage d’IPFS, les incitations de Filecoin et de Storj, et l’indexation de The Graph sont essentiels pour lancer la prochaine phase de internet : Web3.

    En rapport