Kurzinfo

Themenbereich

Software-Erstellung

Studierende/r

Hirzel Dominik

Schmid Andreas

Dozent

Prof. Dr. Weingärtner Tim

Wirtschaftspartner

Prof. Dr. Hüsler René

Blockchain. Kryptowährungen. Dezentralisierte Datenbank. Internet of Things. Was sich für Laien anhört wie ein Auszug aus dem Computerduden, lässt die Herzen von so manchem Informatikstudenten höher schlagen. Bei diesen Begriffen handelt es sich nicht nur um Ausdrücke zur Geltendmachung der mentalen Überlegenheit durch Kenntnis von Fachbegriffen. Betont werden vor allem die rasant wachsende Anzahl vernetzter Geräte, die zunehmende Verteilung von Computersystemen, die immer grösser werdende Frage der Sicherheit derselben und die zunehmende Unlust von Unternehmen einander in der heutigen globalisierten Welt zu vertrauen.

Einzig die Schlagworte Blockchain und Internet of Things (IoT) sowie der Bau eines Demonstrators waren vom Auftraggeber am Kick-Off Meeting vorgegeben worden. Im Rahmen dieser Bachelorarbeit sollte ein System definiert, konzipiert und entwickelt werden, das den Blockchain und IoT Aspekt verbindet und einen praktischen Anwendungszweck demonstriert. Der entwickelte Demonstrator sollte nach Abschluss dieses Projektes noch weiter vom Auftraggeber als solcher verwendet werden können.

Aufgabenstellung

Die folgende Aufgabenstellung wurde ebenfalls im Rahmen dieser Projektarbeit definiert.
Es soll ein System entwickelt werden, um Schliessfächer zu (ver-)mieten. Dabei sollen die Verträge in Form von Smart Contracts in einer privaten Ethereum Blockchain definiert werden. Ein Benutzer soll über eine grafische Benutzeroberfläche ein freies Schliessfach reservieren können. Während der Benutzer der aktuelle Mieter eines Faches ist, kann er das Schloss per Knopfdruck ver- und entriegeln. Die Kommunikation soll über die Etheruem Blockchain stattfinden und unter Berücksichtigung gängiger kryptographischer Standards gegen missbräuchliche Verwendung gesichert werden.

Ergebnisse

Das System wurde basierend auf Smart Contracts in einer privaten Ethereum Blockchain implementiert. Als Benutzeroberfläche wurde eine Webapp entwickelt die auf einen Node der Blockchain verbindet und so mit dem Smart Contract intereagieren kann. Um diese Webapp auf mobilen Geräten zu verwenden, wurde eine Android App entiwckelt, die eine Node auf dem Gerät startet und mit dem Netzwerk verbindet. Der Demonstrator besteht aus metallischen Schliessfächern, deren Schliessmechanismen durch IoT Geräte implementiert und eingebaut wurden.

Lösungskonzept

Um die Interaktionsmölichkeiten des Systems für einen Benutzer möglichst einfach zu halten, wird auf Mobile Geräte gesetzt. Über die darauf verfügbaren Kameras kann ein QR-Code eingelesen werden, der ein Schliessfach als Smart Contract widerspiegelt. Wenn das Schliessfach gemietet ist, kann der Benutzer damit in Echtzeit interagieren. Somit ist kein Fachwissen bezüglich Blockchain notwendig, um diese zu verwenden.



Folgend wird illustriert, wie ein Benutzer mit dem System interagieren kann. Um die Komplexität zu verringern, wird das gesamte erarbeitete System als System lokkit dargestellt. Die technische Unterteilung ist weiter unten in Form eines Komponentendiagramms ersichtlich.
Ein wichtiger Bestandteil des Systems ist die losgelöste Blockchain (unten). Diese wird als primäre Datenhaltung verwendet und beinhaltet auch die Smart Contracts zur Interaktion mit den IoT Geräten.



Die Detailansicht des obig erwähnten System lokkit folgt hier. Dabei werden die technischen Komponenten und deren Schnittstellen dargestellt.


Smart Contracts

“A computerized transaction protocol that executes the terms of a contract.”, The Blockchain Revolution

Mit diesem Zitat kann grob das Ziel von Smart Contracts beschrieben werden. Dies sind Verträge, die in einem maschinenlesbaren Format verfasst sind und können unmissverständlich und ohne Interpretationsspielraum deterministisch definiert werden. So ist es möglich, einen in jedem Fall vorhersehbaren digitalen Vertrag aufzusetzen.

Die Smart Contracts wurden so aufgesetzt, dass jegliche Objekte als mietbar in der Blockchain abgelegt werden können. Diese Abstraktion ermöglich die Verwendung dieser Implementation für weitere Anwendungsszenarien.

Aufgetretene Probleme

Die Entwicklung an der Ethereum Platform ist noch in vollem Gange. Einige konzeptionelle, sowie implementationsbezogene Fehler befinden sich noch in Bearbeitung. Die technische Dokumentation ist aus diesem Grund ebenfalls im Rückstand und viele schriftlich festgehaltene Informationen sind nicht aktuell.
Viele Hindernisse im Bereich Blockchain - gerade aufgrund der Transparenz und Dezentralisierung - verlangen eine andere Herangehensweise. Die Lösungsentwicklung für die Ethereum Plattform setzt voraus, dass die beteiligten sich mit dieser auseinandersetzen und sich auf sie einlassen. Es ist auch ein gewisses Feingefühl im Entwurf von Schnittstellen und eigenen Protokollen vorauszusetzen, da diese gegen missbräuchliche Verwendung zusätzlich abgesichert werden müssen.

Ausblick

Die Blockchain Technologien sind erst am Anfang ihrer Geschichte. Viele Firmen suchen aktiv nach Anwendungsgebieten, die die Verwendung einer Blockchain rechtfertigen. Der entiwckelte Demonstrator ist ein guter Grundstein, auf den aufgebaut werden könnte. Das Konzept könnte verfeinert und an Firmen demonstriert werden, um das noch vorhandene Mysterium um diese Smart Contracts in der Blockchain zu lüften.