1 ...8 9 10 12 13 14 ...18 In unserem technischen Fall ist es einfach ein anderer Computer, der als Node bezeichnet wird. Dieser Node ist mit anderen Nodes verbunden und nimmt die Datenblocks von seinem Nachbar entgegen. Er überprüft schnell den Hash-Wert des neuen Blocks. Das ist, aufgrund des verwendeten Hash-Prozederes, eine ver-gleichsweise einfache Rechenaufgabe, die jeder Computer sehr schnell ausführen kann. Die Überprüfung ist sehr viel leichter als die ursprüngliche Berechnung des Hash-Wertes des jeweiligen Blocks an sich.
Wenn dieser Hash-Wert nun korrekt ist, dann hängt der Node den neuen Datenblock einfach an die Blockchain an, die er schon hat. Lässt sich der Hash nicht errechnen, dann verwirft der Node den Block und wartet auf den nächsten.
Das ganze Prozedere wird konstant auf vielen Tausend Nodes parallel ausgeführt. So wird Block für Block zu lokalen, auf den jeweiligen Nodes lagernden Blockchains zusammengebaut. In der Bitcoin-Blockchain haben also viele Tausend Nodes die Blocks 1 bis 5 aus dem Beispiel von oben zusammengefügt und lokal gespei-chert.
Das P2P-Netzwerk verhindert die Manipulation
Jetzt wird eine Manipulation extrem schwierig durchsetzbar. Wenn nun jemand auf nur einem Node, also auf nur einem Computer, nur eine einzelne Transaktion im ersten Block ändert, dann ändern sich auf diesem Node die Hash-Werte aller fünf darauffolgenden Blocks aus dem Beispiel.
Das ergibt sich aus der Methodik, dass der Hash eines Blocks immer aus den Transaktionsdaten plus dem Hash-Wert des Vorgängerblocks berechnet wird. Der sechste Block setzt deshalb natürlich auch auf dem Hash-Wert des fünften Blocks auf und passt — auf dem manipulierten Computer — natürlich perfekt. Wenn dieser sechste Block nun allerdings zu den anderen Nodes gesendet wird, dann passt der Block nicht zu dem vorhandenen fünftem Block, der jeweils lokal gespeichert ist. In der Folge wird der Block abgelehnt und die Nodes warten auf einen anderen Block 6. Jetzt existiert zwar ein Computer, der die gefälschten Daten schlüssig darstellen kann, weil der Block 6 sich an den Block 5 anschliessen lässt, aber dieser ist ein einzelner Computer aus Tausenden. Die Wahrheit ist also eher bei den Tausenden zu finden. Das System verfügt über viele Tausend Zeugen.
Um letztlich zu verhindern, dass jeder Node seine eigenen Änder-ungen vornimmt und damit das ganze Netzwerk ständig mit geänderten Daten belastet wird, hat Nakamoto noch ein weiteres Modul vorgesehen. Dieses Modul stellt gleichzeitig eine weitere Funktion bereit und entlohnt bestimmte Akteure im Netzwerk.
Computer, die die Datenblocks errechnen und zusammenbauen, erhalten eine Sonderstellung im Netzwerk. Nodes speichern die bestehende Blockchain selbst und hängen die neuen Blocks jeweils an. Das ist ein Vorgang, der im Vergleich wenig Rechenleistung benötigt, nur relativ viel Speicherplatz, denn jeder einzelne Node speichert die immer länger werdende Kette für alle Zeiten von Anfang an auf seiner lokalem Festplatte. Das scheint teuer und verschwenderisch zu sein, ist aber der Preis, den man für die Wahrheit zahlen muss.
Günstiger Speicherplatz als Grund für die Verbreitung der Technologie in den letzten Jahren
Einer der Gründe, warum die Blockchain erst in den letzten Jahren immer wichtiger wurde und immer mehr Unternehmen auf diese Technologie setzen, ist tatsächlich der Umstand, dass im Laufe der Jahre Speicherplatz immer billiger wurde. Dass Festplatten in den letzten Jahren immer erschwinglicher wurden, so wie alle anderen massengefertigten technischen Produkte auch, ist vielleicht sogar der maßgebliche Grund, warum Bitcoin und die Blockchain erst jetzt in der breiten Bevölkerung ankommen und aus der Experi-mentierecke der technischen Spezialisten ausgebrochen sind.
Die Bitcoin-Blockchain ist inzwischen über 380 GB groß — für Festplatten mit 500 GB oder sogar 1 TB zu unter 100 Euro unproblematisch und erschwinglich. Als Nakamoto 2008 das Bitcoin-Konzept präsentierte, gab es solche Festplatten noch nicht beziehungsweise nur zu astronomischen Preisen.
Neben den Nodes, die, wie beschrieben, die Blockchain jeder für sich selbst zusammensetzen, gibt es weitere spezielle Computer im Netzwerk, die „Miner“ genannt werden. Deren Aufgabe ist es, die einzelnen Datenblocks zu erzeugen.
Diese Miner nehmen die Transaktionen, die in einem sogenannten Pool liegen, Stück für Stück aus diesem Pool heraus und packen sie nacheinander in einem Datenblock zusammen. Alle Blocks sind dabei vom unterliegenden technischen Protokoll mit einer Obergrenze versehen.
Sind also entsprechend viele Transaktionen aufeinander gestapelt, dass die maximale Größe nicht überschritten wird oder wenn alle Transaktionen aus dem Pool in dem Stapel sind, beginnt der Miner den oben schon erläuterten Hash-Wert für diesen Datenblock zu errechnen.
Miner berechnen den Hash-Wert der Blocks und sichern das Netzwerk
Dabei haben die Miner die Aufgabe, die Transaktionsdaten und den Hash-Wert des letzten, ihnen bekannten Blocks und einen weiteren Wert, den sie erraten müssen, in der Formel zusammenzurechnen, um einen, vom Grundalgorithmus des ganzen Bitcoin-Systems vorgegebenen Wert, zu unterschreiten. Das klingt jetzt erst einmal monströs, ist aber, wenn man die einzelnen Schritte nacheinander anschaut, doch nicht so kompliziert.
In der Formel werden also alle Transaktionen zusammengerechnet, dazu der Hash-Wert des letzten Vorgängerblocks. Das könnte der neue Hash-Wert des Blocks sein und würde sehr schnell gehen.
Damit wäre aber unser Problem nicht behoben, dass ständig neue und gegebenenfalls auch manipulierte Blocks an die Nodes gesendet würden. So könnte man auch das Netzwerk lahmlegen, weil die Nodes ganz einfach überflutet würden. Deshalb hat Nakamoto die schon erwähnte Bremse eingebaut.
Diese Bremse funktioniert so, dass im Grundsystem des ganzen Netzwerks, dem sogenannten „Core“, ein weiterer Algorithmus steckt, der alle zehn Minuten vorgibt, wie viele führende Nullen der errechnete Hash-Wert besitzen muss. Hört sich auch wieder kompliziert an, ist allerdings ganz einfach. Man kann es sich ungefähr so vorstellen:
Wenn die gesuchte Zahl 1 wäre, dann muss der Hash-Wert des neuen Blocks kleiner als 1,0 sein. 0,999999 und alle kleineren Werte wären dann zulässig.
Die Miner suchen nun diese kleineren Werte, indem sie in die Formel, neben den Transaktionen und dem Hash des letzten Blocks, auch noch eine beliebige weitere Zahl einsetzen, die als „Nonce“ bezeichnet wird. Also zum Beispiel:
0,745(Summe der Transaktionen)·0,872571(Hash-Wert des Vor-gänger-Blocks)·1,7656(Nonce)=1,1477
Damit wäre die Nonce mit einem Wert von 1,7656 nicht die richtige, weil sie größer als 1 ist. Der Miner muss nun neu rechnen und es mit einer anderen Nonce versuchen. Tatsächlich muss der berechnete Hashwert nicht kleiner als eine bestimmte Zahl sein, sondern eben eine bestimmte Anzahl von führenden Nullen zeigen. Also zum Beispiel vier führenden Nullen: 0,000072863 oder sechs führende Nullen: 0,00000052415. So oder so muss der Miner rechnen, was das Zeug hält, um diese Vorgabe zu erfüllen.
Das Geheimnis hinter dem sogenannten „Mining“
Im Prinzip ist es nichts anderes als lustiges Zahlenraten. Zahlen in eine Formel einsetzen und dann schauen, ob das Ergebnis so viele führende Nullen mit sich bringt wie die vom System geforderten. Es ist natürlich klar, dass die Formel sehr viel komplizierter ist als in dem Beispiel von oben.
Entscheidend ist, dass das Ergebnis einer Hash-Formel schon bei minimalen Änderungen der Ausgangswerte enorme Veränderungen des Endwerts mit sich bringt, wie weiter oben dargestellt wurde.
Deshalb ist es auch kein einfaches lineares Probieren nach dem Motto, 1,7656 ist zu groß, also nehmen wir einfach 1,4441. Wenn das immer noch zu viel ist, dann eben 1,2982. So einfach ist es eben nicht. Im Gegenteil. Da das Ergebnis nicht linear ist, kann es sein, dass ein größerer Wert der Nonce in der Formel zu einem kleineren Endwert führt. Wie schon gesagt, die Augen eines Mathematikers glänzen bei solchen Formeln, Laien nehmen es staunend zur Kenntnis. Für den Fall, dass man gefragt wird, welche Art von Berechnung erforderlich ist, um einen Hash-Wert zu errechnen, kann man auf die sogenannte „elliptische Kurvenformel“ verweisen. Das aber nur, wenn das Gegenüber immer weiter nachfragt. Dann hören die Nachfragen normalerweise auf.
Читать дальше