Concepts et technologies associées
IPFS est l’abréviation de InterPlanetary File System. Selon la doc officielle, c’est “un système distribué pour stocker et accéder à des fichiers, sites web, applications et données”.
De manière plus technique, c’est un protocole Peer To Peer de stockage et de distribution de tout type de fichier, accessible via son propre protocole réseau IPFS ou via HTTP. Basé sur une généralisation du protocole BitTorrent, il réutilise un système de hash en formant un graphe (orienté, acyclique : https://fr.wikipedia.org/wiki/Graphe_orienté_acyclique, donc différent de la Blockchain traditionnelle qui est un arbre enraciné). Il combine plusieurs outils développés au cours du temps, BitTorrent, git, Kademlia, et même Bitcoin.
Sur la page GitHub du projet ( https://github.com/ipfs/ipfs/blob/master/README.md ) les créateurs décrivent le projet sur quelques axes: c’est un protocole, un système de fichier, un web, il est modulaire, P2P, un CDN (on revient dessus), il utilise la cryptographie et il a un service de nom de domaine. C’est un projet open source avec des milliers de contributeurs. Si vous utilisez certains navigateurs comme Brave, le protocole IPFS est nativement reconnu et permet d’accéder aux points d’accès directement via le protocole IPFS (donc en passant par une url en ipfs://... plutot qu’en http://.. )
Son utilisation voit plusieurs avantages pour l’utilisation de NFT quels qu’ils soient.
En effet: comme la blockchain, le stockage dessus se veut résilient aux problématiques de serveurs traditionnels centralisés, incensurable, vérifiable dans le temps long, et accessible plus facilement depuis n’importe où dans le monde via son aspect CDN.
Nous avons déjà vu la plupart des aspects, l’inaltérabilité, la résilience, le hashage..., concentrons nous sur le CDN dont nous n’avons encore jamais parlé. Content delivery network (réseau de distribution de contenu), est un réseau de serveur proxy et de data center distribués géographiquement. Le but est d’offrir aux utilisateurs finaux un service avec une haute disponibilité et une haute performance.
On utilise beaucoup les CDN pour un élément: la récupération de fichiers utiles aux sites web comme des librairies, des polices d’écritures. On l’utilise par exemple pour jquery, pour les googles font...
Ainsi, comme la blockchain, IPFS est un agglomérat, de nombreuses recherches ayant abouti sur une solution précise et répondant à un besoin précis très proche.
Alors que la blockchain ne stocke que de la data en faible quantité, ici nous avons un système de stockage de fichiers potentiellement lourds, particulièrement adapté aux NFTs puisqu’on adosse aux contrats blockchain un fichier à part que nous pouvons stocker, et qui garde une grande partie des propriétés intéressantes de la blockchain..
Après, on doit quand même préciser que tout dépend toujours des projets: parfois il est intéressant de ne stocker les données que sur la blockchain, pour tout avoir au même endroit, le token et sa preuve de possession. Parfois à l’inverse on préférera la modularité d’un serveur privé. Ipfs est un bon compromis.
N’hésitez pas à aller voir le site https://opengem.com/score?search= (ex art for all), ils montrent bien par une notation les avantages et inconvenients de IPFS face a du serveur centralisé et face à du full on chain.