Hintergründe und Anwendungsszenarien

Die Grundlagen von Blockchain

03.08.2017
Von Thomas Kaltofen und


Dr. Thomas Kaltofen ist Diplom-Chemiker und promovierte mit einem biophysikalischen Thema an der Ruprecht-Karls-Universität Heidelberg. Neben einem Forschungsaufenthalt an der Chalmers Universität Göteborg beschäftigte er sich intensiv mit Datenbanken und C#-Programmierung am Fraunhofer Institut IPA in Stuttgart. Dr. Kaltofen ist freiberuflicher Experte für Blockchain-Anwendungen in der Chemie- und Pharmabranche.
Jens Dose ist Redakteur der COMPUTERWOCHE und betreut in erster Linie Themen rund um IT-Sicherheit, Datenschutz und Compliance.
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.

Die BlockchainBlockchain 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. Alles zu Blockchain auf CIO.de

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

Blockchain heute: Bitcoin ist nicht alles

Die technischen Grundlagen für Blockchain wurden bereits um die Jahrtausendwende herum beschrieben. Bitcoin und Co. haben die Technologie jedoch erst vor etwa zehn Jahren publik gemacht, worauf ein Hype um die Kryptowährungen losbrach. Mittlerweile flaut die Euphorie aufgrund teils großer Kursverluste zwar etwas ab, das Potenzial der Blockchain-Technologie selbst sorgt aber weiterhin für viel Gesprächsstoff.

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). Digitalexperten im Energiesektor sehen in Blockchain beispielsweise eine Möglichkeit, die großen Datenströme aufgrund der Energiewende effizient zu verwalten und zu sichern. Banken testen Blockchain als transparentes Buchhaltungssystem, das Zwischeninstanzen im weltweiten Handel ersetzen und damit Prozesse schneller und effizienter machen könnte.

Bis zur Marktreife dieser Ansätze dauert es wahrscheinlich noch ein wenig und Blockchain wird auch nicht die Antwort auf alle IT-Sicherheits-Fragen sein. Dennoch sollten IT-Verantwortliche das Thema auf dem Schirm behalten und grundsätzlich verstehen, was die Technologie ist und kann.

Blockchain Definition

Blockchain ist im Grunde eine Datenbank zur Speicherung von Daten, Informationen und Dokumenten. Damit lassen sich Transaktionen und komplizierte Abläufe durchführen, verifizieren und automatisieren.

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. Bei Kryptowährungen 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.

Vereinfacht kann Blockchain auf drei Arten eingesetzt werden: als öffentliche (Public), private oder Konsortium-Blockchain.

Die öffentliche Blockchain ist ein durch und durch dezentralisiertes Netzwerk ohne übergeordnete Instanz - wie es bei den meisten bekannten Kryprowährungen der Fall ist. Jede Transaktion wird von jedem Knoten der Blockchain verifiziert und synchronisiert, bevor sie in das System geschrieben wird. Dadurch wird diese Variante relativ langsam und sehr ressourcenintensiv, dafür jedoch transparent und sicher.

Bei der privaten Blockchain betreibt ein Unternehmen das System und besitzt die Hoheit über die Transaktionen. Es verifiziert und schreibt als einziger Teilnehmer jede Transaktion in das System. Zudem können die Leserechte für die Transaktionen je Nutzer eingeschränkt werden, was höheren Datenschutz erlaubt als die öffentliche Variante. Da die Größe der privaten Blockchain durch die Unternehmensgrenzen beschränkt ist, hält sich auch der Ressourcenbedarf und die Rechenzeit pro Transaktion in Grenzen. Allerdings geht mit Aufgabe des komplett dezentralen Ansatzes auch ein Teil der Ausfallsicherheit verloren.

Die Konsortium-Blockchain ist eine Art Hybrid aus privater und öffentlicher Variante. Hier teilt sich eine Gruppe von Teilnehmern die Entscheidungsgewalt über die Verifikation und Verteilung der Leserechte von Transaktionen. Dies bietet viele Vorteile der privaten Blockchain wie Effizienz und Datenschutz der Transaktionen ohne die gesamte Hoheit in eine Hand zu legen.

Die Funktionsweise von Blockchain einfach erklärt

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 relativ manipulationssicher angesehen werden. Zum zweiten sind sehr viele Kopien der Datenbank im gesamten Netzwerk verteilt. Um erfolgreich einen Datenbankeintrag zu fälschen müsste mehr als die Hälfte aller Instanzen geändert werden. 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 sie nicht mehr genutzt werden. Falls ein Teil der Knoten der Blockchain ausfällt, können die übrigen teilnehmenden Knoten trotzdem weiter arbeiten.

Wichtig ist weiterhin, dass die Daten dauerhaft und revisionssicher gespeichert werden. Dies bietet klassische Cloud-Technologie zum Beispiel nicht. Zum einen könnten die öffentlichen Server durch Naturkatastrophen oder ähnlichen Vorkommen zerstört oder die Cloud das Ziel von Hackerangriffen werden. Für den Fall, dass 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 Afrika oder Asien für 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. Auf Unternehmensebene bietet sich in dieser Hinsicht die Möglichkeit, große Datenmengen unternehmensübergreifend zu sammeln, zu analysieren und auszuwerten. 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.

Die Prozesse werden durch Blockchain generell transparenter, günstiger und sicherer. Des Weiteren gilt die Technologie als extrem sicher. Der finanzielle Aufwand, der für die Manipulation betrieben werden muss, steht - wie oben beschrieben - nicht im Verhältnis zu dem Nutzen.

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, begrenzter 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. An dieser 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ält man eine manipulations- und ausfallsichere Datenbank. Nicht jedes IT-Problem kann zwangsläufig mit einer Blockchain gelöst werden. Die Zukunft wird zeigen, ob die Blockchain und ihre immensen, potentiellen Umwälzungen sich tatsächlich durchsetzen werden.

Zur Startseite