Outils du site

Outils pour utilisateurs


Panneau latéral

P2PFR:Wiki

p2p:ipfs (lu 9845 fois)

Ceci est une ancienne révision du document !


IPFS

Présentation

IPFS (Inter Planetary File System) réutilise les technos à succès et les combine: Git, BitTorrent, Kademlia, Bitcoin, SFS1). Il s'agit d'un logiciel libre, l'implémentation de référence est écrite en Go et est disponible pour la plupart des systèmes d'exploitation (Linux, Mac OS X, Windows).

Le but est de concevoir un stockage distribué, donc imaginez un disque dur géant, dont vous pouvez consulter les données depuis votre terminal unix ou depuis votre navigateur web, et vous avez une idée de ce qu'est IPFS.

Comme dans un essaim BitTorrent, les données sont échangées entre les pairs, donc si vous partagez quelque chose, et que d'autres personnes le récupèrent, elles deviendront seeders à leur tour, ce qui permet aux ressources de rester accessibles même après que vous vous soyiez déconnecté du réseau. Plus exactement, cela maximise les chances qu'elle soit en ligne.

Plusieurs mécanismes sont proposés pour offrir un type de redondance.

D'abord, il est possible d'organiser plusieurs noeuds ipfs en cluster. Une instance maître (par exemple, votre ordinateur portable) dispose des fichiers et effectue une mise en partage initiale. Les données seront alors répliquées selon vos souhaits parmi les autres serveurs de votre cluster (comme par exemple un ou plusieurs serveurs distants accessibles 24h/24).

Une autre façon d'influer sur la permenance d'une donnée est d'utiliser le «pinning» sur une donnée qui se situe dans votre cache de données. Votre noeud dispose en effet d'un stockage limité pour stocker les données que vous sollicitez. Si ce cache est rempli, il supprimera les données anciennes. Le pin sert donc à insister sur le fait qu'une ressource ne doit pas être supprimée du cache. Un point intéressant, c'est de voir si ce pinning peut être sollicité auprès des noeuds autres que les votres. Il ne semble pas y avoir de mécanisme qui serait déjà implémenté dans IPFS permettant de signifier à des noeuds du réseau qu'ils devraient effectuer un pinning sur une ressource, mais ce genre de service semble envisagé puisqu'il en est fait mention dans la doc.

Fin 2018, le projet poursuit son développement de façon soutenue.

Comparaison avec le web : IPFS et IPNS

IPFS ne se charge que de calculer les hashs des fichiers mis en partage. Si l'un de ces fichiers change, il calculera le nouveau hash.

Cependant, les noeuds possèdant déjà la ressource ne disposent que de l'ancien hash, et ne savent pas qu'une nouvelle version est disponible.

IPNS (Inter Planetary Naming System) sert à fournir un niveau d'indirection en jouant un rôle similaire à DNS pour les sites web. Il s'agit simplement d'un nouveau hash qui cette fois-ci se réfère à la dernière version d'une ressource, qui peut ainsi évoluer.

Cela rend IPFS propice à un usage similaire à d'autres initiatives de web décentralisé, utile par exemple lors de la mise à jour d'un article, ou bien pourquoi pas lors de la parution de la nouvelle version d'un jeu video.

Toujours en faveur de ce web décentralisé, IPFS prétend également jouer le rôle de CDN (Content Delivery Network). Dans le principe cela signifie qu'une ressource sera récupérée depuis les noeuds proches du votre, plutôt que ceux qui sont éloignés. Il faudrait toutefois vérifier en quoi techniquement cette appellation est pertinente (ou plus pertinente qu'elle ne s'appliquerait déjà au sein du réseau BitTorrent, par exemple).

Passerelle HTTP

Pour consulter une ressource sur IPFS, vous pouvez bien sûr installer IPFS et envoyer une requête pour la récupérer, mais vous pouvez aussi utiliser votre navigateur web et vous rendre sur le site d'une passerelle pour y solliciter la ressource que vous désirez.

Il vous suffit d'indiquer le hash de la ressource à laquelle vous désirez accéder pour qu'elle vous soit servie par HTTP, directement dans votre navigateur.

Cloudflare propose une telle passerelle, mais d'autres existent.

Ce type de passerelle est une commodité, et a l'avantage de rendre disponible une ressource pour des personnes non familières à IPFS, qui n'ont pas besoin d'installer ou de comprendre le logiciel.

Usages

L'installation de IPFS est assez simple, l'usage repose principalement sur la ligne de commande et s'inspire de la syntaxe de git.

Si l'anglais vous convient, vous pouvez regarder cette video de démonstration d'IPFS sur Youtube.

Exemple : pour partager toutes les données situées dans le répertoire courant :

ipfs add -r .

Voir aussi: la doc officielle

Amorcer votre noeud IPFS

Vous devriez avant toute chose commencer par amorcer ipfs.

ipfs init

Suivez le tutorial intégré à ipfs.

Vous devrez pouvoir lancer le démon ipfs pour passer en mode connecté, puis vous pouvez interroger la liste des noeuds accessibles.

ipfs daemon
ipfs swarm peers

Accéder à l'interface web

Il suffit de se rendre avec votre navigateur sur http://localhost:5001/webui.

Projets utilisant IPFS

Les possibilités d'IPFS sont encore en cours d'exploration, d'autres outils en font des usages plus ciblés.

Une liste de ces projets est illustrée dans la section «Awesome» du site d'IPFS.

Liens

  • P2P similaires : Dat

type:réseau-p2p type:client-p2p licence:libre réseau:ipfs système:windows système:mac système:linux

1)
Smart File System est un système de fichiers journalisé initialement implémenté sur Amiga qui gère les écritures de méta-données de façon transactionnelle, ce qui permet de revenir à des états préalables sains en cas d'erreur d'écriture.
p2p/ipfs.1546988024.txt.gz · Dernière modification: le 08/01/2019 à 23h53 de 111110101011