SimpleX Chat

Di, 25. Januar 2022, Ralf Hersel

SimpleX ist ein dezentralisiertes Open-Source-Client-Server-Netzwerk, das Einwegknoten für die asynchrone Weiterleitung von Nachrichten verwendet und Empfänger und Absender anonymisiert. Der Hauptunterschied zu anderen Chat-Protokollen wie XMPP, Matrix, Signal besteht darin, dass SimpleX überhaupt keine Form von Identität für das Nachrichten-Routing verwendet und die erste Verbindung entweder ausserhalb des Bandes oder über Kanäle, die nicht am Nachrichten-Routing teilnehmen, hergestellt werden muss, sodass die einzige Möglichkeit, Verbindungen des SimpleX-Netzwerks aufzubauen, die Beobachtung der IP-Paketzeiten ist.


Darüber hinaus verwendet SimpleX zwei Schichten der E2E-Verschlüsselung (double-ratchet für Duplex-Verbindungen): Eine bietet Forward Secrecy, mit der der Chat auch dann noch Schutz bietet, wenn die Langzeit-Credentials bekannt werden, eine zweite ist zum Schutz der Metadaten gedacht.

SimpleX Chat verwendet das SimpleX Messaging Protocol (SMP), um Nachrichten in eine Richtung an einen Empfänger zu senden. Im Gegensatz zu P2P-Netzwerken werden alle Nachrichten über einen oder mehrere Server geleitet, die nicht persistent sein müssen. Hier werden asynchrone Nachrichtenwarteschlangen verwendet, die die Daten nur in eine Richtung übertragen können - in der Kommunikationstechnik auch Simplex genannt. Dies vereint die Vorteile und vermeidet die Nachteile von föderierten und P2P-Netzen.


Im Gegensatz zu föderierten Netzwerken haben die teilnehmenden Serverknoten also keine Aufzeichnungen über die Benutzer, kommunizieren nicht miteinander, speichern keine Nachrichten, nachdem sie an die Empfänger zugestellt wurden, und es gibt keine Möglichkeit, die vollständige Liste der teilnehmenden Server zu ermitteln.

Die Vorteile

  • Keine globalen Benutzeridentitäten - keine Telefonnummern, E-Mail-Adressen, Benutzernamen, eindeutige Identifikatoren. Mit anderen Worten, nichts, was es den Netzwerkservern erlauben würde, die Kommunikation der Benutzer zu aggregieren und ihre Kontakte zu sehen.
  • Dezentralisierte Client-Server-Netzwerktopologie und datenschutzfreundliches Nachrichten-Routing-Protokoll. Das SimpleX-Netzwerk ist ähnlich aufgebaut wie P2P-Netzwerke, aber im Gegensatz zu den meisten P2P-Netzwerken besteht es aus Clients und Servern, ohne von einer zentralen Komponente abhängig zu sein.
  • Keine Abhängigkeit von DNS für das Kernnetz. Wahrscheinlich wird DNS in Zukunft für optionale öffentliche Adressen verwendet werden, aber das Nachrichtenrouting wird nicht von DNS-basierten Benutzeradressen abhängen.

Weitere Informationen finden sich auf der Website oder auf der GitHub-Seite des Projekts.

Die aktuelle Version 1.0.1 ist stabil und kann von der Kommandozeile aus auf allen wichtigen Desktop-Plattformen verwendet werden. Darüber hinaus kann man einen eigenen Server einrichten oder die SimpleX Messaging-Server verwenden (sie sind im Terminal-Client vorkonfiguriert). Der Terminal-Chat-Client unterstützt Chat-Gruppen und das Senden von Dateien. Man kann ihn entweder aus dem Quellcode bauen oder die Binärdatei für Linux, Windows oder Mac herunterladen.

Quellen:

https://simplex.chat/

https://github.com/simplex-chat/simplex-chat