Hintergründe und Anwendungsszenarien

Die Grundlagen von Blockchain

Dr. Thomas Kaltofen ist Diplom-Chemiker und promovierte mit einen biophysikalischen Thema an der Ruprecht-Karls-Universität Heidelberg. Nach seinem Studium beschäftigte er sich intensiv mit Datenbanken und C#-Programmierung. Dr. Kaltofen ist Innovationsmanager bei faizod.com in Dresden und Experte für Blockchain-Anwendungen in der Chemie- und Pharmabranche.
Dieser Artikel erläutert die Grundlagen der Blockchain-Technologie und erklärt anhand eines Leitfadens, was man bei der Entscheidung für oder gegen Blockchain beachten sollte.

Einleitung

Die Blockchain wird in den nächsten Jahren eine Schlüsseltechnologie in der IT werden. Trotz einiger Nachteile, etwa dem immensen Stromverbrauch, überwiegen Vorteile wie die hohe Manipulations- und Ausfallsicherheit. In diesen Artikel wird die Technologie hinter der Blockchain vorgestellt. Nach der Abbildung des Ablaufes einer Blockchain werden Vor- und Nachteile der Technik diskutiert. Abschließend wird ein Leitfaden beschrieben, anhand dessen man entscheiden kann, ob eine Blockchain wirklich die beste Lösung für das jeweilige Problem ist.

Die Blockchain wird in den nächsten Jahren eine Schlüsseltechnologie in der IT werden.
Die Blockchain wird in den nächsten Jahren eine Schlüsseltechnologie in der IT werden.
Foto: enzozo - shutterstock.com

Was ist Blockchain?

Blockchain ist eine Datenbank zur Speicherung von Daten, Informationen und Dokumenten. Damit lassen sich Transaktionen und komplizierte Abläufe durchführen, verifizieren und automatisieren. Die Prozesse werden durch Blockchain transparenter, günstiger und sicherer. Des Weiteren gilt die Technologie als extrem sicher, weil der finanzielle Aufwand, der für die Manipulation betrieben werden muss, nicht im Verhältnis zu dem Nutzen steht. Anwendungen findet sie in nahezu allen Bereichen, zum Beispiel in der Finanz- und Versicherungsbranche, dem Energiesektor, der Industrie 4.0, der Pharmaindustrie und dem Internet der Dinge (Internet of Things, IoT), insbesondere in der Lieferkette (Supply Chain).

Blockchain setzt sich aus zwei Begriffen zusammen. Der Begriff "Block" steht für die Transaktionen, die zusammengefasst gespeichert werden und "Chain" (deutsch: Kette) dafür, dass die Daten an vorhergehende Kettenglieder angehängt werden und die Blockchain somit linear weiter wächst. Die Bildung des Blockes und ihre Verschlüsselung werden als Mining (deutsch: Schürfen) bezeichnet. Dabei stehen mehrere Miner in Konkurrenz zueinander. Der Miner muss im Falle der Bitcoin-Blockchain ein schweres, mathematisches Rätsel lösen, um zum Zug zu kommen. Wer als erster die Lösung hat, wird als Miner akzeptiert. Der Miner erhält eine finanzielle Belohnung in Form einer Kryptowährung wie Bitcoin für seine Leistung.

Realisiert wird die Blockchain durch ein dezentrales Peer-to-Peer Netzwerk. In diesem Netzwerk werden die Transaktionen verifiziert, validiert und zu Blöcken zusammengefasst. Die Blöcke werden dann miteinander verkettet. Damit basiert das Verfahren auf einer verketteten Blockstruktur, die linear wächst. Die Daten sind in diesem Netzwerk mehrfach abgespeichert, um einen Ausfall eines oder mehrerer Knoten verkraften zu können. Die Daten die sich einmal in der Blockchain befinden, sind unveränderlich und können nicht mehr manipuliert und gelöscht werden.

Funktionsweise von Blockchain

Der Ablauf einer Blockchain-Aktion besteht aus folgenden sieben Schritten:

Was sind die Vor- und Nachteile der Blockchain?

Eine Blockchain ist eine Datenbank mit zwei elementaren Eigenschaften. Zum einen kann sie aufgrund eines sehr aufwendigen Verschlüsselungsverfahrens, der sogenannten Hash-Funktion, als manipulationssicher angesehen werden. Zum zweiten sind sehr viele Kopien der Datenbank im gesamten Netzwerk verteilt, es müsste mehr als die Hälfte aller Instanzen geändert werden, um erfolgreich einen Datenbankeintrag zu fälschen. Mit der heutigen Rechentechnik müssten Milliardensummen investiert werden, um nur einen einzigen Eintrag in die Blockchain zu manipulieren. Dies ist komplett unwirtschaftlich und führt letztendlich zu der hohen Manipulationssicherheit der Blockchain.

Ein wichtiger Gesichtspunkt ist die dezentrale Natur der Blockchain. Fällt bei einer klassischen Datenbank der Server aus, so kann die Datenbank nicht mehr genutzt werden. Falls ein Teil der Knoten der Blockchain ausfällt, so können die übrigen teilnehmenden Knoten weiter genutzt werden.

Wichtig ist weiterhin, dass die Daten dauerhaft und revisionssicher gespeichert werden. Dies bietet die klassische Cloud-Technologie nicht. Zum einen könnten die öffentlichen Server durch Naturkatastrophen oder ähnlichen Vorkommen zerstört werden. Häufig werden Clouds Ziel von Hackerangriffen, was sich kaum unterbinden lässt. Für den Fall das der Cloud-Anbieter in Konkurs geht sind alle sensiblen Daten verloren beziehungsweise nicht mehr zugänglich.

Ein weiterer Vorteil ist, dass die Blockchain ohne große Infrastruktur auskommt. Blockchains können auch in Ländern wie aus Afrika oder Asien Bankgeschäfte angelegt werden, ohne dass eine Bank als zentrale Instanz existieren muss. Auch eine Art Grundbuch und Geburtenregister, was es nicht in allen Ländern gibt, könnte über eine Blockchain abgebildet werden.

Zudem ergeben sich weitere Vorteile bei dem Einsatz der Blockchain. So bietet sich die Möglichkeit, große Datenmengen unternehmensübergreifend zu sammeln, zu analysieren und auswerten. Die generellen Kosten für die Infrastruktur werden reduziert und durch entsprechende Nachverfolgungen werden Schwachstellen in Lieferketten und Geschäftsprozessen aufgedeckt. Auch firmeninterne Reportings können in ihrer Effektivität gesteigert werden.

Wie jede Technologie hat auch die Blockchain Nachteile, wobei in der Summe jedoch die Vorteile überwiegen. Zu nennen sind die geringe individuelle Skalierbarkeit, der geringe Datendurchsatz, begrenzten Speicherplatz und das Berechtigungsmanagement. Ohne einen schnellen Netzzugang kann die Blockchain nicht implementiert werden. Mitunter ist es nicht trivial, die Blockchain in bestehende IT-Infrastrukturen einzubinden.

Ein weiter gravierender Nachteil der Bitcoin-Blockchain ist ihr großer Energiehunger, der aus dem Proof-of-Work-Algorithmus herrührt (siehe Mining). Wenn die Hälfte der Weltbevölkerung, die derzeit nicht über ein eigenes Konto verfügt, eines Tages die Blockchain-Technologie nutzte, dann würde dafür mehr Strom verbraucht als heute insgesamt produziert wird. Schon wenn nur zehn Prozent der Weltbevölkerung auf die Blockchain-Technologie setzten, würden dafür 22,9 Prozent der weltweiten Stromproduktion in Anspruch genommen.

Brauche ich eine Blockchain?

Vor der Implementierung einer Blockchain muss sorgfältig geprüft werden, ob diese Technik die richtige Wahl ist. Folgender Leitfaden soll der Entscheidungsfindung dienen:

(1) Zunächst muss das Problem, welches gelöst werden soll, identifiziert werden. Welches sind die möglichen Schmerzstellen? Wie sehen die aktuellen Lösungen aus und was fehlt diesen?

(2) Nun muss geprüft werden, ob für dieses Problem wirklich eine Blockchain vonnöten ist. In vielen Fällen kann eine einzelne zentrale Datenbank möglicherweise effizienter sein als eine Blockchain-Implementierung. Es bietet sich an, eine Kosten-Nutzenanalyse und eine Risikobewertung durchzuführen. Ferner muss geprüft werden, ob externe Partner an der Umsetzung beteiligt werden müssen. Eine weitere Frage ist, ob neue Risiken aufgrund der Umsetzung entstehen. Als Ergebnis der Analyse wird festgestellt, ob es in Anbetracht der Risiken besser ist, eine klassische, zentrale, relationale Datenbank zu implementieren.

(3) Fällt die Entscheidung für eine Blockchain aus, müssen verschiedene Merkmale der Blockchain-Technologie definiert und identifiziert werden. Folgende Fragen stellen sich nun:

  • Will der Nutzer eine Öffentliche, Private oder Konsortium-Blockchain?

  • Was sind die Zugriffsrichtlinien und gibt es eine Knotenhierarchie?

  • Müssen Knoten im Netzwerk anonym sein?

  • Wenn sie anonym sein müssen, sollten sie in bestimmten Fällen prüfbar sein?

  • Sollten private und vertrauliche Transaktionen zugelassen werden?

  • Wie hoch sollte die Stärke der Verschlüsselungstechnologie und -sicherheit sein?

  • Welches Konsensverfahren wird angewandt?

  • Sollen nur die Hash-Werte der Transaktion in die Blockchain geschrieben werden anstelle vollständiger Daten?

  • Wer sind die Validierer und was für eine Validierungslogik wird implementiert?

  • Benötigt man für die Lösung mehrere Blockchains, die auch miteinander interagieren?

(4) Sobald man eine Vorstellung von der Art der Blockchain hat, die das Problem lösen soll, müssen Überlegungen angestellt werden, mit welcher Implementierung man das Projekt aufsetzten möchte. Implementierungen, die zur Verfügung stehen sind zum Beispiel Bitcoin, Ethereum, Ripple, Hyperledger oder Faizod Vooledger.

(5) Nach der Entscheidung für eine Implementierung muss überlegt werden, welche Komponenten des Frameworks übernommen werden können und welche Teile neu geschrieben beziehungsweise konfiguriert werden müssen. An dieser Stelle sollten die Auftraggeber und -nehmer in der Lage sein, eine angemessene Schätzung der benötigten Ressourcen zu erstellen, um eine gute Produktionsqualität zu erzielen. Jetzt Stelle muss außerdem eine zweite Kosten-Nutzenanalyse durchgeführt werden.

(6) Wenn die Blockchain umgesetzt wird, ist im Verlauf ein "Proof of Concept" zu implementieren und das System testweise auf einem internen Netzwerk, einer Simulationsumgebung oder einer kommerziellen Cloud wie IBM Bluemix oder Microsoft Azure zu installieren.

(7) Schließlich müssen mögliche Probleme während der "Proof of Concept"-Skalierung wie Leistungsprobleme, Latenz, Arbeitsspeicher, Plattenspeicher und Betriebssystem abgeschätzt werden.

(8) Nun kann es losgehen!

Zusammenfassung und Ausblick

Bei Blockchain handelt es sich um eine junge, innovative Datenbanktechnologie, bei der atomare Einheiten – die Transaktionen – gesammelt, zu Blöcken gebündelt, verifiziert, validiert, verschlüsselt und in einem Netzwerk verteilt werden. Als Ergebnis erhältman eine manipulations- und ausfallsichere Datenbank. Nicht jedes IT-Problem kann zwangsläufig mit einer Blockchain gelöst werden. In diesen Artikel wird deshalb ein Leitfaden beschrieben, der zu Lösungsfindung für oder gegen eine Blockchain-Implementierung genutzt werden kann. Das Jahr 2017 wird zeigen, ob die Blockchain und ihre immensen, potentiellen Umwälzungen sich tatsächlich durchsetzen werden. (haf)