Proof-of-Work Blockchain Simulator

Mit diesem interaktiven Tool kannst du nachvollziehen, wie Blöcke in einer Blockchain miteinander verkettet sind und warum kleine Änderungen alle nachfolgenden Blöcke ungültig machen.

4

Block 1

Block 2

Block 3

Was ist Proof-of-Work?

Proof-of-Work (PoW) ist ein Konsensverfahren, das in der Bitcoin-Blockchain eingesetzt wird, um sicherzustellen, dass neue Blöcke nur dann hinzugefügt werden können, wenn eine rechenintensive Aufgabe – das sogenannte Mining – erfolgreich gelöst wurde. Miner müssen dabei durch Ausprobieren (Brute-Force) eine Zahl, die sogenannte Nonce, finden, sodass der Hash des Blocks eine bestimmte Anzahl führender Nullen enthält.

Der entscheidende Vorteil von PoW: Es macht Manipulationen extrem aufwendig. Würde jemand versuchen, einen alten Block zu ändern, müsste er nicht nur diesen, sondern auch alle nachfolgenden Blöcke neu berechnen – und das schneller als alle anderen Miner zusammen. Dadurch wird die Blockchain manipulationssicher und vertrauenswürdig, auch ohne zentrale Instanz.

Was ist die Nonce?

Die Nonce ist eine zufällige Zahl, die Miner während des Mining-Prozesses kontinuierlich verändern, um einen gültigen Hash zu finden. Da der SHA-256-Algorithmus eine komplett unvorhersehbare Ausgabe liefert, müssen Miner Millionen oder sogar Milliarden von möglichen Nonce-Werten durchprobieren, bis der resultierende Hash die geforderte Anzahl führender Nullen enthält.

Die Nonce wird daher als „Number Used Once“ bezeichnet, weil sie für jeden neuen Block einen einzigartigen Wert haben muss. Sobald ein gültiger Hash gefunden wird, bleibt die Nonce für diesen Block unverändert und wird zusammen mit den anderen Blockdaten in die Blockchain aufgenommen.

Das Mining ist somit nichts anderes als ein Wettrennen um die richtige Nonce – und je höher die Difficulty, desto mehr Rechenleistung wird benötigt, um eine passende zu finden.

Was ist die Difficulty?

Die führenden Nullen im Hash sind eine Bedingung des Netzwerks, um die Difficulty (Schwierigkeit) des Minings zu steuern. Da der SHA-256-Algorithmus eine zufällige, nicht vorhersagbare Zeichenkette erzeugt, muss ein Miner durch reines Ausprobieren (Brute-Force) eine Nonce finden, die zusammen mit den Blockdaten einen Hash mit der geforderten Anzahl an führenden Nullen ergibt.

Je mehr führende Nullen gefordert sind, desto schwieriger wird es, eine gültige Nonce zu finden. Dies stellt sicher, dass neue Blöcke nur mit einer bestimmten Rechenleistung gefunden werden können und nicht einfach instantan erzeugt werden. In deinem Simulator kannst du die Difficulty erhöhen und beobachten, wie es immer länger dauert, bis ein gültiger Hash gefunden wird.

Die Difficulty wird im Bitcoin-Netzwerk alle 2016 Blöcke automatisch angepasst, um die durchschnittliche Zeit zwischen den Blöcken bei etwa 10 Minuten zu halten. Wenn die Hashrate im Netzwerk steigt, wird die Difficulty erhöht, um die Mining-Geschwindigkeit zu drosseln. Sinkt die Hashrate, wird die Difficulty reduziert, um das Mining zu erleichtern.

Wie sind die Blöcke miteinander Verknüpft?

Die Blöcke sind durch den „Vorherigen Hash“-Wert (Previous Hash) miteinander verbunden. Jeder Block speichert den Hash des vorherigen Blocks, wodurch eine Kette entsteht – die Blockchain.

Der zweite Block enthält den Hash des ersten Blocks als „Vorherigen Hash“ und Der dritte Block enthält wiederum den Hash des zweiten Blocks. Diese Verkettung sorgt dafür, dass die Blockchain unveränderbar ist. Eine Änderung in einem Block zieht sofort eine Kettenreaktion nach sich, wodurch alle folgenden Blöcke ungültig werden.

Dies ist das zentrale Sicherheitsprinzip von Bitcoin: Je länger die Kette wird, desto sicherer ist sie, weil die Rechenleistung, die für eine Manipulation notwendig wäre, exponentiell steigt.

Was passiert, wenn ich Daten in einem Block ändere?

Wenn du in einem Block die Daten änderst, verändert sich der gesamte Hash des Blocks. Da der Hash des vorherigen Blocks aber auch im nächsten Block gespeichert ist, werden alle nachfolgenden Blöcke ungültig.

Das zeigt eindrucksvoll, warum Manipulationen so gut wie unmöglich sind: Um eine Änderung durchzuführen, müsste der Angreifer nicht nur einen Block neu minen, sondern auch alle nachfolgenden Blöcke. Und das schneller als das gesamte restliche Netzwerk – was praktisch nicht machbar ist.