Warum die Blockchain sicher ist

Bei Vereinbarung einer Transaktion zwischen zwei Parteien, legen diese die Transaktionsvariablen, wie den Empfänger, Sender und Höhe der Transaktion fest. Anschließend wird aus den einzelnen Transaktionen, die im gleichen Zeitraum stattfinden, ein Datenblock gebildet. Der Datenblock wird dann im weltweiten Netzwerk dezentral und manipulationssicher gespeichert. Damit sind die enthaltenen Transaktionen verifiziert, und der Block wird an schon vorher validierte Blöcke angehängt. Ein weiterer Block der Blockchain ist entstanden. Damit ist die Transaktion für die beiden Parteien auch bestätigt. Gibt es mehrere Ketten einer Blockchain , gilt immer die längste als gültig.

Wie kann man sich eine Transaktion zwischen zwei Parteien vorstellen?

Eine Blockchain-Adresse (vergleichbar mit einem Bankkonto) besteht aus zwei Bestandteilen, einem Private Key und einem Public Key. Der Public Key ist jedem im Netzwerk bekannt und erlaubt es, die Transaktionshistorie einer Blockchain-Adresse (also eines Nutzers, der aber anonym bleibt) einzusehen und nachzuvollziehen. Um tatsächlich auf den Account des Nutzers zugreifen zu können, bedarf es aber des Private Keys. Dieser ist notwendig, um Transaktionen durchführen zu können.

Das Beispiel eines Bitcoin-Transfers zwischen Bob und Alice soll das Transaktionsprinzip in der Blockchain verdeutlichen. Um sie zu verstehen, muss man zusätzlich zwei Mineure, Peter und Tom, einführen.

1. Schritt: Bob hat 5 Bitcoins in seinem Bitcoin-Wallet (also seinem Bitcoin-Konto) und möchte nun 2 Bitcoins davon an Anna transferieren. Um dies zu bewerkstelligen, gibt Bob seinem Bitcoint-Client (ein Programm, mit dem man Bitcoin-Transaktionen aufgeben kann) den Auftrag, die 2 Bitcoins an Annas Bitcoin-Adresse zu senden. Dafür benötigt Bob seinen Private Key und verschlüsselt und unterzeichnet die Transaktion mit diesem.

2. Schritt: Mithilfe von Bobs Public Key (der jedem im Netzwerk bekannt ist) kann nun jeder verifizieren, dass die Transaktion tatsächlich vom richtigen Account, also von Bobs Account mit den 5 Bitcoins, kommt. An dieser Stelle ist die Sicherheit gewährleistet, weil niemand die Transaktion so verschlüsselt haben kann, der nicht Bobs Private Key besitzt. Die Mineure Peter und Tom bündeln nun beide getrennt voneinander die Transaktionen der vergangenen 10 Minuten in einen Block, darunter auch Bobs Transaktion an Alice.

3. Schritt: Die Rechner von Peter und Tom generieren nun Hash-Werte, das ist eine Art Prüfsumme, aus den Informationen in dem Block (dazu auch die Information, dass Bob 2 von seinen 5 Bitcoins an Alice überwiesen hat). Um den Block an die Bitcoin-Blockchain zu hängen und damit die Transaktionen zu bestätigen, müssen Peter und Tom aber nicht irgendeinen Hash-Wert, sondern einen bestimmten Hashwert (mit einer Anzahl von Nullen zu Beginn) generieren.

Das macht deren Arbeit zwar schwieriger, erzeugt aber einen Wettbewerb. Der Gewinner wird mit Bitcoins kompensiert. Dadurch finden sich genug Mineure wie Peter und Tom, die die Aufgabe der Verschlüsselung und Verifikation übernehmen.

Peter und Tom müssen nun so lange Hash-Werte generieren, bis sie einen erzeugt haben, der den Vorgaben des Bitcoin-Netzwerkes genügt. Sie können Hash-Werte dadurch beeinflussen, dass sie in dem zu verschlüsselnden Block einen Wert verändern können, der ansonsten keine Bedeutung hat, die sogenannte „Nonce“.

4. Schritt: Sobald einer der Mineure, in unserem Fall Peter, einen Hash-Wert erzeugt hat, der den Ansprüchen des Bitcoin-Systems genügt, sendet er seine Lösung an das Netzwerk. Die anderen Teilnehmer überprüfen die Lösung und stimmen dieser zu, wenn sie richtig ist. Peter erhält nun die für die Mining-Tätigkeit festgelegte Anzahl von Bitcoins auf sein Bitcoin-Konto überwiesen.

5. Schritt: Gibt es im Netzwerk nun Konsens über die Richtigkeit der Lösung, wird der Block an die Blockchain gehängt und die Transaktionen innerhalb des Blockes sind bestätigt. Somit ist auch die Transaktion von 2 Bitcoins von Bobs Konto auf Annas Konto für beide Teilnehmer bestätigt und für alle Teilnehmer nachvollziehbar abgelegt.

Warum ist die Blockchain manipulationssicher?

Die Validierung eines Blocks geschieht mithilfe eines Hashing-Algorithmus (SHA-256), der jedem Block einen individuellen Hash zuweist. Der Hash ist eine Serie von Zahlen und Buchstaben und basiert auf allen Informationen, die in einem Block gespeichert sind. So ergibt zum Beispiel „Blockchain“ die Ausgabe: 625da44e4eaf58d61cf048d168aa6f5e492dea166d8bb54ec06c30de07db57e1 Wird der Text nun auf „Blockchain1“ geändert, ergibt sich eine völlig andere Reihe von Zahlen und Buchstaben: 0fc6e34f6899f5e2ca06688e49bb42cc104a45d5bb86c55eafe8c7d588204a48 Wird nun eine Variable einer Transaktion (zum Beispiel die Höhe der Transaktion oder der Empfänger) innerhalb dieses Blockes geändert, so errechnet der Hashing-Algorithmus nicht mehr den vorher gebildeten Hash-Wert. Dadurch entsteht eine Fehlermeldung und es ist für alle Teilnehmer im Netzwerk ersichtlich, dass eine Transaktion innerhalb dieses Datenblockes geändert wurde. Die Teilnehmer im Netzwerk akzeptieren daraufhin diesen Block nicht und er wird nicht Teil der Blockchain. Die Transaktionen, die in diesem Block gespeichert sind, werden also nicht bestätigt.

Die Korrektheit der Hash-Werte von Blöcken und Transaktionen wird durchgehend durch die Mineure im Netzwerk überprüft. Um eine Transaktion in einem schon in der Blockchain hinterlegten Block zu ändern, müssten alle nachfolgenden Blöcke ebenfalls geändert werden. Dafür müssten alle Rechenschritte bis zu dem Block, den der Angreifer ändern möchte, noch mal durchschritten werden. Nur ein Angreifer mit mehr als 50 Prozent der Rechenleistung des Netzwerkes wäre hierzu in der Lage. Daher ist die Verteilung auf viele verschiedene Mineure, ohne dass einer die Vormacht an Rechenleistung hält, wichtig und macht die Blockchain sicher vor Manipulationen.

Da dieses sogenannte „Proof of Work“-Verfahren sehr energieintensiv ist, arbeiten Entwickler gerade an einer Alternative mit der Bezeichung „Proof of Stake“.

Der Autor Simon Göß ist Consultant beim Beratungsunternehmen Energy Brainpool, das Anfang September ein Seminar zum Thema Blockchain in der Energiewirtschaft organsiert hat. Er arbeitet an Beratungsprojekten, wissenschaftlichen Artikeln und Studien zum Strommarktdesign, zur Wirtschaftlichkeit von innovativen Geschäftsmodellen in der Energiewende und Preiseffekten auf europäischen Energiemärkten. Am 16. November findet das nächste Seminar zu Blockchain in der Energiewirtschaft statt (www.energybrainpool.com).