Was ist eine Blockchain?

Blockchains sind derzeit vielleicht der größte Technik-Trend überhaupt. Und zumindest eine Anwendung ist dir bestimmt bekannt: Die Kryptowährung Bitcoin. Aber was können Blockchains noch alles? Und vor allem: Wie funktionieren sie überhaupt? Hier findest du eine verständliche Übersicht:

Blockchains sind verteilte Datenbanken

Im Grunde sind Blockchains nichts weiter als Datenbanken - Speicher für riesige Mengen von Daten. Der wesentliche Unterschied zu beispielsweise einer Microsoft-Access-Datenbank: Die Access-Datenbank liegt lokal als eine einzelne Datei vor, die Blockchain-Datenbank liegt verteilt in einem Netzwerk. Dabei handelt es sich um ein ganz normales Peer-to-Peer-Netzwerk, wie man es vom früher populären File-Sharing via eMule & Co. kennt. Allerdings mit dem Unterschied, dass in der Regel alle Daten bei allen Nutzern liegen. Sobald du zum Beispiel den Bitcoin-Client installierst, wird die Bitcoin-Blockchain mit über 70 Gigabyte auf deinen Rechner synchronisiert. Und damit ist der erste Vorteil schon mal klar: Die Datenbank kann nicht einfach gelöscht werden!

Und noch ein Unterschied: Datenbanken wie Access speichern beliebige Arten von Daten, Blockchains können das zwar auch, sind aber vor allem auf Transaktionen ausgelegt. Blockchains werden häufig als Ledger (Hauptbuch) bezeichnet. Der Begriff kommt aus der Buchhaltung und beschreibt das zentrale Register mit allen Geldflüssen eines Unternehmens. Und so verwaltet die Blockchain ebenfalls vornehmlich Transaktionen. Bei Kryptowährungen besteht ein Datensatz meist einfach aus Sender, Empfänger und Betrag; hinzu kommen Metadaten wie der Zeitpunkt. Genauso gut könnte aber auch gespeichert werden, wo sich etwa Fischerei-Produkte gerade befinden: Sender ist das Meer, Empfänger der Kutter und Betrag der Fang. Im nächsten Schritt wäre der Kutter der Sender und zum Beispiel die Fabrik im Hafen der Emfpänger des Fangs. Weiter gehen könnte es mit der Fabrik als Sender, einem Lastwagen als Empfänger und filetiertem Fisch als Betrag. So könnte man immer schauen, wo sich ein Fang gerade befindet beziehungsweise befand. All diese Fisch-Transaktionen können nun in einem so genannten Block zusammengefasst und an die vorhandene Kette von Blöcken angehängt werden - nichts weiter ist eine Blockchain.

Transportwege per Blockchain tracken, hier in einer Demo auf IBMs Hyperledger-Plattform.

In der Praxis könntest du zum Beispiel im Supermarkt genau sehen, woher der Fisch einer Konserve stammt - und mit einem Blick in die Blockchain ließe sich beweisen, dass das auch tatsächlich stimmt. Denn Blockchains lassen sich nicht so einfach manipulieren.

Sicher durch Kryptografie

Das wirklich großartige an Blockchains ist eben diese Sicherheit vor Manipulationen. Und das geschieht auf zwei Wegen: Zum einen müssen sich die Teilnehmer im Netz für jeden neu angehängten Block einig sein, dass es ein korrekt aufgebauter Datensatz ist - sie müssen Konsens herstellen. So ist es nicht möglich, einfach einen manipulierten Block mit erfundenen Transaktionen anzuhängen. Zum anderen sind die Blöcke, der Name verrrät es bereits, miteinander verkettet, so dass Blöcke auch nicht nachträglich verändert werden können.

Fangen wir mit der einfacheren Verkettung an. Ein Block besteht aus den eigentlichen Nutzdaten und kryptografischen Daten, die für die Integrität sorgen sollen. Vereinfacht kannst du dir das so vorstellen: Ein neuer Block enthält einen Wert, der aus den Daten des vorherigen abgeleitet wurde. Dieser Wert, auch Hash genannt, wird mit kryptografischen Mitteln errechnet und ist somit praktisch einmalig. Und auch dieser Hash wird bei der Berechnung des nächsten Hashes für den nächsten Block mitverwendet. Würde man nun einen Block irgendwo in der Kette ändern, müsste sich auch dessen Hash im folgenden Block ändern - und dessen in dessem Nachfolger und so weiter.

Ein typischer Block bei Blockchain.info: Sender, Empfänger, Wert - plus ein paar Metadaten.

Konsens im Netzwerk herstellen

Komplizierter ist die Frage, wie ein neuer Block an die Kette angehängt wird. Hier geht es um den so genannten Consensus-Algorithmus. Das Stichwort, das du vielleicht aus der Bitcoin-Welt kennst ist Mining. Bei der Arbeit mit Blockchain-Daten wie beispielsweise Bitcoins fallen wie schon gesagt Transaktionen an, die in Blöcken zusammengefasst und an die Kette angehängt werden. Und wer den Block anhängt, wird in diesem Fall mit Bitcoins entlohnt. Wer das ist, lässt sich nicht vorhersagen - und somit kann man manipulierte Blöcke auch nicht ohne weiteres an das Ende der Kette anfügen.

Dieses Mining läuft stark vereinfacht in zwei Schritten ab. Zum einen wird geprüft, aber der von einem Miner zusammengestellte Block formal korrekt ist. Zum anderen läuft ein Wettbewerb unter den Minern, um zu bestimmen, wer den Block beisteuern darf. In diesem Fall darf das derjenige, der ein kryptografisches Rätsel als erster löst: Nutzt man ein beliebiges kryptografisches Verfahren wie beispielsweise SHA256, entsteht für den Block ein bestimmter Hash. Nun kann die Aufgabe darin bestehen, einen Hash für den Block zu errechnen, der kleiner als ein bestimmter Wert ist, also etwa mit vier Nullen beginnt. Um einen anderen Hash zu bekommen, muss sich aber etwas an den Blockdaten ändern. Die Transaktionsdaten und der Hash des vorigen Blocks sind freilich tabu - also fügt man dem Block eine kurze Zeichenfolge hinzu. Diese so genannte Nonce hat nur den Zweck, den Hash-Wert eines Blocks so zu verändern, dass er eben mit vier Nullen beginnt.

Nonce und Hashes mit anführenden Nullen - ein komplexes Prozedere in ein paar Ziffern gegossen.

Dieser Konsens-Algorithmus hört auf den Namen Proof of Work, weil durch das gelöste Rätsel nachgewiesen wird, dass man Aufwand getrieben/Arbeit geleistet hat. Das Lösen des Rätsels erfordert Rechenpower, die wiederum Strom frisst - und zwar viel! Mit dem Jahresverbrauch der Bitcoin-Blockchain ließen sich ganze Länder versorgen. In den Bitcoin-Anfangstagen lohnte sich dieses Mining auch für Privatnutzer auf normaler Hardware, heute gibt es Spezial-Hardware und Zusammenschlüsse von Minern (Mining-Pools) - es wurde also professionalisiert. Damit einher geht, dass die großen Miner natürlich Einfluss haben - statt Hunderttausenden Privat-Minern bestimmt nun eine Handvoll Profis das Bitcoin-Universum.

Proof of Work wird in dieser Form nicht mehr lange überleben, der Stromverbrauch ist einfach nicht akzeptabel und langfristig ist es besser, wenn auch Privatnutzer sinnvoll, gleichberechtigt teilnehmen können. Es gibt alle möglichen Alternativen zu Proof of Work, wichtig ist aber nur das Grundverständnis von Consensus-Algorithmem: Über ein (praktisch) nicht zu manipulierendes Verfahren produzieren Blockchain-Teilnehmer neue Blöcke und nehmen an einer Art Lotterie teil, die dem Gewinner erlaubt, seinen Block als neuen Baustein der Blockchain hinzuzufügen. Für seinen Aufwand wird er belohnt.

Mehr als nur Geld: Smart Contracts

Kryptowährung sind aber nicht der einzige Einsatzzweck für Blockchains. Das obige Fischerei-Beispiel ist eine tatsächlich existierende Anwendung: www.hyperledger.org/projects/sawtooth/seafood-case-study. Banken und internationale Beratungsunternehmen planen, die Technologie für interne Transfers von digitalen Gütern zu nutzen, Toyota setzt die manipulationssicheren Daten im Rahmen des autonomen Fahrens ein und auch im medizinischen Umfeld wird viel über den Nutzen diskutiert. Die nächste Stufe sind dann Smart Contracts, wie sie etwa auf der Ethereum-Blockchain laufen - ein kurzer Ausblick:

Diese schlauen Verträge können, ganz abstrakt fomuliert, Transaktionen nach gewissen Bedinungen automatisieren. Ein simples Beispiel: Du wettest mit einem Freund um fünf Euro, dass heise am 24.12.2017 das Wort "X-Mas" auf seiner Homepage veröffentlichen wird. Dieser simple Vertrag ließe sich als Smart Contract so umsetzen, dass eine App am 24. automatisch guckt, ob das Wort bei heise zu finden ist und je nach Ausgang fünf Euro (in Bitcoins) von dir an deinen Freund oder umgekehrt transferiert. Nebenbei: Statt App müsste es genaugenommen Dapp heißen. Das D für distributed/verteilt heißt, dass die App nicht auf einem einzelnen Server, sondern im P2P-Netzwerk läuft. Ihr bräuchtet also keinen Treuhänder, der das Geld verwaltet (und dafür Gebühren verlangt). Und einmal aufgesetzt, könnte sich auch keiner einseitig aus dem Vertrag herausziehen.

Eine Art Dapp-Store für die Ethereum-Blockchain gibt es bei StateOfTheDapps.com.

Bei so einer simplen Wette ist das eher nicht interessant - aber auch Versicherungen und Börsengeschäfte sind letztlich nichts anderes als Wetten. Und da Blockchains nicht manipulierbar sind (nun, sein sollten), ließen sich eben auch solche größeren Wetten und andere Geschäfte automatisieren und damit günstiger und in gewisser Hinsicht sicherer machen. Übrigens: Natürlich müssen solche Blockchains nicht zwangsläufig öffentlich sein, sie können auch firmenintern aufgesetzt werden.

Wenn du mal nach konkreten Tools Ausschau halten möchtest, ein paar Empfehlungen: Zum einen gibt es die großen Blockchains, die jeder für beliebige Daten, Anwendungen und Smart Contracts nutzen kann, insbesondere Hyperledger (IBM, Linux Foundation) und Ethereum - beide mit dem Potenzial, die IT-Welt kräftig umzukrempeln. Zum anderen gibt es natürlich auch die klassischen kleinen Programme für den Desktop, mit denen du auch ganz privat eine Blockchain aufsetzen kannst - viel Geduld und Frickelei vorausgesetzt: Openchain (www.openchain.org) und MultiChain (www.multichain.com) sind beide kostenlos und erlauben mit verhältnismäßig wenig Aufwand den Einsatz einer privaten Blockchain. Wenn sie denn funktionieren ..., aber Blockchain ist eben eine noch recht junge Technologie.