Mai 3, 2020

IOTA Streams - einfach Erklärt

IOTA Streams - einfach Erklärt

Die IOTA Foundation hat vor ein paar Wochen die Alpha Version ein neues Feature vorgestellt ÌOTA Streams, welches den Vorgänger Masked Authenticated Messaging, kurz MAM ersetzen wird. Bei diesem Umstieg wurde auf die Einfachheit des Names, der direkt den Use Case beschreibt - Streams. Also, alles was irgendwie gestreamt werden kann, wie zum Beispiel Datenstream oder Videos, könnten mit diesem Feature abgebildet werden. Schauen wir uns das Ganze etwas genauer an.

Streams ist ein kryptografisches Framework zum Erstellen von Anwendungen, die authentifizierte und/oder verschlüsselte Nachrichten streamen.

Hier sind nur einige Ideen, was man mit Streams erstellen könnte:

  • Ein API-Service, der Daten hinter einer Paywall verschlüsselt.
  • Ein Marketing-Abonnementdienst, der eine Fälschungssichere Liste über die Abonnements im Tangle führt.
  • Eine sichere Chat-Anwendung, für die keine personenbezogenen Daten erforderlich sind.

Channel - der Kanal

Veröffentlichung von kryptografischen Nachrichten auf einem Kommunikationskanal.

Standardmäßig kann man in Kanälen Nachrichten mittels API veröffentlichen, die transparent und manipulationssicher im Tangle gespeichert werden.

Jeder Kanal hat einen Eigentümer, der als Autor bezeichnet wird. Ein Kanal kann jedoch viele Abonnenten haben, die asynchron kommunizieren, indem sie Nachrichten auf dem Kanal des Autors veröffentlichen.

Jeder im Kanal kann öffentliche Nachrichten veröffentlichen, die jeder lesen kann, und private Nachrichten, die nur autorisierte Benutzer lesen können.

Messages - Nachrichten

Jede Nachricht hat einen Typ, der den Inhaltstyp definiert und wie er kryptografisch verarbeitet werden soll. Nachrichten können einer von sieben Typen haben, die von Benutzern mit einer bestimmten Rolle erstellt und veröffentlicht werden können. Hier die wichtigsten

Announce - Veröffentlichen
Die erste Nachricht in einem neuen Kanal mit Informationen, mit denen Abonnenten andere Nachrichten auf demselben Kanal authentifizieren können

Keyload - Sitzungsschlüssel
Veröffentlicht einen Sitzungsschlüssel, der für autorisierte Abonnenten verschlüsselt ist, damit sie die nachfolgende TaggedPacket- und SignedPacket-Nachrichten verarbeiten können, die mit dieser Keyload-Nachricht verknüpft sind

ChangeKey - Schlüssel wechseln
Veröffentlicht den neuen öffentlichen Schlüssel des Autors und authentifiziert ihn mit dem vorherigen.

TaggedPacket - etikettiertes Packet
Veröffentlicht private und öffentliche Daten, die nur mit einem Code lesbar sind.

SignetPacket - Unterschriebenes Packet
Veröffentlicht eine signierte Nachricht, die private oder öffentliche Daten enthält.

Subscribe - Abonnieren
Veröffentlicht den öffentlichen Schlüssel des Abonnenten auf dem Kanal, damit der Autor damit einen Sitzungsschlüssel in der Keyload-Nachricht generieren kann.

Unsubscribe - Abmelden
Der Abonnenten meldet sich vom Kanal ab, damit der Autor keinen Sitzungsschlüssel mehr generieren muss.

Fazit

IOTA Streams ist ein sehr mächtiges und vielseitiges Nachrichten Framework. Einfach gesagt können Autoren damit Daten öffentlich oder nur für bestimmte Subscriber publizieren.

Aktuell ist IOTA Streams in Rust implementiert.

Noch fragen? Schaut mal hier vorbei: https://community.einfachiota.de/t/iota-streams/95