Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
p2p:ipfs [le 27/03/2018 à 14h55] 111110101011 créée |
p2p:ipfs [le 10/12/2020 à 01h23] (Version actuelle) 111110101011 [Authentification] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== IPFS ====== | ====== IPFS ====== | ||
- | IPFS réutilise | + | ===== Présentation ===== |
+ | |||
+ | IPFS (InterPlanetary File System) est un P2P sous licence libre qui vise à proposer un web décentralisé, | ||
+ | |||
+ | Pour arriver à ses fins, IPFS réutilise | ||
+ | |||
+ | IPFS est développé par [[https:// | ||
+ | |||
+ | IPFS cherche vraiment à remplacer (ou au moins trouver un modèle alternatif) au web centralisé essentiellement basé sur HTTP(S). Les adresses utilisées dans ce web décentralisé pointent non pas vers un emplacement (comme l' | ||
+ | |||
+ | On peut naviguer sur IPFS avec un navigateur web ordinaire. Celui-ci se branche | ||
+ | |||
+ | Fin 2018, le projet [[https:// | ||
+ | |||
+ | ===== Fonctionnement ===== | ||
+ | |||
+ | ==== Authentification ==== | ||
+ | |||
+ | Si IPFS souhaite remplacer le web, il doit aussi remplacer HTTPS. Ca tombe bien, le protocole https est embourbé dans un vieux problème qui est celui des certificats et que IPFS pourrait évacuer. La confiance que l'on peut avoir dans une connexion sécurisée par https dépend d'un certificat, qui lui-même dépend des Autorités de Certifications (CA) embarquées dans votre système d' | ||
+ | |||
+ | Dans les initiatives de web décentralisé, | ||
+ | ==== Adressage et intégrité des ressources ==== | ||
+ | |||
+ | D' | ||
+ | |||
+ | IPFS utilise la DHT (merkle tree). | ||
+ | |||
+ | L' | ||
+ | |||
+ | D' | ||
+ | |||
+ | Un exemple : / | ||
+ | |||
+ | ... auquel vous pouvez accéder : | ||
+ | |||
+ | * [[http:// | ||
+ | * ou bien [[https:// | ||
+ | |||
+ | D' | ||
+ | |||
+ | ==== Stockage des ressources ==== | ||
+ | |||
+ | IPFS utilise une blockchain pour stoquer les liens IPFS. Les données en elles-mêmes ne sont donc pas stockées dans la blockchain. | ||
+ | |||
+ | Comme dans un essaim BitTorrent, les données sont échangées entre les pairs, donc si vous partagez quelque chose, et que d' | ||
+ | |||
+ | Plusieurs mécanismes sont proposés pour offrir un type de redondance. | ||
+ | |||
+ | D' | ||
+ | |||
+ | Une autre façon d' | ||
+ | |||
+ | ===== Comparaison avec le web : IPFS, DNSLink et IPNS ===== | ||
+ | |||
+ | IPFS ne se charge que de calculer les hashs des fichiers mis en partage. Comme avec BitTorrent, si le contenu de l'un de ces fichiers change, le hash sera altéré. Le problème est alors que les noeuds qui ne connaissent que l' | ||
+ | |||
+ | Nous étions habitués avec Bittorrent à ce que, une fois la ressource partagée, celle-ci n' | ||
+ | |||
+ | Les deux mécanismes actuellement proposés sont : | ||
+ | |||
+ | * [[https:// | ||
+ | * et IPNS, qui correspond au hash d'une clé publique pointant vers un registre qui ne peut être mis à jour que par la personne disposant de la clé privée. | ||
+ | |||
+ | ==== DNSlink ==== | ||
+ | |||
+ | Si vous disposez d'un nom de domaine, vous pouvez vous en servir pour pointer vers une ressource IPFS. | ||
+ | |||
+ | IPFS utilise pour cela les registres TXT. | ||
+ | |||
+ | Ci-dessous un exemple de réponse DNS pour le site ipfs.io, lui-même hébergé sur IPFS, disposant d'un sous-domaine " | ||
+ | |||
+ | < | ||
+ | $ dig +noall +answer TXT _dnslink.docs.ipfs.io | ||
+ | _dnslink.docs.ipfs.io. 1800 IN TXT " | ||
+ | </ | ||
+ | |||
+ | ==== IPNS ==== | ||
+ | |||
+ | [[https:// | ||
+ | |||
+ | Un lien IPNS se présente comme un nouveau hash (une clé publique) qui cette fois-ci se réfère à la dernière version d'une ressource, qui peut ainsi évoluer. | ||
+ | |||
+ | La personne disposant de la clé privée correspondant à la clé IPNS pourra mettre à jour le registre IPNS en signant les données. | ||
+ | |||
+ | ==== Conclusion ==== | ||
+ | |||
+ | Ces deux mécanismes permettent à la fois d' | ||
+ | |||
+ | 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' | ||
+ | |||
+ | |||
+ | ===== 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, | ||
+ | |||
+ | Il vous suffit d' | ||
+ | |||
+ | Cloudflare propose une telle passerelle (et on ne vous en recommande pas l' | ||
+ | |||
+ | Ce type de passerelle est une commodité, et a l' | ||
+ | ===== Usages ===== | ||
+ | |||
+ | L' | ||
+ | |||
+ | Si l' | ||
+ | |||
+ | Exemple : pour partager toutes les données situées dans le répertoire courant : | ||
+ | < | ||
+ | ipfs add -r . | ||
+ | </ | ||
+ | |||
+ | Voir aussi: [[https:// | ||
+ | |||
+ | ==== 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' | ||
+ | |||
+ | Il suffit de se rendre avec votre navigateur sur [[http:// | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | |||
+ | ===== Projets utilisant IPFS ===== | ||
+ | |||
+ | Les possibilités d'IPFS sont encore en cours d' | ||
+ | |||
+ | Une liste de ces projets est illustrée dans la section «[[https:// | ||
+ | |||
+ | On y trouve des choses comme : | ||
+ | * [[https:// | ||
+ | * un plugin pour beets, logiciel de gestion avancée de collection musicale | ||
+ | * DTube, site de partage de videos similaire à Youtube mis en place par Steemit. Le STEEM est une cryptomonnaie proposant une rétribution selon les votes positifs obtenus lors de la publication d'un contenu (voir leur [[https:// | ||
+ | * OpenBazaar, plateforme d' | ||
+ | * Et d' | ||
+ | |||
+ | Autre initiative, [[https:// | ||
===== Liens ===== | ===== Liens ===== | ||
Ligne 8: | Ligne 157: | ||
* Github : https:// | * Github : https:// | ||
* Journal DLFP qui en parle : http:// | * Journal DLFP qui en parle : http:// | ||
+ | * Un autre article de vulgarisation sur IPFS : https:// | ||
+ | * Un récapitulatif technique d'IPFS (en anglais) : https:// | ||
+ | * Rien à voir, les cours de Michel Foucault restaurés, hébergés sur IPFS : https:// | ||
+ | |||
+ | * P2P similaires : [[p2p> | ||
+ | |||
+ | {{tag> | ||
+ | |||