IPFS ou InterPlanetary File System, est un système de fichiers décentralisé qui cherche à garantir la sécurité, la confidentialité et la résistance à la censure de vos données.
Le projet InterPlanetary File System ou Interplanetary File System (IPFS) est un projet curieux avec un objectif assez clair : créer un réseau informatique avec une portée mondiale qui permet le stockage d'informations de manière complètement décentralisée, avec une grande évolutivité, et bien sûr, avec une grande résistance à la censure de toute nature.
Vous pouvez l'imaginer comme un énorme réseau contenant d'énormes quantités d'informations réparties dans le monde entier et auxquelles vous pouvez accéder de manière totalement transparente et sécurisée. Sans aucun doute, le complément parfait à l'Internet sans cesse croissant, dont la portée atteint désormais même les plus petits appareils électroniques tels que nos horloges, réveils et même cafetières.
IPFS, les débuts du projet
IPFS est une idée qui vient de l'esprit de Juan Benet, un programmeur qui a fondé l'entreprise en 2014 Laboratoires de protocole. Cependant, ce n'est qu'en 2015, lorsque Benet a présenté IPFS au monde. L'idée est de construire un Réseau P2P qui permet à ceux qui en font partie, stocker et diffuser les informations de manière complètement décentralisée sur toute la planète. Le système fonctionne sur la base de la technologie bien connue de table de hachage distribuée ou DHT, le même qui est utilisé dans le Protocole BitTorrent, à partir duquel IPFS prend certaines fonctions pour votre réseau P2P.
Depuis lors, IPFS est un projet en développement constant et la version 0.26.0 de ce système est actuellement disponible. Malgré le fait qu'il s'agisse d'une version de développement, IPFS permet actuellement le déploiement de bon nombre de ses fonctions finales de manière stable, et nombre d'entre elles sont encore constamment améliorées, ce qui montre clairement qu'il s'agit d'un système que nous pouvons déjà utiliser aujourd'hui. .
Un système de fichiers pour Internet
Pourquoi IPFS a-t-il été créé ? Eh bien, fondamentalement, la création d'IPFS vient résoudre un besoin d'espace de stockage gigantesque qui ne cesse de s'étendre avec l'Internet actuel que nous avons. On estime qu'un total de 2019 zettaoctets d'informations a été généré dans le monde en 42. Soit 42 milliards de téraoctets d'informations supplémentaires pour toutes les données qui ont déjà été générées les années précédentes.
Mais le principal problème avec ces données est que finissent entre les mains de tiers qui exploitent généralement les mêmes pour leurs diverses activités économiques. Par exemple, il n'est pas rare que des entreprises comme Meta prennent vos données sur leur réseau social et les utilisent pour les revendre à des tiers intéressés par des informations pouvant provenir de vos goûts ou de vos activités, afin de créer des profils leur permettant de proposer autres produits et services. Cela peut sembler innocent, mais ce n'est pas le cas. En fait, il s'agit d'une violation de votre vie privée puisque non seulement vos données sur le réseau social sont utilisées, mais toute votre activité à l'intérieur et même à l'extérieur du réseau est suivie, afin qu'elle puisse être vendue à des tiers.
D'autres sociétés comme Google Drive, quant à elles, sont capables de analysez ce que vous écrivez et enregistrez sur leurs serveurs, et en cas de découverte de quelque chose qui "viole leurs réglementations", ils le supprimeront simplement de leurs serveurs, sans vous donner le droit de protéger lesdites informations sur un autre support. Bref, les grandes entreprises de l'Internet utilisent vos données pour les revendre et pratiquent une censure intolérable à tous égards.
IPFS est né pour résoudre ce problème. L'idée d'IPFS est transformer la façon dont les données sont stockées, les laissant complètement décentralisés, et le contrôle d'accès à ceux-ci est entre vos mains à tout moment. Non seulement cela, IPFS permet à notre ordinateur de stocker des données à partir d'un site Web et de les servir à quiconque en a besoin. Eh bien, c'est IPFS, et si vous ne vous trompez pas, c'est similaire à ce que BitTorrent fait pour partager des fichiers, seulement, dans ce cas, le protocole serait intégré dans des applications et des sites Web comme ceux que nous utilisons tout le temps, rendant l'interaction avec IPFS complètement transparent.
Non seulement cela, avec IPFS, la capacité de stockage mondiale augmenterait considérablement. Et cela parce que nos ordinateurs feraient partie de cet énorme disque de données qui stockera les informations de tout Internet. Cela aiderait à résoudre (ou à réduire considérablement) le besoin d'espace de stockage pour faire face à la demande du monde entier. De plus, cela aiderait à décentraliser le réseau, et même nous permettrait de garder un historique complet de ces informations qui nous intéressent dans un réseau résistant et non censuré.
Comment fonctionne IPFS?
IPFS est un système qui fonctionne selon le schéma «recherche par contenu», c'est-à-dire qu'à chaque fois que nous effectuons une recherche dans IPFS, nous devons dire au système «ce que nous recherchons» au lieu de lui dire «où le chercher». .
Jetons un coup d'œil à ce que tout cela signifie pendant un moment, et utilisons l'Internet actuel comme exemple. Lorsque nous visitons un site Web sur Internet, ce que fait notre navigateur est ce qui suit:
- Prenez l'URL ou l'adresse et effectuez une requête DNS, pour savoir dans quelle adresse IP se trouve ce serveur.
- Une fois qu'il a l'adresse IP, le navigateur fait une demande d'informations au serveur et commence à télécharger les informations.
- Il nous montre les informations de l'URL que nous avons indiquées.
Il s'agit d'une forme assez simplifiée de tout ce qui se passe chaque fois que nous utilisons notre navigateur Web. Ce type d'opération s'appellerechercher par lieu », et on l'appelle ainsi parce que nous avons besoin de savoir où se trouve l'information pour y accéder. Cet emplacement est l'adresse IP du serveur, et de là vient cette situation que personne ne veut, si le serveur est en panne, vous ne pourrez pas accéder aux informations que vous recherchez, car l'emplacement n'est pas disponible.
Cependant, dans le cas de l'IPFS, le "recherche par contenu" cela fonctionne complètement différemment. En fait, nous pouvons le décomposer comme suit :
- Vous indiquez au système le contenu que vous recherchez.
- Le système prend votre demande d'informations et l'envoie au réseau, où les nœuds du système commenceront à vous répondre. De plus, ces informations sont
protégé par cryptage, un système de hachage de données et une signature numérique, pour empêcher quiconque d'y accéder sans autorisation. - Vous recevrez la réponse des nœuds vous indiquant les versions du contenu disponibles sur tout le réseau.
- Si vous choisissez une option, vous pourrez accéder au contenu et même à son historique complet, car si cette option a été affichée c'est parce qu'elle est active sur le réseau au moment de votre demande.
Cela signifie qu'IPFS effectue des recherches définies par le contenu et dans lesquelles les nœuds du réseau répondent. Par exemple, si vous souhaitez accéder à Bit2Me Academy dans IPFS, écrivez simplement Bit2Me Academy, et les nœuds qui stockent les informations de ce site Web vous montreront tout le contenu qu'ils ont stocké et pourront y accéder à tout moment.
DHT, le point de départ d'IPFS
Le point de départ d'IPFS est le table de hachage distribuée ou DHT. Cette fonction est responsable de la création d'un hachage unique et non reproductible pour chacun des contenus du système. Non seulement cela, il est également chargé de permettre la création d'un index de recherche global pour l'ensemble du réseau distribué, en s'assurant que le contenu du réseau n'est pas dupliqué et en permettant de rediriger les recherches vers les bons nœuds afin que nous puissions accéder l'information quand nous voulons. .
En termes simples, DHT crée une énorme bibliothèque de hachages uniques et non reproductibles qui nous permettent de rechercher rapidement le contenu que nous voulons. Pour ce système, IPFS utilise le bien connu Hachage SHA-256, le même que celui utilisé dans Bitcoin et de nombreuses autres crypto-monnaies. La raison? Il est simple à mettre en œuvre, sécurisé et le matériel actuel peut effectuer les calculs, ce qui permet à ce travail de nécessiter peu de puissance de calcul pour générer les hachages.
Un DAG pour gérer le réseau
Une autre partie importante du fonctionnement d'IPFS est que son réseau est structuré en un énorme DAG ou graphe acyclique dirigé. Dans ce cas, le DAG IPFS est spécifiquement un DAG Merkle, c'est-à-dire un DAG dans lequel chaque nœud a un identifiant unique qui est un hachage du contenu du nœud.
Le Merkle DAG utilisé n'est qu'une légère modification de ce que serait une blockchain, où chaque bloc a une Merke Root et les données dudit bloc sont résumées. En ce sens, la construction DAG a été préférée à la blockchain pour une raison technique très puissante : IPFS s'exécute de manière asynchrone et est plus évolutif. De plus, il s'agit d'une conception où l'immuabilité totale n'est pas son objectif (bien qu'il soit possible de configurer le système pour qu'il soit immuable), et bien sûr, il n'est pas nécessaire de se protéger contre les attaques telles que la double dépense, 51 % d'attaque, parmi autres.
Compte tenu de ce paysage technique, le DAG IPFS est conçu pour permettre une redirection plus efficace du contenu et de la recherche entre les nœuds. Non seulement cela, un Merkle DAG permet la création de "modifier les historiques” qui vous permettent de suivre le changement individuel des fichiers à différents moments, nous permettant de les parcourir sans problème. De cette façon, nous pouvons conserver non seulement la dernière version d'un site Web, mais également son historique complet depuis sa création jusqu'à son moment le plus actuel. De plus, cette fonctionnalité permet l'application de trois fonctions importantes :
- Le premier est la "déduplication" bien connue qui nous empêche d'avoir du contenu dupliqué sur le nœud et dans tout le réseau.
- Le second est connu sous le nom de "stockage delta" dans lequel de petits fichiers sont créés qui nous permettent de savoir qu'un seul contenu a changé entre les différentes versions. Ainsi, en prenant un certain contenu de base et en ajoutant les deltas respectifs, nous pouvons recréer un contenu plus actuel (ou plus ancien) que le contenu de base qui a été pris.
- Enfin, la troisième fonction est que ce DAG permet au réseau de participer à l'accès des utilisateurs à certaines informations. Ainsi, par exemple, si une donnée est dans 2 nœuds ou plus, l'utilisateur peut commencer à télécharger les informations à partir de tous ces emplacements, améliorant ainsi le temps de téléchargement et la réponse générale du réseau.
Confidentialité dans IPFS
Maintenant, l'idée de stocker nos données sur des ordinateurs disséminés dans le monde n'est pas quelque chose que beaucoup aiment. Le danger que cela pourrait poser pour notre vie privée est donc immense: comment IPFS résout-il ce problème?
Eh bien, tout d'abord, vous devez savoir que tout dans IPFS se trouve dans un réseau public. Ainsi, n'importe qui peut y accéder en ayant un client pour cela. Ainsi, chaque élément de données que vous mettez dans IPFS fera partie du DHT et du Merkle DAG du réseau, indiquant clairement que tout est accessible.
C'est quelque chose qui peut être résolu grâce au fait qu'IPFS est un système logiciel libre et que toute personne ou groupe de développeurs peut ajouter cette fonction au réseau, permettant l'anonymisation des données et même l'ajout d'une cryptographie avancée pour les protéger contre les accès non autorisés. C'est d'ailleurs le cas de plusieurs projets qui utilisent IPFS pour leur fonctionnement.
Cas d'utilisation IPFS
Maintenant, connaissons quelques cas d'utilisation assez frappants de cette technologie:
Filecoin
En pleine fièvre ICO de 2017, et cherchant un moyen de financer son idée, l'ICO de Filecoin, un projet frère créé par Juan Benet et sa société Protocol Labs. L'idée de Filecoin est de créer un système d'incitation par lequel les utilisateurs IPFS se sentent incités à stocker les fichiers que d'autres souhaitent stocker. Filecoin permet aux gens de louer un espace de stockage qui peut être payé à l'aide du jeton FIL.
L'histoire de Filecoin a commencé en 2017, et ce n'est que ce 29 octobre 2020 que son réseau est enfin sorti. Le lancement du projet a suscité beaucoup d'attention et pour le moment, le réseau stocke déjà environ 1,4 exaoctet d'informations. En plus d'une capitalisation boursière supérieure à 1200 milliard de dollars et d'un coût de plus de 29 dollars par token FIL.
Audius
Audius est une plateforme de partage de musique et d'audio conçue pour fournir aux artistes un lien direct avec leurs auditeurs. Grâce à une technologie décentralisée, Audius est en mesure d'accorder aux artistes des droits et un contrôle sur leur propre musique. Tout cela, à travers une plateforme résistante à la censure pour l'expression et la diffusion d'œuvres et de compositions artistiques. Pour créer une plate-forme détenue et exploitée par l'utilisateur, il était essentiel d'avoir un réseau de stockage cloud distribué comme base du système. Audius utilise IPFS comme composant central du stockage décentralisé dans sa mission de donner à chacun la liberté de partager, de monétiser et d'écouter n'importe quel fichier audio.
OpenBazaar
OpenBazaar est une plate-forme de commerce électronique peer-to-peer à laquelle les acheteurs et les vendeurs peuvent participer de manière anonyme et privée sans collecte de données par les fournisseurs ou toute autre autorité centrale. La plate-forme OpenBazaar est développée par OB1, qui a également créé Haven, une version mobile d'OpenBazaar qui propose des achats, des discussions et la possibilité d'envoyer des crypto-monnaies en privé.
IPFS sert de couche de stockage de données pour OpenBazaar et Haven. Sur le réseau, les commerçants et les acheteurs peuvent exécuter des nœuds de stockage, éliminant ainsi le besoin d'un serveur central. En utilisant IPFS pour créer ce réseau collaboratif, OpenBazaar permet aux acheteurs et aux vendeurs de négocier sans aucun risque. Des risques tels que la collecte centralisée de données ou la menace de piratage de vos informations personnelles.
OB1 s'appuie avec succès sur IPFS depuis 2015. Le réseau peer-to-peer activé par IPFS permet à l'équipe de fournir une plate-forme où les gens échangent librement des biens. En plus de permettre à OB1 d'être simplement un fournisseur de technologie. Cela ne signifie pas un vendeur de produits, "propriétaire" du réseau ou une partie à des affaires commerciales entre pairs.
Avantages et inconvénients d'IPFS
Parmi les avantages de l'IPFS, on peut citer:
- Le système de stockage est complètement décentralisé.
- Le réseau est conçu pour être hautement évolutif.
- Le réseau peut notamment résister aux attaques par déni de service, car il est entièrement décentralisé. De cette manière, un accès rapide aux informations est garanti à tout moment.
- Son utilisation est totalement gratuite et le code source est disponible sous licence de logiciel libre.
- Il est extensible, ce qui permet à n'importe qui d'adapter de nouvelles fonctions sans problèmes majeurs. Par exemple, des modules de confidentialité, une connexion à TOR, I2P, entre autres, peuvent être ajoutés.
Par contre on peut citer:
- Il s'agit d'un développement encore en évolution, son utilisation en production n'est donc pas encore très étendue.
- Il est complexe à utiliser pour les utilisateurs inexpérimentés dans ce type de systèmes.
- Il n'a pas d'extensions de confidentialité par défaut.
- Contrairement à des projets comme SIA, IPFS n'a pas été conçu avec un modèle d'incitation à la base. Pour cette raison, ils ont dû développer des projets séparés comme Filecoin qui sont limités dans leur intégration.