Was ist „Schwierigkeit“ und in welcher Beziehung steht es zu „Ziel“?

Ich verstehe nicht, was "Schwierigkeit" bedeutet und wie es wirklich mit "Ziel" zusammenhängt.

Ich verstehe, was "Ziel" ist - es sagt den Minern, wie klein der resultierende Hash sein sollte. (Im Grunde, wie viele Nullen gibt es am Anfang, wenn auch nicht genau.)

Aber ich verstehe nicht, was "Schwierigkeit" ist, wie es sich auf das Ziel bezieht und warum es wichtig ist. Ich habe versucht, den Artikel im Wiki zu lesen – https://en.bitcoin.it/wiki/Difficulty – aber ich habe auch keine Ahnung, was er sagen will.

Antworten (2)

Schwierigkeit ist im Grunde eine andere Darstellung des Ziels, um es für normale Menschen einfacher zu verstehen.

Die Schwierigkeit stellt dar, wie schwierig es das aktuelle Ziel macht, einen Block zu finden, im Verhältnis dazu, wie schwierig es beim höchstmöglichen Ziel wäre (höchstes Ziel = niedrigste Schwierigkeit). Die aktuelle Schwierigkeit von 6.695.826 bedeutet, dass es bei einer gegebenen Hash-Rate im Durchschnitt ~6,6 Millionen Mal so lange dauert, bis ein gültiger Block gefunden wird, wie bei einer Schwierigkeit von 1, oder alternativ wieder im Durchschnitt , ~6,6 Millionen Mal so viele Hashes, um einen gültigen Block zu finden.

Difficulty is the largest possible target (0x00000000FFFF0000000000000000000000000000000000000000000000000000) divided by the current target (as of right now, 0x00000000000002816E0000000000000000000000000000000000000000000000).

Das größtmögliche Ziel ist also eine lebenslange Konstante der Blockchain, aber das aktuelle Ziel ist variabel und steigt bzw. sinkt, um eine 10-minütige Blockgenerierung aufrechtzuerhalten?
@ Olshansk In der Tat.

Die Schwierigkeit ist einfach das Verhältnis zwischen dem maximalen Ziel und dem aktuellen Ziel. Es ist einfacher, vom Schwierigkeitsgrad zu sprechen als vom Ziel.

Das maximale Ziel ist definiert als (2^16 - 1) * 2^208 oder ungefähr 2^224. Da es 2^256 verschiedene Werte gibt, die ein Hash annehmen kann, hat ein zufälliger Hash eine Chance von etwa 2^(-32), niedriger als das maximale Ziel zu sein.

Daraus folgt, dass bei einer Schwierigkeit von D das Ziel (2^224 / D) ist und im Durchschnitt 2^32 * D Hashes benötigt werden, um einen Block zu finden.

Kannst du das bitte auf die Anzahl der Nullen beziehen?
Die Anzahl der erforderlichen Nullen ist 8 + log(D)/log(16). Aber das ist nur eine Annäherung.