Dat - de quel protocole s'agit-il et qui l'utilise

Nous parlons des principes de fonctionnement de ce protocole P2P et des projets construits sur sa base.


/ Unsplash / Alina Grubnyak

Qu'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 Brandsma

Maintenant, 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 # debian/ubuntu sudo dnf install libtool m4 make gcc-c++ libXScrnSaver # fedora 

Après assez de course:

 git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild # see https://github.com/electron/electron/issues/5851 npm start 

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:

Source: https://habr.com/ru/post/fr462359/


All Articles