InterPlanetary File System (IPFS)

InterPlanetary File System IPFS

Initialement publié en 2015 avec l’intention de construire une infrastructure de système de fichiers décentralisée pour le futur Web.

IPFS combine des éléments de systèmes distribués ayant connu du succès, à savoir les DHT, BitTorrent et Git (Benet, 2014).

Étant donné qu’IPFS est basé sur un réseau pair à pair public et peu fiable, l’adressage de données basé sur la localisation traditionnel peut entraîner deux problèmes : - un problème d’intégrité : La validité du contenu d’un fichier n’est pas vérifiée; - un problème de disponibilité : Un contenu n’est plus accessible si sa localisation n’est plus disponible.

Pour surmonter ce problème, IPFS utilise un adressage basé sur le contenu, qui consiste à calculer un hachage du fichier qui sera utilisé pour la recherche. De cette façon, si nous voulons vérifier l’intégrité d’un fichier, nous n’avons qu’à recalculer son hachage et le comparer avec le hachage utilisé comme adresse. Lorsqu’un fichier est ajouté à IPFS, il est stocké dans des blocs sur le répertoire IPFS d’un nœud et ces blocs sont liés ensemble dans un graphique acyclique dirigé (DAG). Pour localiser un fichier adressé au contenu, IPFS utilise la Kademlia table de hachage distribuée (DHT) (May- 12 mounkov & Mazieres, 2002). Ce mécanisme peut trouver le peerID qui fournit un certain bloc ou un fichier.

Pour optimiser l’espace de stockage, chaque nœud IPFS possède un ramasse-miettes qui supprime périodiquement tous les blocs non épinglés. Ainsi, si nous voulons garantir la persistance d’un fichier, nous devons explicitement l’épingler. Un fichier peut ensuite être non épinglé afin d’être supprimé ou récupéré.

Des services d’épinglage existent pour garantir la disponibilité d’un certain fichier en échange d’un coût périodique. IPFS est utilisé dans notre système pour stocker des données en raison des propriétés d’intégrité fournies par son schéma de hachage de contenu. En outre, il est utilisé comme une alternative de stockage de fichiers moins chère en raison du coût élevé du stockage persistant sur la chaîne de blocs Ethereum.

Commentaires

Posts les plus consultés de ce blog

Sécurité des Applications

Principes de la Programmation Orientée Objet

Principe de Responsabilité Unique