Wir sprechen über die Funktionsprinzipien dieses P2P-Protokolls und über Projekte, die auf seiner Grundlage aufgebaut sind.
/ Unsplash / Alina GrubnyakWas 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 BrandsmaJetzt 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
Nach genügendem Lauf:
git clone https://github.com/beakerbrowser/beaker.git cd beaker npm install npm run rebuild
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: