Streams

Streams ist eine Weiterentwicklung von Masked-Authenticated-Messaging (MAM), es ist ein kryptografisches Framework zum Erstellen kryptografischer Messaging-Protokolle in der Programmiersprache Rust . Streams verfügen über eine integrierte Methode zum Senden von Nachrichten an IOTA-Nodes. Sie sind jedoch auch so flexibel, dass Sie sie erweitern können, um Nachrichten auf andere Weise zu senden, z. B. in HTTP-URLs. Das Protokoll wurde von Grund auf neu in der Programmiersprache Rust geschrieben, um viel mehr Flexibilität, Funktionalität und Benutzerfreundlichkeit zu ermöglichen, zudem wurden Verbesserungen aus dem Feedback von Partnern und der Community implementiert.

Bei IOTA Streams handelt es sich um ein multifunktionales Second Layer Datenübertragungsprotokoll, welches für verschiedene Arten der Datenübertragung (z.B. Streaming-Daten) verwendet werden kann. Beispielsweise ermöglicht es Sensoren und anderen Geräten, ganze Datenströme zu verschlüsseln und im IOTA-Tangle zu verankern. Das Konsensprotokoll von IOTA fügt diesen Nachrichtenströmen Integrität und Authentizität hinzu. Angesichts dieser Eigenschaften erfüllt IOTA Streams ein wichtiges Bedürfnis in Branchen, in denen Integrität, Datenschutz und Unveränderlichkeit aufeinandertreffen.

 

 

Die wichtigsten Eigenschaften von IOTA Streams:

 

1)     Kanalanwendung

Vereinfacht dargestellt funktionieren die Kanäle bei IOTA Streams wie ein Funkgerät, bei dem nur diejenigen mit der richtigen Frequenz zuhören können, übertragen auf das Protokoll bedeutet dies, dass nur autorisierte Personen mit der richtigen Kanal-ID (Adresse) Zugriff auf den gesamten Datenstrom bekommen und diesen lesen und rekonstruieren können. 

Die Nutzung der Kanäle selbst lässt sich anhand von YouTube sehr gut erklären, wie bei YouTube wird auch bei IOTA Streams einen Kanal geöffnet, in dem der Eigentümer seine Daten veröffentlicht, dieser Datenkanal kann von anderen Nutzern abonniert werden, um alle Daten des Kanalbesitzers empfangen zu können.

Die Eigentumsverhältnisse der Daten wird mit Hilfe des IOTA Seed geregelt, mit ihm werden die Datenströme vom Autor signiert und veröffentlicht. Wenn der Seed-Inhaber anderen Nutzen den Seed weitergibt, können diese ebenfalls beliebigen Nachrichten auf diesem Kanal veröffentlichen. Aber auch hier gilt: Der Seed hält alle Datenschutz- und Eigentumsrechte, dieser darf niemals an unberechtigten Personen weitergegeben werden und sollte sicher aufbewahrt werden.

Die Kanalanwendung von IOTA Streams ermöglicht es zudem, dass Abonnenten auch nicht signierte Nachrichten veröffentlichen können. In der alten Version MAM v0 konnten nur Kanalbesitzer Nachrichten veröffentlichen.

 

Die Kanalanwendung kann auf unterschiedliche Weise eingesetzt werden:

  • Der öffentliche Kanal: Nur unter Verwendung der Adresse kann jeder Nutzer die Nachrichten lesen. Dieser Modus ähnelt der Übertragung im Amateurfunkbereich. Diese Übertragungsmodus könnte für öffentliche Nachrichten verwendet werden und ein möglicher Anwendungsfall wäre ein Twitter-Klon, nur das dieser Klon die zusätzlichen Eigenschaften der Unveränderlichkeit und der Datenintegrität hätte.
  • Der private Kanal kann für verschlüsselte Daten-Streams verwendet werden, die nicht für den öffentlichen Gebrauch bestimmt sind. Dieser Übertragungsmodus ähnelt eher einer verschlüsselten Funknachricht, nur der Seed-Inhaber (privat-key) kann diese Daten entschlüsseln. Der Privatmodus ist nützlich für eigene Geräte, die privat miteinander kommunizieren.
  • Der eingeschränkte Kanal fügt dem privaten Modus einen Authentifizierungsschlüssel hinzu. Ein Nachrichtenversender könnte die Verwendung des Authentifizierungsschlüssel einstellen, so dass er ggf. dem Abonnenten den Zugriff entziehen könnte. Wenn ein Schlüsseländerungsereignis eintritt, muss der neue Authentifizierungsschlüssel an alle Parteien neu verteilt werden, die dem Stream folgen dürfen.

 

 

2)     Kryptografisches Framework

Bei IOTA Streams geht es nicht nur um Kanäle. IOTA Streams ist ein Framework für kryptografische Anwendungen. Die Kanalfunktionalität ist nur ein Beispiel für eine Anwendung, die über IOTA-Streams implementiert werden kann. Für Zwecke, bei denen die Kanalanwendung nicht die ideale Lösung ist, kann mithilfe des IOTA Streams-Frameworks eine andere Anwendung erstellt werden.

 

 

3)     Nachrichtentypen

In IOTA-Streams haben die Nachrichten eine Struktur, die auf einer Kopfzeile basiert. Das Nachrichtenformat ist nicht festgelegt, wenn ein Anwendungsfall unterschiedliche Nachrichtenstrukturen erfordert, werden nicht mehrere Kanäle für jede Struktur benötigt. Beispielsweise können unterschiedliche Nachrichtentypen für die Überwachung von Nachrichten und Warnmeldungen existieren. In IOTA-Streams können beide im gleichen Kanal veröffentlicht werden, die Anwendungen, die diese Nachrichten lesen, werden diese anhand ihrer spezifischen Kopfzeilen unterscheiden.

 

 

4)     Zugriffskontrolle

In IOTA Streams können Sie auf jede Nachricht basierend auf ihrem Nachrichtentyp einen anderen kryptografischen Mechanismus anwenden und dies in einem einzigen Kanal. Das bedeutet, dass unterschiedliche Nachrichten je nach Typ unterschiedliche Zugriffssteuerungsregeln haben und verschiedene Parteien (Abonnenten) greifen nur auf die Informationen zu, auf die sie Zugriff haben.

 

 

5)     Verknüpfen von Nachrichten

In IOTA-Streams können Nachrichten miteinander verknüpft werden. Dies bedeutet, dass eine Nachricht mit einer anderen Nachricht verknüpft werden kann, die zusätzliche Informationen zur aktuellen Nachricht enthält.

 

 

6)     Nachrichtenabfolge

In IOTA-Streams können frühere Nachrichten in einem bestehenden Kanal geändert werden, während die ältere Nachricht im Tangle verbleibt, um die Integrität zu gewährleisten, können Anwendungen nur die neueste, gültige Nachricht direkt abrufen. Dies vereinfacht das Ersetzen und Ändern von Informationen wie z.B. Anmeldeinformationen. Digitale Identitäten, die mit Anmeldeinformationen verknüpften sind, können so auf einfache Weise aktualisiert werden ohne eine neue Identität erstellen zu müssen.

 

 

Schlussfolgerung

IOTA Streams eröffnet viele neue Anwendungsfelder, die Integrität der Daten zu sichern und die Zugriffsverwaltung kontrollieren zu können, hier sind nur einige Ideen, was Sie mit Streams erstellen können:

  • Ein API-Service, der Daten verschlüsselt, wenn sie sich hinter einer Paywall befinden
  • Ein Marketing-Abonnementdienst, der eine überprüfbare Aufzeichnung der Abonnements im Tangle führt
  • Ein sicheres Messaging-Protokoll, das sich auf kryptografische Schlüssel stützt, um Benutzer zu identifizieren

Dies sind Voraussetzung für Over-The-Air-Updates (OTA), Datenmarktplätze, Fog Analytics, durchgängig überprüfbare Lieferketten, automatisierte Versicherungen, Banking, Messaging, Industrie 4.0. und vieles mehr.

 

Informationen zum Testen einiger Funktionen finden Sie im Streams- Repository auf dem IOTA Github. 

 

 

Zuletzt bearbeitet: 19.05.2020