Dat - welches Protokoll ist das und wer verwendet es?

Wir sprechen über die Funktionsprinzipien dieses P2P-Protokolls und über Projekte, die auf seiner Grundlage aufgebaut sind.


/ Unsplash / Alina Grubnyak

Was ist dat


Dat (Decentralized Archive Transport) ist ein offenes Protokoll für den Austausch von Daten und Nachrichten innerhalb eines verteilten Netzwerks (Peer-to-Peer). Es verfügt über integrierte Versionskontrollfunktionen und ermöglicht die Überwachung von Änderungen in Datensätzen. Dat wurde von Ingenieur Max Ogden entwickelt. Er führte das Protokoll 2013 im Rahmen des Code for America- Projekts ein.

Die Teilnehmer entwickeln Dienstleistungen, die zur Verbesserung der kommunalen Dienstleistungen beitragen. Dat wurde als Instrument zur Übermittlung personenbezogener Daten von Bürgern zwischen dem Staat geschaffen. Organisationen. Später verlagerte sich der Schwerpunkt des Projekts jedoch auf wissenschaftliche Informationen.

Rund um Dat hat sich eine große Community gebildet (7 Tausend Sterne auf GitHub ). Das Protokoll und die darauf basierenden Anwendungen werden von der gemeinnützigen Organisation Dat Foundation beworben. Es wird von Mozilla, der Open Source Foundation von Code for Science & Society, und Wireline, einem P2P-Netzwerkentwickler, unterstützt.

Wie arbeitet er?


Um eine Datei in das Dat-Netzwerk hochzuladen, müssen Sie deren URL angeben. Hier ist ein Beispiel:

dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif 

Um den Adresslink zu finden, verwenden Dat-Clients Multicast-DNS . Gleichaltrige senden ihre Anfrage an das lokale Netzwerk in der Hoffnung, dass einer der Teilnehmer Informationen „hört“ und teilt. Kunden können auch über das Internet auf den Server zugreifen. Der Hauptserver befindet sich unter Discovery1.datprotocol.com . Wenn es nicht verfügbar ist, können Sie sich auf seinen Spiegel beziehen - Discovery2.datprotocol.com .

Über andere Protokolle und Standards in unserem Blog über Habré:


Wenn der Peer die IP-Adresse und die Portnummer eines anderen Peers erfährt, stellt er eine TCP-Verbindung her. Alle übertragenen Daten werden verschlüsselt - hierfür wird das XSalsa20- Stream-Verschlüsselungssystem verwendet. Der Algorithmus verwendet eine 20-Zyklus-Hash-Funktion. Konvertierungsvorgänge erinnern an die an AES beteiligten.

Daten im Datennetz werden in separaten Fragmenten (Chunks) übertragen, deren Größe variieren kann. Mit dem System können Sie der Dat-Datei neue Fragmente hinzufügen, vorhandene jedoch nicht ändern oder löschen. Laut den Entwicklern können Sie mit diesem Ansatz den gesamten Verlauf von Dokumentänderungen speichern. Das System kann in einer Umgebung mit instabiler Verbindung frei funktionieren.


/ Unsplash / Sven Brandsma

Jetzt verbessern Mitglieder der Dat Foundation das Protokoll, damit es mit großen Datenmengen arbeiten kann. Insbesondere planen sie, das Dateisystem ( Hyperdrive ) zu überarbeiten, um mit Millionen von Dateien fertig zu werden, und neue Peer- Suchmaschinen ( Hyperswarm ) einzuführen .

Wer benutzt


Ein Beispiel wäre ein offenes ScienceFair- Projekt. Dies ist eine Desktop-Anwendung zum Durchsuchen und Suchen nach wissenschaftlicher Literatur. Auf dieser Plattform können Wissenschaftler und Forscher mit persönlichen Notizen, Magazinen oder Auszügen daraus arbeiten. Um Inhalte aus der wissenschaftlichen Literatur anzuzeigen, verwendet ScienceFair einen Objektivleser, der für das Rendern des JATS-XML-Formats verantwortlich ist .

Obwohl Dat ursprünglich als Protokoll für den Austausch wissenschaftlicher Informationen konzipiert wurde, verwendet die Community es, um Websites, Chats und andere Anwendungen zu erstellen.

Ein aktuelles Beispiel ist der Beaker P2P-Browser, der in Zusammenarbeit mit dem Dat-Entwicklungsteam entwickelt wurde. Ziel ist es, Benutzern die Möglichkeit zu geben, Websites "direkt im Browser" zu hosten. Die Autoren von Bechern haben den Hashbase-Clouddienst gestartet, der ständigen Zugriff auf Datenseiten bietet, deren lokale Kopien nicht verfügbar sind.

Das Projekt ist vollständig geöffnet und seine Quelle befindet sich auf GitHub . Wenn Sie die Funktionen des Browsers selbst testen möchten, müssen Sie libtool, m4 und autoconf installieren, um ihn unter Linux auszuführen:

 sudo apt-get install libtool m4 make g++ autoconf # debian/ubuntu sudo dnf install libtool m4 make gcc-c++ libXScrnSaver # fedora 

Nach genügendem Lauf:

 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 

Weitere Beispielanwendungen finden Sie auf der Projektwebsite.

Analog


Natürlich ist Dat nicht das einzige P2P-Protokoll, das kürzlich aktiv entwickelt wurde. Eine Alternative ist das IPFS-Projekt (InterPlanetary File System). Dies ist ein verteiltes Peer-to-Peer-Dateisystem. Der Unterschied zu anderen dezentralen Netzwerken besteht darin, dass es mit Blöcken arbeitet. Sie können sowohl einen Teil der Datei als auch Links zu anderen Blöcken enthalten. Aus diesen Blöcken wird ein verallgemeinerter baumartig gerichteter Graph gebildet, der ein Verzeichnis oder eine Datei bildet. IPFS arbeitet mit verteilten Hash-Tabellen und unterstützt den dezentralen Blockaustausch. IPFS weist keine Fehlerquellen auf, und Hosts müssen sich nicht gegenseitig vertrauen. Der Zugriff auf das Dateisystem kann über FUSE oder HTTP erfolgen.

Die Lösung verwendet bereits Neocities Hosting und OpenBazaar Marketplace. Entwickler von Protokollen wie IPFS und Dat hoffen, dass ihre Projekte Internetnutzern mehr Kontrolle über ihre Daten geben.

Worüber wir im Unternehmensblog von VAS Experts schreiben:

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


All Articles