Durch Bitcoin, NFTs und Co. ist die Blockchain mittlerweile in der breiten Öffentlichkeit angekommen. Daneben hat sie aber auch das Potenzial, eine Schlüsseltechnologie in der IT zu 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.
Blockchain heute: Bitcoin und NFTs sind nicht alles
Die technischen Grundlagen für Blockchain wurden bereits um die Jahrtausendwende herum beschrieben. Bitcoin und Co. haben die Technologie jedoch erst publik gemacht, worauf ein Hype um die Kryptowährungen losbrach. Mittlerweile flaut die Euphorie zwar etwas ab, das Potenzial der Blockchain-Technologie selbst sorgt aber weiterhin für viel Gesprächsstoff. So feierten sie jüngst etwa im Zusammenhang mit Non-Fungible Tokens (NFTs) ein Comeback in der breiten Öffentlichkeit.
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.
Einige dieser Ansätze stehen kurz vor der Marktreife, aber Blockchain wird 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 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 auch ein Teil der Ausfallsicherheit verloren, wenn der komplett dezentrale Ansatz aufgegeben wird.
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:
- Blockchain
Blockchain wird in den kommenden Jahren zur Schlüsseltechnologie in der IT werden. - (1) Transaktion
Die Transaktion ist die elementare Grundeinheit der Blockchain. Zwei Parteien tauschen Informationen miteinander aus. Dies kann der Transfer von Geld oder Vermögenswerten, der Abschluss eines Vertrags, eine Krankenakte oder eine Urkunde sein, die digital gespeichert wurde. Transaktionen funktionieren im Prinzip wie das Versenden von E-Mails. - (2) Verifizierung
Die Verifizierung prüft, ob eine Partei die entsprechenden Rechte für die Transaktion hat. Die Prüfung erfolgt augenblicklich oder es wird in eine Warteschlange geschrieben, die die Prüfung später durchführt. An dieser Stelle werden Knoten, also Computer oder Server im Netzwerk, eingebunden und die Transaktion verifiziert. - (3) Struktur
Die Transaktionen werden zu Blöcken zusammengefasst, wobei diese mit einer Hash-Funktion als Bit-Nummer verschlüsselt werden. Die Blöcke können durch die Zuweisung des Hash-Wertes eindeutig identifiziert werden. Ein Block enthält einen Header, eine Referenz auf den vorhergehenden Block und eine Gruppe von Transaktionen. Die Abfolge der verlinkten Hashes erzeugt eine sichere und unabhängige Kette. - (4) Validierung
Bevor die Blöcke erzeugt werden, müssen die Informationen validiert werden. Das am meisten verbreitete Konzept für die Validierung von Open-Source-Blockchains ist das „Proof of Work“-Prinzip. Dieses Verfahren stellt in der Regel die Lösung einer schweren mathematischen Aufgabe durch den Nutzer beziehungsweise dessen Computer dar. - (5) Blockchain Mining
Der Begriff Mining stammt aus der Bergbau und meint das „Schürfen“. Bei diesem Vorgang wird der Block erzeugt und gehasht. Um zum Zug zu kommen, müssen die Miner ein mathematisches Rätsel lösen. Wer als Erstes die Lösung hat, wird als Miner akzeptiert. Der Miner erhält für seine Arbeit ein Honorar in Form von Kryptowährung (Bitcoin). - (6) Die Kette
Nachdem die Blöcke validiert wurden und der Miner seine Arbeit verrichtet hat, werden die Kopien der Blöcke im Netzwerk an die Knoten verteilt. Jeder Knoten fügt den Block an der Kette in unveränderlicher und unmanipulierbarer Weise an. - (7) Verteidigung
Wenn ein unehrlicher Miner versucht, einen Block in der Kette zu ändern, so werden auch die Hash-Werte des Blockes und der nachfolgenden Blöcke geändert. Die anderen Knoten werden diese Manipulation erkennen und den Block von der Hauptkette ausschließen.
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. 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.