05. Nov’19
Übersetzung des Blogartikel von Autor Simon Jegelka, Topocare.
Implementierung einer IOTA-basierten Supply Chain Dokumentation
IOTA bietet die Möglichkeit, Daten unveränderlich zu speichern und so Vertrauen und Transparenz in ein Logistiknetzwerk mit mehreren Teilnehmern zu schaffen. Gerade wenn es keinen dominierenden Partner gibt, wird diese Tatsache immer wichtiger. In diesem Artikel stellen wir eine Proof-of-Concept-Implementierung für einen realen Anwendungsfall vor, der auf IOTA Streams basiert.
Das Hauptmerkmal einer Lieferkette ist, dass es Übergabestellen gibt, an denen eine Ware von einem Teilnehmer an einen anderen übergeben wird. Und es wird nicht nur die Ware übergeben, sondern auch das Eigentum und das Risiko. Daher sind Daten über das aktuelle und das vergangene Eigentum wichtig, um Fragen zu beantworten, z. B. “Wer ist für einen Schaden an der Ware verantwortlich?” Oder “Ist der Verkäufer des Produkts der rechtmäßige Eigentümer?” Oder “Wer war der erste Eigentümer?” Hersteller, damit der wahre Ursprung des Produkts identifiziert werden kann? “.

Neben der Eigentumsfrage gibt es noch weitere interessante Punkte, wenn es um Lieferketten geht. Um diese Punkte besser ansprechen zu können, spricht man häufig auch von „Wertschöpfungsketten“. Während es zu Beginn der Lieferkette nur Rohstoffe gibt, werden diese in jedem weiteren Schritt zusammengeführt und zu einem Endprodukt weiterverarbeitet. Somit wird durch jeden Schritt jedes Partners in der Lieferkette ein Mehrwert geschaffen. Neben den Eigentumsdaten ist es daher wichtig, zusätzliche Informationen über die Verarbeitung und Produktion zu erhalten. Die Daten sollten die Aktionen wie bestimmte Produktionsschritte, Maschinenparameter und -zeiten usw. widerspiegeln, um Hintergrundinformationen über die gelieferte Ware zu geben.

Um die Wichtigkeit der beschriebenen Daten zu veranschaulichen, kann das Beispiel eines Qualitätsfehlers angegeben werden. Ein einfaches Beispiel ist eine gebrochene Achse eines Autos. Es ist nicht nur von Interesse, wer die Achse hergestellt hat, sondern auch, wo der Fehler aufgetreten ist. Wenn Grundmaterialien wie Stahl in der Produktion verwendet werden, gibt es immer Chargennummern, um Materialprobleme nachzuvollziehen. Die gesamte Produktion der Achse auf der Grundlage dieser Charge kann zurückgerufen werden, wenn der Stahl als Ursprung des Qualitätsproblems identifiziert wird.
Daher sollte eine perfekte Dokumentation der Lieferkette jeden Produktionsschritt und alle wichtigen Parameter oder Materialeingaben identifizieren, um Qualitätsprobleme und zahlreiche andere Fragen zurück zu verfolgen.
Supply Chain Beispiel
Um die gegebenen Anforderungen in eine IOTA-basierte Supply-Chain-Dokumentation umzuwandeln, wurde ein entsprechendes Beispiel aus der Praxis verwendet. Das Beispiel liegt im Bereich des Baus von Hochwasserschutzbarrieren. Der Prozess besteht aus einem Geotextilhersteller, einem Zwischenhändler und der Baufirma, die schließlich die Barriere aufbaut.
Die eher kurze Lieferkette bietet alle beschriebenen Merkmale von Lieferkettendaten. Außerdem sind mehrere Teilnehmer beteiligt, sodass sich eine vertrauenswürdige Datenspeicherung lohnt. Eine Darstellung der Lieferkette finden Sie in Abbildung 3.

Im Beispiel produziert ein Hersteller verschiedene Geotextilien. Diese Textilien werden zur Verstärkung von Hochwassersperren wie Deichen eingesetzt. Die untersuchte Lieferkette konzentriert sich auf das vom Hersteller hergestellte Geotextil „AC-Tex R401“. Zur Herstellung des Textils werden bestimmte Chargen von Kunststoffen als Ausgangsmaterialien verwendet. Interessant ist auch die Produktionslinie, mit der das Textil verarbeitet wird (siehe auch Abbildung 2). Während zwei Produktionslinien das Textil verarbeiten, kann ein Fehler auftreten, der zu einem unbrauchbaren Textil führt.
Ein Zwischenhändler holt wie ein Einzelhändler die Geotextilien beim Hersteller ab und verkauft sie schließlich an die Baufirma. Bei jeder Übergabe, bestehend aus einem Verkaufs- und einem Kaufschritt, sollte ein Zeitstempel erstellt werden.
Die Baufirma verarbeitet das Geotextil in ihren Maschinen. Die Maschinen nehmen das Textil und bauen es in die Deichstruktur ein. Zeit und Ort der Installation können von der Maschine automatisch in die Daten der Lieferkette eingefügt werden.
Was diesen Supply Chain Anwendungsfall so interessant macht, ist die Forderung der Hochwasserschutzbehörden in Deutschland: Jedes Textil, das in ein Bauwerk wie einen Deich oder z. B. eine Mülldeponie eingebaut wird, muss nachvollziehbar sein. Rückverfolgbar nach Standort, Textilhersteller und Textilausweis. Mit diesen Basisinformationen kann ein in einer Produktionslinie eines Herstellers aufgedecktes Qualitätsproblem bis zum Aufstellungsort zurückverfolgt werden und umgekehrt.
Projektierung der Lieferkette auf IOTA Streams
IOTA Streams ist ein Datenkommunikationsprotokoll der zweiten Schicht (second Layer) von IOTA, dass Funktionen zum Senden und Zugreifen auf verschlüsselte Datenströme hinzufügt, die als Kanäle bekannt sind. Die Kenntnis eines IOTA private key repräsentiert das Eigentum an allen Dingen, die mit dem public key im IOTA-Ökosystem verbunden sind. Dies können IOTA-Token sein, die auf eine Adresse gutgeschrieben sind oder einem IOTA Streams-Kanal mit Daten.
In der IOTA-Umgebung ist es in der Regel nicht möglich, Informationen zu einem Benutzer zurückzuverfolgen und in der richtigen Reihenfolge anzuordnen, da public keys oder Adressen ständig geändert werden. Um dies zu lösen, bietet IOTA Streams eine verknüpfte Liste innerhalb der IOTA-Struktur an, um einen Informationsfeed von einem Benutzer einzurichten. Jeder dieser IOTA Streams-Kanäle hat einen Ursprung (root), die den Eintrag der verknüpften Liste markiert.
Dennoch ist eine Interaktion mit der „Außenwelt“ erforderlich, um einen Ursprung mit einer realen Entität in der Lieferkette zu verknüpfen. Als Lösung empfehlen wir, für jeden Supply-Chain-Teilnehmer einen einzelnen IOTA Streams Ursprung zu verifizieren. Dieser Ursprung könnte zB auf einer Website veröffentlicht werden, die von allen Partnern anerkannt wird. Es würde sagen, dass “Hersteller XYZ” die “Ursprung xyz” besitzt. Durch diese Überprüfung kann ein vertrauenswürdiger Einstiegspunkt, ein Link zu den Produkten des Herstellers usw. festgelegt werden.
Ein Produkt, das sich entlang einer Lieferkette bewegt, hat im Laufe der Zeit unterschiedliche Eigentümer. Um diesen Prozess abzubilden, benötigt jeder Teilnehmer einen IOTA Streams-Kanal, um Daten zu dem Zeitpunkt zu veröffentlichen, zu dem er das Produkt besitzt. Bei jeder Übergabe des Produkts (Verkauf und Kauf von Eigentum) müssen die Kanäle des aktuellen und des nächsten Eigentümers miteinander verknüpft werden.

Der spezifische Prozess wäre wie folgt: Ein Hersteller öffnet für jedes spezifische Produkt in der Produktion einen neuen Kanal. Dieser neue Kanal ist bidirektional mit dem verifizierten Kanal des Herstellers verknüpft. Jetzt können dem neuen Kanal Informationen über das Produkt und seine Herstellung hinzugefügt werden. Bei einer Übergabe des physischen Produktes an den Vermittler (/ Händler) muss das virtuelle Produkt ebenfalls an den Kanal des Vermittlers übergeben werden. Auf diese Weise wird ein „Metakanal“ des Produkts als verknüpfte Liste über die Kanäle erstellt, die mehreren Personen gehören.
Jede Übergabe muss als Interaktion zweier Personen und ihrer Kanäle durchgeführt werden. Im oben ausgewählten Beispiel: der Hersteller und der Vermittler. Während der Übertragung des Produkts muss der Zwischenhändler zunächst einen neuen Kanal erstellen. Zweitens muss der Ursprung (root) dieses Kanals an den aktuellen Eigentümer, den Hersteller, übertragen werden. Dies kann einfach durch Scannen eines QR / NFC in Gegenwart der realen Produkte erfolgen. Der Hersteller als aktueller Eigentümer überprüft die physische Übertragung des Produkts, indem er den Link zum Kanal des Mittelsmanns in seinem eigenen Kanal veröffentlicht. Dies ist die letzte Nachricht im Kanal des Herstellers. Ab sofort kann der Vermittler Nachrichten in seinem eigenen Kanal posten.

Um Vertrauen in die gesamte Kette der verknüpften IOTA Streams-Kanäle zu schaffen, muss nachgewiesen werden, dass der Start von einem verifizierten Hersteller veröffentlicht wurde. Wie zuvor beschrieben, kann der erste Ursprung (root) diese Funktion erfüllen. Der „Metakanal“ des jeweiligen Produkts kann daher durch die Verknüpfung mit dem überprüften Basiskanal des Herstellers bestätigt werden (siehe Abbildung 5). Auf diese Weise kann jeder Prozessteilnehmer erneut bestätigen, dass das gekaufte Produkt eine vertrauenswürdige Historie hat.
Implementierung
Zur Unterstützung des beschriebenen Prozesses können Maschinendaten innerhalb der Produktion sowie Transport- und Verwendungsdaten des Geotextils in einem produktspezifischen Metakanal veröffentlicht werden.

Zur Unterstützung der Prozesse entlang der Lieferkette wurde eine App entwickelt. Die App vereinfacht die oben beschriebenen „komplizierten“ Prozesse innerhalb IOTA Streams, sodass ein Endbenutzer die App ohne tiefes IT-Wissen einfach nutzen kann.
Im Detail verwaltet die App die Übergaben der Produkte (IOTA Streams-Kanal erstellen, IOTA Streams-Daten schreiben und lesen) mithilfe der IOTA Streams-Js-Bibliothek. Alle notwendigen Metadaten werden auf dem Mobiltelefon gespeichert (IOTA private key, verifizierter Ursprung (root) der Hersteller,…). Supply-Chain-Daten werden direkt auf dem IOTA-Netzwerk veröffentlicht, ohne dass ein zusätzlicher Server erforderlich ist, und ein Proof-of-Work wird auf dem Mobiltelefon berechnet.
Der Startbildschirm der App ist im Bild unten zu sehen (Abbildung 7). Die Hauptfunktionen für eine Produktübergabe sind die Schaltflächen “Kaufen” und “Verkaufen”, die sich in der Mitte befinden.

Auf „Mein Portfolio“ sind alle Produkte zu sehen, die sich derzeit im Besitz des Inhabers des Mobiltelefons (bzw. des privaten Schlüsselinhabers) befinden. Außerdem ist die Liste aller vertrauenswürdigen Hersteller verfügbar.
Wenn Sie auf ein Produkt klicken, werden alle Daten angezeigt, die seit Beginn der Lieferkette in IOTA Streams gespeichert wurden (rechts in Abbildung 7). Im gezeigten Beispiel handelt es sich um das Geotextil „AC-Tex R401“ des Herstellers „Wolotex“. Außerdem werden Informationen zur Produktionslinie und zum Produktionslos nach unten gescrollt.
Für das Tryout wurde das IOTA-Devnet verwendet. Durch die Übertragung der Ware von einem Teilnehmer der Lieferkette auf einen anderen wird die virtuelle Ware auf das Konto (Wallet) des neuen Eigentümers übertragen (Abbildung 8).

Ausblick
Wir von Topocare arbeiten derzeit an einer Alternative zum QR-Code in den Geotextilien, um Betrug zu verhindern, wenn die Daten im Tangle gespeichert werden und so die Sicherheit zu erhöhen. NFC-Chips werden direkt in das Geotextil integriert, was den Austausch erschwert.
Ein weiterer wichtiger Punkt ist, dass IOTA an der Weiterentwicklung von IOTA Streams arbeitet. Die neue Version bietet die Möglichkeit, mehrere Nachrichten an einer iota-Adresse zu senden. Beispielsweise verwendet jede Nachricht auf dem Indexkanal denselben öffentlichen Schlüssel des Herstellers. Dies würde den beschriebenen Prozess der Überprüfung eines Produkts vereinfachen.