So funktioniert die Blockchain

Organisation in Blöcken

von - 15.11.2017
Wie aber wird gewährleistet, dass einmal gespeicherte Transaktionen nicht mehr verändert werden können? Dazu muss man sich die Art und Weise anschauen, wie Bitcoin die Transaktionen speichert und die der Blockchain auch ihren Namen gibt: Im Bitcoin-Netzwerk gibt es spezielle Knoten, sogenannte Mining Nodes, die Transaktionen in Blöcken zusammenfassen. Aufgrund der Verteilung der Knoten nimmt dabei nicht jeder Knoten die gleichen Transaktionen auf, wichtig ist nur, dass die Reihenfolge der Transaktionen ihren entsprechenden Zeitstempeln entspricht. Nur Transaktionen in abgeschlossenen Blöcken werden als unveränderlich angesehen. Solange sich eine Transaktion also nicht in einem solchen Block befindet, gilt sie nicht als ausgeführt.
Azure Marketplace
Azure Marketplace: Auf Microsofts Cloud-Plattform finden sich rund 40 Blockchain-Implementierungen und -Werkzeuge.
Damit der Mining Node nun einen Block abschließen und die Transaktionen darin als unveränderlich in das Netzwerk kommunizieren kann, muss er ein kryptografisches Rätsel lösen. Dazu muss der Hash-Wert aller Transaktionen in einem Block um einen weiteren Wert ergänzt werden, sodass der Hash-Wert des Gesamtblocks inklusive des gefundenen Werts innerhalb einer im Protokoll definierten Grenze liegt. Aufgrund der Eigenschaften von Hash-Funktionen bleibt den Mining Nodes dafür nichts anderes übrig, als alle möglichen Werte so lange auszuprobieren, bis sie einen Wert finden, der die Vorgaben des Rätsels erfüllt.
Dieser Prozess wird im Allgemeinen als Proof of Work bezeichnet und bei Bitcoin und anderen Krypto-Währungen auch als Mining. Der allgemeine Name rührt daher, dass mit dem Ergebnis nachgewiesen wird, dass man einen bestimmten Anteil an Rechenleistung erbracht hat, um das Rätsel zu lösen. Warum ist das so wichtig? Das Erzeugen gültiger Blöcke soll so teuer sein (etwa in Form von Stromverbrauch), dass es sich nicht lohnt, Blöcke mit gefälschten Transaktionen zu erzeugen. Stattdessen wird man für das Erzeugen gültiger Blöcke belohnt, indem man einen Anteil an Bitcoins für die eigene Arbeit erhält. Dazu darf man eine eigene Transaktion in den neuen Block aufnehmen, die „aus dem Nichts“ einen vorher definierten Betrag in die eigene Wallet überträgt. Außerdem darf man bei Bitcoin Transaktionsgebühren einbehalten.
Warum lohnt es sich dann nicht, zu betrügen? Jeder andere Knoten hat ja eine Kopie aller Transaktionen und kann sehr leicht feststellen, ob ein Block valide Transaktionen enthält. Wenn ein Knoten betrügen möchte, müsste er gefälschte Transaktionen in einem neuen Block zusammenfassen, das rechenintensive (teure) Rätsel lösen und dann den neuen Block den anderen Knoten als „abgeschlossen und gültig“ präsentieren. Diese nehmen aber einen neuen Block nur dann auf, wenn zum einen das Rätsel richtig gelöst wurde und zum anderen auch alle Transaktionen in dem Block valide sind. Das bedeutet, dass man zwar einen neuen gefälschten Block in das Netzwerk schicken kann, aber niemand wird diesen Block als gültig akzeptieren. Das bedeutet auch, dass man keine neuen Bitcoins erhält, die man nutzen könnte. Man bleibt auf den Kosten zur Lösung des Rätsels sitzen.

Organisation als Kette

Jetzt kann man argumentieren, dass die Rechenleistung immer billiger wird und es sich dann doch irgendwann lohnen könnte, das Netzwerk so lange mit gefälschten Blöcken zu fluten, bis diese akzeptiert werden. Um das zu vermeiden, gibt es einen ganz trivialen Mechanismus: Das zu lösende Rätsel wird per Protokolldefinition immer schwieriger und die Belohnung pro abgeschlossenen Block immer geringer (bei Bitcoin wird alle 210.000 Blöcke die Belohnung halbiert).
Bitkom Research
Quelle: Bitkom Research
Zusätzlich verkettet man die einzelnen Blöcke so, dass die Fälschung eines Blocks schwieriger wird, je älter er ist. Dazu wird einfach der Hash-Wert eines abgeschlossenen Blocks als erster Transaktionseintrag in den neuen Block übernommen. Wenn sich nun also der vorherige Block verändert, muss dieser einen neuen Hash-Wert erhalten und dieser muss dann wiederum im nachfolgenden Block enthalten sein.
Das bedeutet, möchte man einen alten Block manipulieren, müsste man auch alle nachfolgenden Blöcke manipulieren. Dazu müsste man wiederum für den zu fälschenden sowie für sämtliche nachfolgenden Blöcke das kostenintensive Rätsel lösen.
Je älter also ein Block, desto unveränderlicher wird er. Daher ist es auch manchmal so, dass Transaktionen nur dann als unveränderlich beziehungsweise fälschungssicher angesehen werden, wenn diese mindestens drei Blöcke „tief“ sind, das heißt, wenn es mindestens zwei nachfolgende Blöcke gibt, in denen der Hash-Wert durch die Verkettung ebenfalls eingeflossen ist. Vorher werden die Transaktionen in einem Schwebezustand gehalten. Im obigen Beispiel mit dem Kauf von Musik würde man also erst dann Zugriff auf das Musikstück erhalten, wenn die Transaktion mit der Zahlung in einem Block enthalten ist, auf den mindestens zwei weitere gültige Blöcke folgen. Da die Knoten im Blockchain-Netzwerk immer nur die längste Kette gültiger Blöcke (die längste Blockchain) als gültig ansehen, kann man auch nicht einfach eine neue Kette anfangen und im Netzwerk publizieren.
Mit Bitcoin und anderen Krypto-Währungen kann man also weltweit Geld zwischen Wallets übertragen. Im Beispiel mit den Verkehrsbetrieben könnte der eine dem anderen den jeweiligen Anteil an der Monatskarte zukommen lassen. Und beim Kauf von Musik wäre die Zahlungsabwicklung auch geregelt.
Der gesamte Prozess ist sehr stark vereinfacht dargestellt und viele wichtige Aspekte fehlen noch. Wer sich für die Details von Bitcoin interessiert, dem sei das Buch „Mastering Bitcoin“ von Andreas M. Antonopoulos ans Herz gelegt.
Verwandte Themen