Wenn eine Bitcoin-Mining-Ankündigung nur 32 Bit lang ist, warum wird es dann immer schwieriger, den Gewinner-Hash zu finden? [Duplikat]

Ich lerne etwas über Mining und das erste, was mich überrascht hat, ist, dass der Ankündigungsteil des Algorithmus, der zufällig wiederholt werden soll, bis Sie eine Zahl kleiner als der Ziel-Hash erhalten, nur 32 Bit lang ist. Können Sie erklären, warum es dann so schwierig ist, ein unsigned int zu loopen, und warum es mit der Zeit immer schwieriger wird? Danke schön.

Bearbeiten: Es wurde vorgeschlagen, dass dies ein Duplikat ist, das ist es nicht. Die andere Frage lautete, ob Ihnen die Ansagen ausgehen könnten, das hat nichts mit meiner Frage zu tun. Meine Frage bezieht sich auf die Schwierigkeit, genau dieselben 4 Milliarden unsigned int-Eintragsschleifen zu hashen.

Kurze Antwort: Mit hoher Wahrscheinlichkeit wird keine dieser 2^32 Nonces zu einem Hash führen, der kleiner als das Ziel ist. Dann ändern Sie etwas anderes im Blockheader und versuchen es erneut. Sie können beispielsweise eine Zahl in der Coinbase-Transaktion erhöhen, was zu einem neuen Wert für den „Merkle-Root“-Hash im Block-Header führt. Je kleiner das Ziel, desto öfter müssen Sie dies wahrscheinlich tun, bevor Sie Erfolg haben.
@NateEldredge Es sieht so aus, als wollten Sie sagen, dass Sie die Ankündigung nicht wirklich ändern müssen, da die Möglichkeit besteht, dass keiner der 4 Milliarden verschiedenen Werte zu einem gewinnenden Hash führt. Was macht dann ein gültiges „Quellmaterial“ für Hash, während versucht wird, eine richtige Antwort zu finden? Wenn Sie mich auf aktuelle Literatur darüber hinweisen können, werde ich das als richtige Antwort akzeptieren. Danke
Nein, das sage ich nicht. Was Sie brauchen, ist ein gültiger 80-Byte-Block-Header, dessen Hash unter dem Zielwert liegt. Sie müssen also so lange Dinge im Header ändern, bis Sie etwas finden, das zu einem gewinnenden Hash führt. Am einfachsten ist die Nonce zu ändern, also reparieren Sie alles andere und probieren dann alle möglichen Nonces aus. Wenn Sie Glück haben, funktioniert einer von ihnen und Sie gewinnen. Wenn nicht, was meistens passiert, ändern Sie etwas anderes im Header und versuchen alle Nonces für den aktualisierten Header. Wiederholen Sie dies unbegrenzt, bis Sie gewinnen.
Es besteht keine Notwendigkeit für "aktualisierte" Literatur; Das Blockformat und der Hash-Algorithmus haben sich seit der ersten Einführung von Bitcoin nicht relevant geändert. Es war immer möglich, dass keine der 2^32 möglichen Nonces gewinnt, wenn alles andere im Header feststeht, und dieser Fall musste immer behandelt werden; es passiert bereits in etwa 36% der Fälle, selbst bei minimalem Schwierigkeitsgrad.

Antworten (1)

Es ist nicht die Schleife, die schwierig ist, es generiert einen Hash für jede Iteration dieser Schleife. Darüber hinaus muss ein Miner, wie @Nate darauf hingewiesen hat, wahrscheinlich mehr als nur die Nonce ändern. Wenn mehr Transaktionen aus dem Netzwerk eingehen, wird ein Miner sie in den Block hinzufügen/tauschen, den sie hashen, vermutlich basierend auf der Maximierung der Transaktionsgebühren. Jedes Mal, wenn der Transaktionssatz geändert wird, können alle versuchten Nonces erneut versucht werden.

Warum es mit der Zeit schwieriger wird, ist ein Kernbestandteil des Protokolls. Alle 2.016 Blöcke passt sich der Ziel-Hash neu an, sodass Blöcke etwa 10 Minuten dauern. Je mehr Hashing-Power in das Netzwerk gelangt, desto schneller werden Blöcke gefunden, was wiederum die Neuanpassung nach 2.016 Blöcken auslöst.

Sie sagen, dass der Ziel-Hash alle 2016 Blöcke neu angepasst wird, sind das 2016 Transaktionen im Netzwerk? Und: wie nachjustiert? wie in: neu berechnet, so dass alle zuvor berechneten Ansagen erneut versucht werden müssen?
@Pol, wenn Sie über einen Block oder eine Transaktion verwirrt sind, wird es für jeden schwierig sein, Ihnen eine zufriedenstellende Antwort auf Ihre Frage zu geben. Ich empfehle, etwas mehr zu lesen. Hier ist ein guter Ausgangspunkt und sollte Ihnen den Kontext geben, den Sie zum Verständnis dieser Antworten benötigen: bitcoin.stackexchange.com/questions/148/what-exactly-is-mining
Einverstanden, außerdem gibt es eine Frage, die bereits zu meinen Bedenken passt. Vielen Dank für Ihre Hilfe.