Wie dauert der Mining-Prozess ungefähr 10 Minuten?

Ich glaube nicht, dass ich das Thema „Schwierigkeit“ in Blockchain vollständig verstanden habe, und deshalb verstehe ich nicht, wie der Mining-Prozess fast 10 Minuten dauert.

Wenn ich einen "Target"-Wert habe (einen Hash-Wert, bei dem der Wert jedes Blocks kleiner oder gleich diesem Target sein muss), warum dauert es 10 Minuten, um den Hash-Wert für den Block zu finden? Vielleicht ist der Wert des Blocks <= Target, wenn Nonce=2 ist, vielleicht ist der Wert <= Target, wenn Nonce = 100000000 ist.

Aber wenn Nonce = 2 , dann beträgt die Mining-Zeit einige Sekunden, und wenn Nonce = 100000000 , beträgt die Mining-Zeit einige Minuten.

Es ist also Glückssache oder so, aber die Zeit des Minings kann sich ändern. Was ist also das Prinzip in der Blockchain \ Was machen Miner, um den Mining-Prozess auf durchschnittlich 10 Minuten zu bringen?

Ich bin neu in dieser Technologie, also würde ich einfache Antworten schätzen. Vielen Dank im Voraus

Was du beschreibst, passiert auf jeden Fall. Manchmal bekommen wir 30 Minuten ohne Block. Manchmal haben wir 30 Sekunden zwischen den Blöcken.

Antworten (1)

Um es einfach zu machen:

Mining besteht darin, einen bestimmten Block zu finden, der nach dem Hashing einen Wert unterhalb einer bestimmten Schwelle ( das Ziel ) ergibt.

Das Ziel wird nach jeder festen Anzahl von Blöcken ( 2016 ) neu berechnet, sodass es alle zwei Wochen aktualisiert wird (bei einer Rate von 1 Block pro 10 Minuten).

Bei der Neuberechnung wird die gesamte Netzwerk-Hash-Rate berücksichtigt, sodass entsprechend diesem Wert im Durchschnitt alle zehn Minuten ein Block geschürft wird. Beachten Sie, dass dies rein probabilistisch ist.

Wie funktioniert es?

Das Ziel ist ein 256-Bit-Wert, der regelmäßig zurückgesetzt wird. Wenn ein Block abgebaut wird, wird der SHA-256-Hash über den Block ausgeführt und das Ergebnis mit dem Ziel verglichen.

Wenn das Ziel nun eine riesige 256-Bit-Zahl ist, ist der Hash des Blocks leicht kleiner als das Ziel, und der Block wird als gültig betrachtet. Wenn der Zielwert jedoch sehr klein ist, wird es viel schwieriger, einen gültigen Block zu finden. Hier kommt die Netzwerk-Hashrate ins Spiel. Je größer die Hashrate, desto niedriger das Ziel. Sobald also der Block 2016 seit der letzten Aktualisierung veröffentlicht wurde, wird das Ziel neu berechnet, wodurch es höher oder niedriger wird, je nachdem, wie sich die gesamte Netzwerk-Hashrate entwickelt hat.

Beachten Sie, dass es tatsächlich vorkommen kann, dass ein Block in weniger oder mehr als den 10 Minuten gefunden wird, aber die Chancen liegen eher um die Marke.

Wie wird es berechnet?

Wenn Sie genau wissen möchten, wie es berechnet wird, haben Sie hier einen Python-Code, der dies tut:

max_tgt = int("00000000FFFF0000000000000000000000000000000000000000000000000000", 16)  # Around 2^224

current_diff = 440779902287

current_tgt = max_tgt / current_diff  # current_diff = max_tgt/current_tgt

hash_rate = 3310469378 * pow(10, 9)  # GHash/s to Hash/s

print current_tgt/float(pow(2, 256)) * hash_rate * 600

Indem Sie das aktuelle Ziel durch die maximale Anzahl möglicher Hashes (2^256) dividieren, erhalten Sie die Wahrscheinlichkeit, einen gültigen Hash zu finden. Wenn Sie dies mit der Hash-Rate multiplizieren, erhalten Sie, wie viele korrekte Hashes in einer Sekunde erhalten werden. Wenn Sie es schließlich mit 10 Minuten (600 Sekunden) multiplizieren, erhalten Sie, wie viele gültige Hashes Sie im Durchschnitt in zehn Minuten erhalten.

Was gibt Ihnen:

1.04920216926

Daten wie maximales Ziel ( max_tgt), aktueller Schwierigkeitsgrad ( current_diff) und Hash-Rate ( hash_rate) wurden von bitcoinwisdom bezogen und stimmen mit den aktuellen Netzwerkdaten überein. Dort finden Sie auch einige Diagramme darüber, wie sich die Hashrate und die Schwierigkeit in den letzten Monaten entwickelt haben.

Für diejenigen, die sich fragen, wie die Netzwerk-Hashrate tatsächlich berechnet wird, können Sie dies in dieser Antwort überprüfen.

Können Sie mehr Details über die Berechnung geben und wie diese Berechnung dazu führt, dass der Mining-Prozess durchschnittlich 10 Minuten dauert? Weil ich noch einmal nicht verstehe, warum eine Situation von Bergleuten, die einen Block in wenigen Sekunden finden (zum Beispiel gibt Nonce=2 ihm Wert <= Ziel), keine übliche Situation ist? Ich verstehe nicht, wie die Berechnung diese Situation reduziert. Danke für die Hilfe!
Ich habe die Erklärung erweitert. Es ging nicht um die Zahlen, um es einfach zu machen, aber ich kann nach der genauen Formel suchen, wenn Sie sie brauchen.
Ich habe die Zahlen für alle Fälle hinzugefügt.
Danke! Ich denke ich habe es. Danke für die Erklärung.
@sr_gi Woher weiß das System, wann 2 Wochen vergangen sind? Ich dachte, der einzige Weg, die Zeit zu überprüfen, wäre mit einer vertrauenswürdigen Quelle, was mir nicht sehr bitcoiny erscheint. Wird den Bergleuten vertraut, dass sie genaue Zeitstempel eingeben?
@BT "Zeit" wird in Blöcken gemessen. Da die Schwierigkeit so angepasst ist, dass die durchschnittliche Blockgenerierungszeit mit etwa 10 Minuten übereinstimmt, werden 2016 Blöcke alle zwei Wochen mehr oder weniger abgebaut. (2016 Blöcke / 6 Blöcke/Stunde * 24 Stunden/Tag = 14 Tage)
@sr_gi Danke, aber du beantwortest eine Frage, die ich nicht gestellt habe. Ich verstehe, worauf es die Schwierigkeit anpasst und warum es das tut. Was ich nicht verstehe, ist, wie die Netzwerke die Zeit auf verifizierte Weise messen, damit sie diese Anpassung vornehmen können. Woher weiß es, dass 2 Wochen vergangen sind? Verwendet es Zeitstempel, die von Bergleuten in Blöcke gesetzt werden? Oder verwendet es einen anderen Mechanismus?
Es weiß es nicht. Die Schwierigkeit wird alle 2016 Blöcke angepasst, das sollte in etwa zwei Wochen entsprechen. Ob es tatsächlich passt oder nicht, hängt davon ab, wie sich die Netzwerk-Hashrate durch das letzte Update entwickelt hat. Letztendlich weiß „das Netzwerk“ also nicht, ob nach dem Mining des Blocks 2016 nach der letzten Aktualisierung die verstrichene Zeit zwei Wochen betrug oder nicht.
@sr_gi ok, es scheint, als würdest du sagen, dass die Zeit aus der Hashrate kommt. Das kann ich kaufen. Wie wird die Hashrate berechnet?
Überprüfen Sie diese Antwort von @cdecker: bitcoin.stackexchange.com/a/11142/30668 . Ich werde meine Antwort mit dem Link aktualisieren, falls jemand wissen möchte, wie.