Qu’est-ce qu’IPFS ? Système de fichiers interplanétaire  : guide complet du débutant


IPFS signifie Interplanetary File System et il s'agit d'un protocole hypermédia distribué peer-to-peer open source qui vise à fonctionner comme un système de fichiers omniprésent pour tous les appareils informatiques.

Résumé rapide

  • IPFS vise à créer un système de fichiers distribué et un protocole hypermédia permettant de résoudre les problèmes du Web actuel basé sur HTTP, tels que la livraison de contenu inefficace, les coûts élevés, la centralisation conduisant à la censure et le manque de permanence
  • IPFS permet de demander du contenu aux pairs du réseau au lieu de le télécharger à partir d'un serveur central. Cela permet une distribution efficace, un historique des versions, une disponibilité persistante et l’intégrité du contenu
  • IPFS combine les concepts de BitTorrent, Git et des systèmes comme Kademlia. Le contenu est identifié de manière unique par des hachages cryptographiques, permettant une décentralisation inviolable
  • L'utilisation des DAG Merkle permet l'adressage du contenu, la déduplication et la protection contre les falsifications. Le système de dénomination IPNS permet un adressage lisible par l'homme
  • Les avantages d'IPFS incluent des coûts de stockage et de bande passante beaucoup plus faibles, une résistance à la censure, des performances plus rapides pour les grands ensembles de données, des sites Web permanents et une intégration avec les réseaux blockchain
  • Les cas d'utilisation incluent une livraison de contenu moins chère, un stockage et des sites Web immuables, l'intégration avec des transactions blockchain pour réduire la surcharge et comme couche de base pour les réseaux et applications décentralisés
  • Pourquoi IPFS et comment cela a-t-il commencé

    L’itération actuelle d’Internet est loin d’être aussi décentralisée qu’elle l’était de manière idéaliste et initialement perçue. Cela repose également sur certains protocoles obsolètes qui ont conduit à une myriade de problèmes. Les problématiques abordées par IPFS tournent autour de celles associées au protocole HTTP actuel d’Internet.

    Si vous n'êtes pas familier avec la fonction du HTTP par rapport à Internet, sachez qu'il sous-tend essentiellement la communication de données sur l'ensemble d'Internet. HTTP a été inventé en 1991, adopté par les navigateurs Web en 1996, et il établit fondamentalement la manière dont les messages sont transmis sur Internet ainsi que la manière dont les navigateurs doivent répondre aux commandes et dont les serveurs doivent traiter les demandes.

    Qu’est-ce qu’IPFS ? Système de fichiers interplanétaire  : guide complet du débutant

    HTTP vs IPFS, image de MaxCDN

    Internet tel que nous le connaissons aujourd'hui, il est devenu obsolète et, après plus de 20 ans, les problèmes dominants deviennent de plus en plus évidents.

    Les principaux problèmes liés à la mise en œuvre du HTTP aujourd'hui résultent de l'augmentation massive du trafic Internet et des points de stress qui en résultent et qui ont été amplifiés.

    Avec la mise en œuvre actuelle de HTTP, des problèmes tels que les suivants sont apparus.

    • Diffusion de contenu inefficace due au téléchargement de fichiers à partir d'un seul serveur à la fois
    • Coûts élevés de bande passante et duplication de fichiers entraînant un stockage volumineux
    • Centralisation croissante des serveurs et des fournisseurs conduisant à une censure accrue sur Internet
    • Historique fragile des informations stockées sur Internet et durée de vie courte des pages Web
    • Connexions intermittentes qui conduisent à un monde en développement hors ligne et à des vitesses de connexion lentes

    La liste des problèmes est longue et il n’est pas surprenant qu’une technologie vieille de plus de 20 ans soit de plus en plus obsolète à l’ère de l’innovation technologique. IPFS fournit le système de stockage et de fichiers distribué dont Internet a besoin pour atteindre son véritable potentiel.

    Au lieu de télécharger des fichiers à partir de serveurs uniques, dans IPFS, vous demandez à vos pairs du réseau de vous donner un chemin d'accès à un fichier plutôt que celui-ci provienne d'un serveur central. Cela permet une distribution de données à grand volume avec une efficacité élevée, une gestion des versions historiques, des réseaux résilients et une disponibilité persistante du contenu sécurisé et vérifié par hachage cryptographique et distribué sur un réseau de pairs.

    Tout cela semble prometteur, mais comment ça marche ?

    Comment fonctionne IPFS ?

    hui, mais ressemble davantage à un seul essaim BitTorrent qui échange des objets au sein d'un seul référentiel Git.

    Les fichiers sont distribués via un protocole basé sur BitTorrent. Il est important de noter qu'IPFS agit comme une sorte de combinaison de Kodemila, BitTorrent et Git pour créer un sous-système distribué d'Internet.

    La conception du protocole permet une gestion des versions historique d'Internet comme avec Git. Chaque fichier et tous les blocs qu'il contient reçoivent un identifiant unique, qui est un hachage cryptographique. Les doublons sont supprimés sur le réseau et l'historique des versions est suivi pour chaque fichier.

    Cela conduit à un contenu disponible en permanence où les pages Web ne disparaissent pas en raison d'un serveur défaillant ou d'un hébergeur en faillite.

    Comment fonctionne IPFS, source

    De plus, l'authenticité du contenu est garantie par ce mécanisme et lors de la recherche de fichiers, vous demandez essentiellement au réseau de trouver des nœuds stockant le contenu derrière le hachage d'identification unique associé à ce contenu.

    Les liens entre les nœuds dans IPFS prennent la forme de hachages cryptographiques, et cela est possible grâce à son architecture de données Merkle DAG (Directed Acyclic Graphs). Les avantages des DAG Merkle pour IPFS sont les suivants  :

    • Adressage du contenu – Le contenu possède un identifiant unique qui est le hachage cryptographique du fichier
    • Pas de duplication – Les fichiers ayant le même contenu ne peuvent pas être dupliqués et stockés une seule fois
    • Inviolable – Les données sont vérifiées avec leur somme de contrôle, donc si le hachage change, IPFS saura que les données sont falsifiées

    IPFS relie les structures de fichiers les unes aux autres à l'aide de liens Merkle et chaque fichier peut être trouvé par des noms lisibles par l'homme à l'aide d'un système de dénomination décentralisé appelé IPNS.

    La mise en œuvre des graphiques acycliques dirigés par Merkle (DAGS) est importante pour la fonctionnalité sous-jacente du protocole, mais est plus technique que la portée de cet article.

    Si vous souhaitez en savoir plus sur cet aspect d'IPFS, vous pouvez trouver des informations beaucoup plus détaillées sur la page IPFS Github et plus sur le fonctionnement des arbres Merkle ici.

    Chaque nœud stocke uniquement le contenu qui l'intéresse et indexe les informations qui lui permettent de savoir qui stocke quoi. Le cadre d'IPFS supprime fondamentalement le besoin de serveurs centralisés pour fournir le contenu du site Web aux utilisateurs.

    À terme, ce concept pourrait rendre le protocole HTTP complètement inutile et permettre aux utilisateurs d'accéder au contenu localement, hors ligne. Au lieu de rechercher des serveurs comme avec l'infrastructure actuelle d'Internet, les utilisateurs rechercheront des identifiants uniques (hachages cryptographiques), permettant à des millions d'ordinateurs de vous transmettre le fichier au lieu d'un seul serveur.

    La principale implémentation actuelle d'IPFS est en Go avec des implémentations en Python et Javascript en cours. Il est compatible avec Linux, MacOSX, Windows et FreeBSD.

    Étant un projet open source et piloté par la communauté, vous pouvez contribuer en suivant les instructions et les documents sur leur page Github ou exploiter votre propre nœud IPFS.

    Cas d'utilisation et implications

    Il existe déjà quelques cas d'utilisation importants pour IPFS et d'autres se présenteront certainement à mesure que le protocole continue de se développer. Proposer la nouvelle architecture P2P distribuée pour Internet comporte des complexités, mais les avantages peuvent être constatés dans tous les domaines, depuis les économies financières massives en matière de stockage et de bande passante jusqu'à l'intégration avec les réseaux blockchain distribués.

    Les avantages évidents du modèle de stockage distribué d'IPFS s'appliquent à un stockage de données beaucoup plus efficace et à une permanence immuable.

    Les sites Web ne seront plus relégués à des messages d'erreur 404 cycliques en raison de serveurs en panne ou d'une chaîne de liens HTTP interrompue. En outre, les chercheurs disposent d'avantages significatifs en termes d'efficacité, en particulier ceux qui doivent analyser de très grands ensembles de données.

    Avec la prédominance du Big Data dans la science moderne, les performances rapides et l’archivage distribué des données offerts par IPFS deviendront pertinents pour accélérer les progrès.

    Les fournisseurs de services et les créateurs de contenu peuvent également réduire considérablement leurs coûts associés à la fourniture de grandes quantités de données aux clients. Les itérations actuelles de ce paradigme sont entravées par l’augmentation des coûts de bande passante et par le fait que les fournisseurs de données sont facturés pour les accords de peering.

    Les coûts associés à la fourniture de contenu via des infrastructures centralisées de réseaux interconnectés ne font qu'augmenter et créent un environnement d'inefficacité critique et une centralisation accrue dans le but de surmonter ces fardeaux.

    Utilisations IPFS, image de Blockchain Mind

    De plus, la centralisation des serveurs conduit à une surveillance gouvernementale, à une augmentation de la prévalence des attaques DDoS, à la censure des FAI et à la vente privée de données.

    Comme l'a déclaré Juan Benet, le créateur d'IPFS : « Le contenu sur IPFS peut passer par n'importe quel intermédiaire non fiable sans abandonner le contrôle des données ni les mettre en danger. »

    Enfin, l’intégration d’IPFS avec la technologie blockchain semble être une solution parfaite. En utilisant IPFS dans une transaction blockchain, vous pouvez placer des liens immuables et permanents. Les horodatages sécurisent vos données sans avoir à les stocker réellement sur la chaîne, ce qui réduit le gonflement de la blockchain et constitue une méthode pratique pour sécuriser les solutions hors chaîne afin d'aider les blockchains à évoluer.

    IPFS est inclus dans un certain nombre de plates-formes de crypto-monnaie et a le potentiel d'aider de manière symbiotique l'industrie à évoluer en fournissant l'architecture de système de fichiers peer-to-peer et distribué qui est nécessaire comme base pour aider à soutenir la croissance des plates-formes de crypto-monnaie.

    Conclusion

    Comme vous pouvez le constater, IPFS est un protocole techniquement et conceptuellement complexe qui a de nobles ambitions de révolutionner l'échange de données sur Internet.

    HTTP a connu un succès en soi et a aidé l'Internet à atteindre le stade grandiose auquel il se trouve aujourd'hui, mais de nouvelles technologies émergent et la nécessité d'une infrastructure réformée et distribuée s'est fait sentir.