17. Januar 2019 von Matthias Roth
Alle Wege führen nach Rom - auch die Irrwege
Am Anfang bestand unsere Blockchain-Themengruppe vorwiegend aus Software Engineers und das Ziel war von Beginn an klar: Alle Teilnehmer wollten tiefer, in die für uns noch sehr neue Technologie einsteigen, möglichst schnell mit der Programmierung beginnen und Proof of Concepts (Meilensteine, an denen die prinzipielle Durchführbarkeit eines Vorhabens belegt werden können) umsetzen.
Der erste Use Case
Da unsere Gruppe am Anfang vorwiegend aus Schweizer Kollegen bestand, wählten wir als ersten Use Case ein „typisch“ schweizerisches Thema, das geradezu ideal für die Blockchain-Technologie zu sein schien: das eVoting. In diesem Use Case sollte die Möglichkeit bestehen, die Wählerstimmen als Token abzugeben. Der Stimmberechtigte sollte seinen Token mit der Information, welche Person oder Personen er gewählt hat, zurückgeben. Damit der gesamte Prozess richtig abbildbar ist, sollte zunächst ein Fachkonzept erstellt werden. Um dies umzusetzen, wurden Kollegen aus dem Requirements-Engineering-Bereich zur Unterstützung hinzugezogen. Als das Fachkonzept zu Papier gebracht war, fanden sich darin Begriffe wie „Stimmregister“, „Identität des Stimmberechtigten“, „Anonymität der Stimmabgabe“, „Transparenz“ oder „Nachvollziehbarkeit des Stimmresultates“. Anstelle einer kurzen Hacking Session „à la Bootcamp“, mussten die verschiedenen Anforderungen jedoch zunächst genauer betrachtet und nach möglichen Lösungen gesucht werden. Es wird euch sicherlich nicht überraschen, aber dieser Prozess ist bis heute nicht abgeschlossen.
Die konkreten Themen, die aus diesem Use Case hervorgegangen sind, beinhalteten die digitale Identität, die Anonymität für gewisse Prozessschritte bei gleichzeitiger Transparenz und die Nachvollziehbarkeit über den ganzen Prozess. Das bedeutet, hier sollte erkennbar sein, wie viele Stimmen mit welchen Daten abgegeben wurden. Eine wichtige Anforderung war, dass die Identität der jeweiligen Stimmberechtigten anonym bleibt.
Sind alle diese Anforderungen gelöst, hat das System auch einen praktischen Nutzen: Durch die „Unbestechlichkeit“ eines solchen Systems und aufgrund der absoluten Transparenz hinsichtlich der Anzahl ausgegebener und von den Stimmberechtigten übermittelter Stimmen, wäre es praktisch unmöglich, eine Wahl in irgendeiner Form zu beeinflussen. Das Ganze wäre vor allem in Regionen sinnvoll, in denen nur geringes Vertrauen in die Administration besteht. Dementsprechend könnte das System zu einer massiven Verbesserung des Vertrauens sowie zur Akzeptanz in die Resultate einer Abstimmung führen.
Neuerungen in unserer Gruppe
Bei den meisten Anfragen, die uns erreichten, ging es darum, ein tieferes Verständnis über die Blockchain-Technologie zu vermitteln. Anschließend sollten mögliche Anwendungsszenarien oder Prozesse identifiziert werden, die mit dieser Technologie vereinfacht, beschleunigt oder eliminiert werden können.
Das ist natürlich eine typische Aufgabe für Consultants und so wuchs unsere Themengruppe, die bisher nur aus Software und Requirements Engineers bestand, weiter an.
Schnell zeigte sich, dass die Blockchain-Technologie mithilfe von Handzeichnungen oder klassischen Tools - beispielsweise PowerPoint – nur schwer vermittelt werden konnte. Daher suchten wir eine Möglichkeit, um das Thema mit einer leicht verständlichen Demo sichtbar und erlebbar zu machen. Das war die Geburtsstunde der öffentlich zugänglichen Webseite http://blockchain.adesso.ch. Wenn ihr euch die Seite einmal anseht, werdet ihr sehen, dass nicht bloß die Funktionsweise einer Blockchain abgebildet wird, sondern auch, wie eine echte Blockchain genau funktioniert.
Die Erfahrungen aus Kundenworkshops
In unseren Kundenworkshops hat sich gezeigt, dass in sehr kurzer Zeit recht viele Ideen entstehen, die mit der Blockchain-Technologie umsetzbar sind – meistens mit der Absicht, möglichst einen Quick Win zu erzielen. Das Problem war aber immer dasselbe: die Bewertung der möglichen Use Cases in Hinblick auf ihre Tauglichkeit für die Blockchain-Technologie. Es tauchten also immer wieder die folgenden Fragen auf:
- Soll die Umsetzung auf einer Public Chain erfolgen?
- Ist es eher ein Anwendungsfall für eine Privat Chain oder vielleicht doch eher für eine Konsortium-Chain?“
- Wenn es keine Public Chain ist, werden Berechtigungen benötigt oder nicht?
Wird an dieser Stelle der Faden bis zur Umsetzung weiter gesponnen, ergeben sich viele weitere Fragen. Eine davon lautet zum Beispiel: Auf welcher Technologie oder Plattform soll das Ganze laufen?
Aus den verschiedenen Fragestellungen wurde mit dem Konzept „adesso design process for blockchain-based systems“ eine Entscheidungshilfe erarbeitet, die unter anderem bei der Use-Case-Bewertung oder beim Einsatz von möglichen Patterns zur Implementierung von Smart Contracts unterstützt. Bei Smart Contracts handelt es sich übrigens grob gesagt um ein Stück Code – er kann beispielsweise die Regeln eines Vertrages beinhalten oder auch ganze Business-Prozesse abbilden.
Über Use Cases und Irrwege
Ein interessanter Use Case, den ich euch in diesem Zusammenhang zeigen möchte, ist das Heiratsregister. Die Idee zu diesem Proof of Concept entstand während eines Workshops, in dem festgestellt wurde, dass sich das Thema „Smart Contract“ am besten anhand eines konkreten und leicht verständlichen Beispiels vermittelt lässt. Die Idee war sehr einfach: An einem klassischen Heiratsprozesses - vom Antrag bis hin zur Scheidung – sollte gezeigt werden, wie ein Smart Contract genau funktioniert. Das Ganze war allerdings einfacher gedacht, als tatsächlich umgesetzt.
Zunächst musste unsere Gruppe die Frage klären, wie ein Heiratsregister in einer Blockchain abgebildet werden kann. Wir haben zwei Alternativen erarbeitet:
- Ein Smart Contract bildet das ganze Register ab und führt den Status aller Paare mit dem gesamten Prozess.
- Ein Smart Contract bildet nur die Beziehung zweier Menschen ab.
Für diesen etwas ungewöhnlichen Use Case wurde der zweite Ansatz - ein Smart Contract ist ein Vertrag zwischen zwei Personen - gewählt. Das Register war also die Blockchain, in der sich alle Heirats-Smart-Contracts befanden. Damit wurde das gesamte Register abgebildet. Der Antragsprozess war allerdings das erste Problem, mit dem unsere Gruppe konfrontiert wurde, denn wenn ein Mann einer Frau einen Antrag macht, sollte natürlich auch die angesprochene Person den Antrag annehmen und nicht eine andere beliebige Person. Das warf aber ein noch größeres Problem auf: Etwas, dass in die Blockchain geschrieben wird, kann nicht mehr rückgängig gemacht werden. Grundsätzlich ist das nicht weiter schlimm, außer die ursprüngliche Tatsache ist falsch - sie lässt sich nämlich nicht mehr korrigieren. Es besteht somit die Gefahr, dass falsche Informationen abgelegt und diese plötzlich zu einer Tatsache werden, die nicht mehr korrigiert werden kann. Wenn ein solcher Use Cases umsetzt wird, muss sich das ganze Projektteam seiner Verantwortung bewusst sein und das System so konzipieren, dass keine falschen Informationen in die Blockchain gelangen.
Das Problem, dass sich aus den zu Beginn falsch angelegten Daten ergab, konnte natürlich gelöst werden. Die einzelnen Details sind in diesem Zusammenhang eher uninteressant, denn an dieser Stelle geht es mir darum, euch zu zeigen, wie man aus einem vermeintlichen Irrweg lernen kann. Ein Use Case wie dieser, stellt den Projektleiter sowie die einzelnen Entwickler vor große Herausforderungen. Dementsprechend müssen alle Beteiligten nicht nur mit erhöhter Sorgfalt arbeiten, sondern auch die unterschiedlichsten Szenarien durchspielen. Nur so kann das System schließlich sicher gestaltet werden.
Bei den Use Cases, die sich unser Team im Auftrag unserer Kunden angeschaut hat, wurde deutlich, dass eine Blockchain auch bei sehr praktischen Problemen neue Lösungsansätze erlaubt. Dabei müssen nicht immer alle Merkmale einer Blockchain - etwa die Dezentralisation, die Unveränderbarkeit, die Transparenz der Transaktionen und Daten oder die no-down-time - genutzt werden. Es reichen schon einzelne Punkte, damit ein Mehrwert mit der neuen Technologie gegenüber den herkömmlichen Ansätzen erzielt werden kann.
Da die Blockchain-Technologie - abgesehen von dem Cryptocurrency-Anwendungsfall - erst seit Kurzem verwendet wird, fehlen zurzeit noch viele Grundbausteine in Form von Frameworks, die bei fast allen Use Cases benötigt werden.
Ein gutes Beispiel dafür ist der Use Case eines mittelgroßen Logistikunternehmens. Das Problem bei einer Logistikkette sind immer die unterschiedlichen Gruppen, die zusammenarbeiten - etwa Transporteure, der Zoll oder der administrative Bereich. Jeder dieser Gruppen muss auf verschiedene Dokumente - etwa gültige Frachtbriefe, Zertifikate und Bewilligungen - zugreifen. Legt man diese Informationen zentral ab, würde der Zugriff für alle Parteien unnötig erschwert. Das fängt zum Beispiel bereits beim Öffnen von Firewalls an und reicht bis zur Vergabe und Aktualisierung von Credentials. Wird an dieser Stelle aber ein öffentliches Blockchain System (etwa Lisk oder Ethereum) genutzt, kann jeder Beteiligte auf das System zugreifen. Mit dem Einsatz von entsprechenden Smart Contract Patterns können diese Zugriffe dezentral verwaltet werden. Aus dem Grund wurde in diesem Use Case unter anderem eine eigene Proof-of-Existence-Implementierung erstellt, damit Daten Off-Chain gehalten und On-Chain referenziert und überprüft werden können.
Zukünftig werden sicherlich neue Blockchain-Netzwerke auf den Markt kommen, die solche Grundkomponenten bereits beinhalten.
Die Lesson Learned meiner bisherigen Arbeiten mit der Blockchain-Technologie lässt sich folgendermassen zusammenfassen: Für den Know-how-Aufbau sind gerade auch Irrwege sehr wertvoll und können nützliche Erkenntnisse für neue Lösungen liefern.
Wie geht es weiter mit der Blockchain-Technologie?
Die Blockchain-Technologie befindet sich heute an der Stelle, an der die Web-Technologie im Jahr 1998 stand. Auch damals fehlten beim Erstellen der ersten Business-Anwendung die entsprechenden Frameworks und Grundkomponenten.
Wie ihr aber alle wisst, ging danach im wahrsten Sinn des Wortes „die Post ab“. Ich bin überzeugt, dass zurzeit eine vergleichbare Ruhe vor dem Sturm herrscht. Unglaublich viele Start-Ups tüfteln derzeit an neuen Produkten, zahlreiche größere Firmen haben ihre R&D-Abteilungen auf die Blockchain-Technologie angesetzt und oft kennt sich auch das obere Management bereits erstaunlich gut mit der Technologie aus.
Ein weiterer Indikator für die Relevanz von Blockchain ist die Tatsache, dass sich sogar die Europäische Zentralbank mit dieser Technologie befasst und zwar in der Form eines Äquivalents zum Euro. „Fizzy“, das erste Versicherungsprodukt des Versicherungsunternehmens AXA, das auf der Blockchain basiert, zeigt, dass bereits erste Anwendungen den Proof-of-Concept-Status verlassen haben und als Minimum Viable Product einem größeren Benutzerkreis zur Verfügung stehen.
Ihr möchtet mehr zum Thema „Blockchain“ erfahren? Dann werft einen Blick in unsere bisher erschienenen Beiträge zum Thema.
Bildnachweis: https://de.123rf.com/