IPFS, système de fichiers distribué pour le web

2021/03/01 Leturia Azkarate, Igor - Informatikaria eta ikertzaileaElhuyar Hizkuntza eta Teknologia Iturria: Elhuyar aldizkaria

Depuis sa création, le Web est basé sur des ordinateurs appelés « serveurs », où le contenu est stocké et où les utilisateurs « servent » lorsqu'ils sont invités via le navigateur. Cette dépendance envers les serveurs a des inconvénients en termes de vitesse, pannes, censure ou conservation des historiques. Pour le surmonter, le système IPFS a été créé, qui permet de stocker des copies de fichiers réparties sur de nombreux ordinateurs et serveurs et de servir entre tous. C'est un système de type P2P, mais rénové et avec beaucoup d'autres caractéristiques intéressantes. L'IPFS pourrait apporter au web le plus grand changement jamais connu, la véritable révolution.
Ed. PIRO4D/Pixabay

Il y a deux ans, nous avons écrit dans cette même rubrique de ce magazine l'article intitulé Décentraliser le web. Nous y disions comment une toile d'araignée a émergé pour que l'information et le contenu soient décentralisés et distribués, mais au fil du temps la plupart se sont concentrés sur quelques nœuds (et dans peu d'entreprises): sites de réseaux sociaux, programmes de messagerie, services de bureautique en ligne, moteurs de recherche et quelques autres sites étendus. Cette concentration pose de grands problèmes: accumulation de richesse, dépendance, possibilités de censure... Pour beaucoup d'entre eux, des alternatives décentralisées (Mastodon, Pixelfed, Peertube, Nextcloud, Matrix...) permettaient de distribuer les informations dans différentes communautés, chacune étant sur ses serveurs, mais elles peuvent à leur tour communiquer entre elles.

Cependant, tous ces services décentralisés sont basés sur des ordinateurs appelés serveurs. En fait, le protocole HTTP, base des communications du web, est une communication de type client-serveur, dans laquelle il y a des ordinateurs serveurs qui stockent des informations (ordinateurs puissants dans l'infrastructure du web) et des ordinateurs clients qui consomment des informations. Et en s'appuyant sur ces serveurs, vous pouvez ralentir, interrompre, censure... Évidemment, le problème est moindre dans le modèle décentralisé que dans le modèle centralisé, car il est réparti sur plus de serveurs, mais il y a un problème.

IPFS ou InterPlanetary File System

Pour résoudre ce problème se pose le protocole IPFS et le logiciel libre, dont l'acronyme signifie InterPlanetary File System. Ce protocole sert à héberger et servir des fichiers et des contenus en double sur de nombreux ordinateurs à travers le monde, y compris ceux des utilisateurs.

Compte tenu de cette définition, beaucoup sont les réseaux P2P, tels que eDonkey ou BitTorrent. Et c'est vraiment comme eux, mais il a plusieurs différences. D'une part, il a intégré diverses nouvelles technologies qui n'existaient pas au moment de sa création (contrôle de version, système propre de noms de domaine, concepts de Blockchain, chiffrement...). D'autre part, il découle de la nécessité d'améliorer le web et non pas que le contenu audiovisuel (films, musique...) protégé par copyright (films, musique...) puisse être abaissé et partagé d'une manière légalement incertaine (bien que son utilisation ne puisse pas être évitée). Enfin, l'IPFS est conçu pour le Web comme un substitut ou un complément du protocole HTTP et l'intégrer dans les navigateurs Web.

Avec IPFS, toute personne souhaitant mettre à disposition un contenu sur le web (un document, une vidéo, un site web...), n'aura pas besoin d'obtenir un serveur d'hébergement et de télécharger le contenu sur celui-ci : L'IPFS créera un hachage cryptographique pour ce contenu (une série de caractères d'identification du contenu) et le contenu sera copié vers d'autres ordinateurs du réseau IPFS, de sorte que les contenus créés par des tiers seront copiés en soi. En plus du contenu, un document appelé DHT (Distributed Hash Table ou Hash Table Distributed) est distribué sur le réseau qui indique l'ordinateur sur lequel se trouve chaque contenu pour savoir à qui le demander quand quelqu'un a besoin d'un contenu. Lorsqu'un contenu donné est requis, plusieurs nœuds sont demandés simultanément et plus rapidement. Et comme le contenu se trouve sur plusieurs nœuds, la censure est évitée.

Sur le web habituel, un contenu est identifié avec votre URL, c'est-à-dire http(s):// plus le domaine plus le chemin du fichier, et le domaine est associé à une adresse IP du serveur. Eh bien, dans le système IPFS, ipfs:// plus le hachage mentionné plus le chemin du fichier, une ressource est identifiée qui sortira de la table DHT sur quel nœud se trouve. D'autre part, comme il s'agit d'une longue série de caractères difficiles à mémoriser le hachage, le DNSLink est utilisé pour assigner des noms plus faciles à mémoriser aux hachures. En outre, IPFS est conçu pour enregistrer tout l'historique du web. Si nous avons mis à jour un contenu concret qui existe en elle, le contenu ancien n'est pas supprimé, il restera sur le réseau avec le nouveau. Mais pour le nouveau contenu, un nouveau hachage est créé et, si on le souhaite, les précédents peuvent également être accessibles via le système appelé IPNS.

Disponible en stock

IPFS est né en 2015 et pour utiliser le système, des outils de base ont été créés pour des contenus créatifs et des accessoires de navigateur. Cependant, il n'était pas facile pour les utilisateurs ordinaires de l'utiliser. Pour y répondre, plusieurs agents du Web ont mis en place les étapes à IPFS, qui ont permis d'utiliser IPFS pratiquement depuis le début. Par exemple, lors du référendum du 1er octobre 2017 pour l'indépendance catalane, après la fermeture du site web du référendum par le gouvernement espagnol, les listes sur lesquelles chaque citoyen devait voter ont été placées à l'IPFS.

En janvier 2021, le navigateur Brave a implémenté la capacité de téléchargement d'adresses ipfs://, et d'autres devraient bientôt s'ajouter. Jusqu'à présent, l'utilisation de l'IPFS a été très réduite et expérimentale, mais on peut penser qu'en le mettant à disposition dans les navigateurs, il augmentera beaucoup d'utilisation.

Cependant, pour l'instant, il n'est pas possible de passer le site actuel complet à l'IPFS. En fait, la majeure partie du site est constituée de sites web dynamiques, c'est-à-dire de pages qui sont créées dynamiquement par programmation à chaque instant : selon les mots de recherche et selon l'historique et le profil de l'utilisateur ; celles qui fournissent à chaque utilisateur enregistré la ligne de temps de chaque jour d'un réseau social… Le nombre de combinaisons possibles est énorme et très variable, et il est impossible que toutes entrent et se doublent constamment dans l'IPFS. Ses créateurs affirment que fondamentalement l'IPFS est également conçu pour des contenus dynamiques, mais pour l'instant il n'est pas clair que ce soit possible en pratique. Ainsi, jusqu'à ce qu'il y ait une solution pour les sites dynamiques, au moins, l'IPFS ne remplacera pas totalement HTTP, mais les deux convergeront.

Cependant, si les sites statiques, le contenu statique des sites dynamiques, l'information qu'un gouvernement veut interdire, etc. passent à l'IPFS et peuvent bénéficier de ses avantages, nous pouvons dire que ce sera déjà un grand changement pour le web. La véritable révolution est d'utiliser l'IPFS avec le protocole HTTP, la seule façon de mettre à disposition et de distribuer le contenu depuis la création de la toile.

Gai honi buruzko eduki gehiago

Elhuyarrek garatutako teknologia