April 28, 2021

La révolution IPFS

5 MIN READ – TEAM XSL LABS

Share on facebook
Share on twitter
Share on linkedin
Share on telegram
Share on whatsapp

La révolution IPFS

Better, Faster, Stronger

Revenir aux racines d’Internet

Le 29 Octobre 1969, un simple mot, « login », est envoyé sur le réseau ARPANET, ancêtre d’Internet. C’est le premier transfert de données sur un réseau. Un demi-siècle plus tard, nous sommes devenus des individus « connectés » : Intimement lié à notre quotidien, Internet est probablement devenu notre technologie la plus précieuse.

Cependant, ce qui était à l’origine un réseau de réseaux de pairs s’est petit à petit transformé, tant les usages que la recherche de performances et la concurrence des entreprises ont façonné Internet : son architecture est de plus en plus centralisée.

Ce Minitel 2.0 critiqué par Benjamin Bayart dans une conférence célèbre de 2007 (1) met à mal un principe fondamental d’Internet, sa neutralité : l’absence de centres conditionnerait la liberté des échanges au sein du réseau.

Le protocole IPFS (2) (« InterPlanetary File System ») est un système de fichier distribué. Son concepteur, Juan Benet, s’inspire notamment de la structure de BitTorrent, protocole de transfert de données de pair-à-pair, pour s’émanciper des défauts d’un web centralisé.

Le document technique de XSL Labs mentionne l’IPFS, nous souhaitons en effet intégrer ce protocole dans notre écosystème, plus particulièrement s’agissant de la disponibilité des profils publics des émetteurs de Verifiable Credentials.

Internet : De la centralisation à la distribution

Centralized, Decentralized, Distributed

(https://miro.medium.com/max/1818/0*RrKN5RaXVdmg1KAS)

Internet centralisé

Internet s’est développé et se développe toujours davantage sous la forme d’un modèle Minitel (client-serveur)au sein duquel on accède à pléthore de services centralisés. L’émergence de géants tels que les GAFAM n’est pas due au hasard : Il s’agit notamment de la rencontre entre la massification d’Internet et la simplicité de la conception des architectures centralisées.

Dans ce modèle, les utilisateurs se connectent et utilisent des services qui appartiennent à des autorités centrales. Ces autorités concentrent entre leurs mains de très grands pouvoirs, c’est ce qui permet à Facebook par exemple de décider unilatéralement de la suppression d’un contenu, c’est aussi ce qui a permis l’existence du programme de surveillance PRISM de la NSA.

Dans l’Internet centralisé les « clients » se connectent sur d’énormes « serveurs » et autres « data centers » pour chercher l’information. Son intégrité dépend des autorités centrales.

Ces autorités de fait, à l’origine de services puissants dont les outils sont adoptés massivement, finissent par dégager d’immenses revenus via l’extraction et l’exploitation des données personnelles de leurs utilisateurs, tandis que la concurrence d’autres acteurs devient négligeable.

Internet décentralisé

La décentralisation du réseau implique la multiplication des centres interconnectés, sans pour autant garantir l’autonomie de l’utilisateur : il reste toujours assujetti à un serveur qui le reliera au réseau. On observe une augmentation du nombre de points d’accès, et il s’agit davantage d’un intermédiaire entre la centralisation et la distribution.

Internet distribué

L’Internet distribué supprime toute idée de centralité, en rendant aux utilisateurs leur prérogative d’acteur du réseau : chacun peut devenir un nœud du réseau, et tous les nœuds contiennent une partie de l’information.
C’est l’alternative proposée par l’IPFS, un système distribué, un terrain de jeu équitable, et une réponse aux nombreuses failles des systèmes centralisés tels les monopoles, les pannes, ou encore la censure et la surveillance.

L’IPFS permet en effet de remédier à l’extension permanente des mesures de censure, comme le souligne notamment l’exemple turc.

En avril 2017 en Turquie, le gouvernement décide de bloquer l’accès à Wikipédia (3).
En réponse à ce blocage, une copie du site est mise en ligne en utilisant le protocole IPFS, une version que le gouvernement Turc ne peut pas bloquer, car elle est distribuée.

L’ONG Access Now, qui défend les libertés numériques, estime dans son rapport (4) « The state of Internet shutdowns around the world » de 2018 le nombre de blocages d’Internet à 196, dans 25 pays différents. Le nombre de ces blocages est en constante augmentation, ce phénomène de plus en plus visible.

Content-based adressing

Le tour de force de l’IPFS réside dans une modification de la nature même de l’adressage des contenus sur Internet.

Le web centralisé s’appuie sur la notion d’adressage des contenus par leur localisation. Tout contenu est hébergé sur un serveur, qui possède un numéro d’attribution, ce qu’on appelle l’adresse IP (Internet Protocol), elle même convertie en un nom de domaine via le système DNS (Domain Name System). Accéder à un contenu demande de le chercher à un emplacement précis. De ceci découle la facilité déconcertante de mettre à mal l’accessibilité à un contenu, qu’il s’agisse d’une panne, de la volonté d’un hébergeur, d’un gouvernement ou encore d’une attaque de type déni de service (DDOS). En outre, cette méthode d’adressage ouvre la porte à la modification maligne du contenu, voire à sa disparition lorsque le contenu est déplacé, que son adresse change, que le site Internet ferme.

Le système IPFS supprime cette notion de « location-based adressing » et la remplace par le
« content-based adressing ». L’information n’est plus recherchée sur une localisation précise, c’est le contenu lui-même qui est indexé et recherché, il possède un CID (identificateur de contenu)

En pratique, voici un exemple :

• Sous location-based adressing, un contenu prendra cette forme : https://xsl-labs.org/wp-content/uploads/2021/03/illustration-3-1.png

L’illustration ( document « illustration-3-1.png ») est située dans une arborescence (wp-content/uploads/2021/03/) elle même localisée précisément sur le serveur correspondant à xsl-labs.org.

• A présent, le même contenu sous content-based adressing : /ipfs/#hashcode/wp-content/uploads/2021/03/illustration-3-1.png

L’image (illustration-3-1.png) est toujours située dans l’arborescence (wp-content/uploads/2021/03) du contenu. Cependant, un hash unique (#hashcode) remplace la localisation. Ce hashcode, ou CID ne correspond pas à un serveur physique, il est créé à partir du contenu lui-même.
Le hashcode est le résultat de l’utilisation d’une fonction de hashage cryptographique qui permet de garantir l’intégrité des données qui sont retournées.
En d’autres termes, tant que le contenu existe quelque part, il est accessible et demeure inaltéré.

Les données n’étant plus localisées sur un point central, mais dans une multitude de nœuds, le projet IPFS porte avec lui la promesse d’un Internet qui ne peut plus être déconnecté : le web « permanent ».

L’IPFS en pratique : les arbres de Merkle

 

Merkle Tree(https://leftasexercise.files.wordpress.com/2018/04/hashtree.png?w=1058)

L’idée de content-based adressing repose sur l’utilisation de clé d’identification uniques (CID), qui sont générées par le hashage des contenus et structurés sous la forme d’arbres de Merkle.

Pour partager un fichier sous IPFS, le fichier est fragmenté en plusieurs blocs d’une certaine taille prédéfinie (en général 256kB). Le nombre de blocs dépend alors de la taille du fichier.
Ces blocs, du fait de leur petite taille, sont facilement réplicables et ainsi diffusables sur le réseau, en vue de garantir l’accessibilité des données.

Chacun de ces blocs est identifié par le hash correspondant à son contenu.

Les hashs de ces blocs sont ensuite combinés par paire et eux-mêmes hashés, jusqu’à n’obtenir qu’un seul hash : le hash racine ou CID.

Celui-ci permet grâce à un système d’identification et de liens entre les blocs, d’accéder à tous les blocs et de les recombiner afin de reformer le fichier d’origine. C’est ce que l’on appelle le DAG ou Directed Acyclic Graphs. Juan Benet utilise l’expression « Merkle DAGs » pour qualifier cette structure.

Ce système de hash permet également de garantir l’intégrité des données : si un seul bloc de données est corrompu ou modifié, son hash change, ainsi que ceux de ses « parents » jusqu’au root hash. C’est la garantie de l’inaltérabilité des contenus.

 

Garantir l’accessibilité des contenus

Juan Benet s’inscrit avec l’IPFS dans une démarche de distribution d’Internet. Mais au-delà des divers problèmes que nous avons déjà évoqués, la distribution veut résoudre celui de la congestion des réseaux. La saturation de la bande passante, liée à l’augmentation des flux, particulièrement les flux vidéo, dégrade les services. En 2020 Netflix ou encore Youtube ont été amenés à réduire la qualité par défaut de leurs flux vidéo sous l’impulsion des Etats afin d’éviter la saturation des réseaux.

La force de l’IPFS est également sa faiblesse. Afin de créer ce réseau maillé, cette constellation de nœuds, il est nécessaire que la plupart des utilisateurs du réseau en deviennent acteurs. Ce déploiement permettrait selon Juan Benet d’optimiser le fonctionnement du réseau : l’information n’étant plus centralisée, elle peut être recherchée au plus proche, ou au plus accessible. Cependant, si le protocole n’est pas massivement adopté, et à la manière des protocoles de peer-to-peer, l’absence de « seeders » ferait disparaître le contenu.

On ne peut donc imaginer qu’un contenu ne soit disponible que sur un ou quelques nœuds du réseau, et IPFS Clusters vise à résoudre cette problématique. Ce service complémente le système, permettant d’épingler des contenus (ce qui revient à signifier leur importance), afin de garantir leur conservation sur un réseau de nœuds IPFS et par là l’accessibilité permanente de ces contenus.

Concernant XSL Labs, le recours à l’IPFS permettra à tous les utilisateurs de notre écosystème de pouvoir vérifier à tout moment la légitimité des émetteurs de Verifiable Credentials : Une référence IPFS permettra de retrouver facilement les informations publiques du Verifiable Credential de ces émetteurs.

Ouvrir le web, en le distribuant, en le rendant toujours plus performant et open source, constitue un enjeu majeur pour l’avenir. Il s’agit également de reprendre la main sur nos données et nos données personnelles, face aux GAFAM ou plus généralement du Big Data et à lutter contre les risques de dérives autoritaires telles que la censure, les blocages ou la surveillance de masse. Sous cet angle, l’IPFS marque un pas vers les idéaux originels d’Internet, dont le « développement horizontal […] a permis aux concepteurs d’inscrire dans les protocoles de l’Internet les principes et valeurs de leur communauté tout en les protégeant contre les intérêts politiques ou commerciaux » (5)

Copyright © 2020 XSL Labs – All rights reserved