Innovation

Die Blockchain und der Mythos von der technischen Herausforderung

Jan Schmid
Jan Schmid

Ich hoffe, ein Teil der Blockchain-Technologie und die darunter liegenden Konzepte sind mit meinem kleinen Video etwas klarer geworden. Definitiv sind sie nicht ganz so einfach zu verstehen im Vergleich zu konventionellen Technologien. Genau deshalb liegt auch die Annahme nahe, dass Blockchain-Implementierungen technisch eine enorm große Herausforderung sein müssen.

Ehrlich gesagt: nein. Tatsächlich ist – prozentual gesehen – der Projektanteil des Coding noch geringer als bei (guten!) Softwareprojekten mit konventionellen Technologien und Frameworks ohnehin schon. Warum ist das so?

Business

Viele Technologien und Lösungen funktionieren in einem abgeschlossenen fachlichen und technischen Scope. Die Systeme unterstützen in der Regel Prozesse innerhalb eines Unternehmens und haben ggf. noch die ein oder andere Schnittstelle zu Lieferanten- oder Kundensystemen. Die Planung, ROI-Bewertung und Umsetzung hat jedes Unternehmen aber meistens selbst in der Hand.

Bei Blockchain ist das anders. Hier müssen die Teilnehmer einer Wertschöpfungskette – idealerweise alle! – an der Gesamtlösung teilnehmen. Das ist nicht ganz einfach und manchmal macht hier externes Knowhow Sinn, um u.A. folgenden Fragen beantworten zu können:

  • Welche Rollen und Rechte sollen die Teilnehmer haben?
  • Welche Daten werden ausgetauscht – und wie kann dabei die Sicht auf sensitive Unternehmensdaten teilnehmergerecht geschnitten werden?
  • Wo bestehen dabei Ineffizienzen und Pain Points?
  • Was sind die konkreten Mehrwerte für die Teilnehmer?
  • Wie sieht dann der neue Gesamtprozess über die gesamte Wertschöpfung aus, d.h. wer darf darin wann welche Aktion ausführen?
  • Wie werden neue Teilnehmer aufgeschaltet und in die Lösung integriert?
  • Welche rechtlichen Rahmenbedingungen gibt es?
  • Und natürlich auch: wer trägt eigentlich die Entwicklungskosten der Lösung – und wie holt man diese durch Umsatz wieder rein?

Ich fasse all das unter den Gesichtspunkten „Business case“, „Ecosystem & Partners“ sowie „Governance Model“ zusammen. Dafür sollte also im ersten Teil eines Blockchain-Use Cases sehr viel Zeit aufgewendet werden. Relativ zum Gesamtprojekt nimmt es den größten Teil ein – und hat mit den eingesetzten Blockchain-Technologien und -Frameworks erstmal wenig bis nichts zu tun.

Design

Ok, der Business Case ist fertig und alle Teilnehmer abgeholt. Bevor es mit dem Coding losgeht, steht aber das Architekturdesign an. Auch hier also eigentlich kein Unterschied zu einem „normalen“ Projekt. Blockchain-Lösungen machen in den seltensten Fällen bestehende Anwendungen obsolet und lösen sie komplett ab. Vielmehr integrieren sich sich und sind eine Erweiterung der bisherigen Landschaft. So werden bessere Produkte oder auch ganz neue Services ermöglicht.

Zum Design gehört auch – und hier unterscheidet sich die Technologie tatsächlich etwas – die Konfiguration des Blockchain Netzwerks. Hier werden die Beschlüsse aus Teil 1 wichtig: die Definition der Rollen, der Sichtbarkeit von Daten oder auch dem Mengengerüst der Transaktionen. Je nach Anforderung und Kontext bietet sich dann die eine oder eben die andere Blockchain / Framework-Lösung an. Im Enterprise-Kontext liegt man mit den Cloud Services der großen Hersteller sicher nicht schlecht. Wer lieber auf Public-Netzwerke setzt, muss mehr Unsicherheit bei der Produktroadmap des Netzwerks und gleichzeitig weniger Out-of-the-box Features in Kauf nehmen.

Coding

Der Techie freut sich, endlich darf gehackt werden! Nachdem die Lösung fachlich definiert und architektonisch designed wurde, können die Software Engineers die Idee zum Leben erwecken. Im Rahmen einer schnellen Prototypisierung und dadurch Validierung des Business Cases bieten sich agile Methoden an. Wir wenden diese in unseren Kundenprojekten konsequent an und sind damit erfolgreich. Wer sich zu diesem Schritt aber nicht ganz traut, sollte sich entweder entsprechend beraten lassen oder die Finger davon lassen und auf klassische Methoden setzen. So oder so ist der Coding-Anteil in einem Blockchain-Projekt – relativ zu den vorherigen Steps – eher klein.

PS: Der Techie freut sich über die Anwendung höherer Programmiersprachen wie Java, aber auch Node.js etc. Hyperledger bietet hier einige Frameworks und Tools für den Enterprise-Kontext. Ansonsten muss man damit leben, bei implementierungs-spezifischen Sprachen auf gängige Konzepte wie Modularität und selbst Datentypen wie enums verzichten und manuell nachbauen zu müssen. Nicht so schön.

Zusammenfassung

„Gut geplant ist halb gewonnen.“ Was für konventionelle Softwareprojekte gilt, gilt für Blockchain-Projekte erst recht. Meine Empfehlung ist, die Business-Seite völlig unabhängig von der Technologie anzugehen. Wenn klar ist, was umgesetzt werden soll, dann ist das Coding – idealerweise in agiler Vorgehensweise – nur noch Formsache.

Wer auf unterhaltsame Weise mehr über die Blockchain erfahren möchte, dem darf ich noch meine Session „Blockchain – die nackte Wahrheit“ bei metronoms #techtrends ans Herz legen: