Nous parlons des principes de fonctionnement de ce protocole P2P et des projets construits sur sa base.
/ Unsplash / Alina GrubnyakQu'est-ce que dat
Dat (Decentralized Archive Transport) est un protocole ouvert pour l'échange de données et de messages au sein d'un réseau distribué (peer-to-peer). Il a des fonctionnalités de contrôle de version intégrées et vous permet de surveiller les changements dans les ensembles de données. Dat a été développé par l'ingénieur Max Ogden. Il a
introduit le protocole en 2013 dans le cadre du projet
Code for America .
Ses participants développent des services qui contribuent à l'amélioration des services municipaux. Dat a été créé comme un outil de transfert des données personnelles des citoyens entre les États. organisations. Mais plus tard, le projet s'est concentré sur l'information scientifique.
Une grande communauté s'est formée autour de Dat (7 000 étoiles
sur GitHub ). Le protocole et les applications construites sur sa base sont promus par l'organisation à but non lucratif
Dat Foundation . Il est soutenu par Mozilla, la fondation open source
Code for Science & Society et Wireline, un développeur de réseau P2P.
Comment travaille-t-il
Pour télécharger un fichier sur le réseau Dat, vous devez spécifier son URL. Voici un exemple:
dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif
Pour trouver le lien d'adresse, les clients Dat utilisent le
DNS multicast . Les pairs ont diffusé leur demande au réseau local dans l'espoir qu'un des participants «entendra» et partagera les informations. Les clients peuvent également accéder au serveur sur Internet. Le serveur principal se trouve sur
discovery1.datprotocol.com . S'il n'est pas disponible, vous pouvez vous référer à son miroir -
discovery2.datprotocol.com .
À propos d'autres protocoles et normes dans notre blog sur Habré:
Lorsque l'homologue apprend l'adresse IP et le numéro de port d'un autre homologue, il établit une connexion TCP. Toutes les données transmises sont cryptées - le système de cryptage de flux
XSalsa20 est utilisé à cet effet. L'algorithme utilise une fonction de hachage sur vingt cycles. Les opérations de conversion rappellent celles impliquées dans AES.
Les données du réseau Dat sont transmises en fragments séparés (morceaux), dont les tailles peuvent varier. Le système vous permet d'ajouter de nouveaux fragments au fichier Dat, mais ne vous permet pas de modifier ou de supprimer ceux qui existent déjà. Selon les développeurs, cette approche vous permet de sauvegarder l'historique complet des modifications de documents. Le système peut fonctionner librement dans un environnement avec une connexion instable.
/ Unsplash / Sven BrandsmaMaintenant, les membres de la Dat Foundation améliorent le protocole afin qu'il puisse fonctionner avec de grandes quantités de données. En particulier, ils prévoient de retravailler le système de fichiers (appelé
Hyperdrive ) pour faire face à des millions de fichiers et introduire de nouveaux
moteurs de recherche
par les
pairs (
Hyperswarm ).
Qui utilise
Un exemple serait un projet ouvert
ScienceFair . Il s'agit d'une application de bureau pour parcourir et rechercher de la littérature scientifique. Sur cette plateforme, les scientifiques et les chercheurs peuvent travailler avec des notes personnelles, des magazines ou des extraits d'eux. Pour afficher le contenu de la littérature scientifique, ScienceFair utilise un lecteur
Lens - il est responsable du rendu du
format XML JATS .
Bien que Dat ait été initialement conçu comme un protocole d'échange d'informations scientifiques, la communauté l'utilise pour créer des sites Web, des chats et d'autres applications.
Un exemple récent est le navigateur P2P
Beaker , qui a été développé en partenariat avec l'équipe de développement Dat. Son but est de donner aux utilisateurs la possibilité d'héberger des sites Web "directement dans le navigateur". Les auteurs de Beaker ont lancé le service cloud Hashbase, qui fournit un accès constant aux sites de données dont les copies locales ne sont pas disponibles.
Le projet est complètement ouvert et sa source
se trouve sur GitHub . Si vous souhaitez évaluer vous-même les capacités du navigateur, pour l'exécuter sous Linux, vous devrez installer libtool, m4 et autoconf:
sudo apt-get install libtool m4 make g++ autoconf
Après assez de course:
git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild
D'autres exemples d'applications
sont disponibles sur le site Web du projet.
Analogique
Bien sûr, Dat n'est pas le seul protocole P2P qui a été activement développé récemment. Une alternative est le projet IPFS (InterPlanetary File System). Il s'agit d'un système de fichiers distribué d'égal à égal. La différence avec les autres réseaux décentralisés est qu'il fonctionne avec des blocs. Ils peuvent contenir à la fois une partie du fichier et des liens vers d'autres blocs. A partir de ces blocs, un graphe orienté en forme d'arbre généralisé est formé qui forme un répertoire ou un fichier. IPFS fonctionne avec des tables de hachage distribuées et prend en charge les échanges de blocs décentralisés. IPFS n'a pas de points de défaillance et les hôtes
ne sont
pas tenus de se faire mutuellement confiance. L'accès au système de fichiers peut être obtenu à l'aide de
FUSE ou HTTP.
La solution utilise déjà l'hébergement
Neocities et la
place de marché
OpenBazaar . Les développeurs de protocoles comme IPFS et Dat espèrent que leurs projets donneront aux utilisateurs d'Internet plus de contrôle sur leurs données.
Ce que nous écrivons sur le blog d'entreprise de VAS Experts: