Читать книгу Bitcoin, Blockchain & Co. — Die Wahrheit und nichts als die Wahrheit (überarbeitete Ausgabe 2021/22) - Joe Martin - Страница 32
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.