Ethereums Definition von Schwierigkeit und Hash-Rate

Ich versuche, die Hashrate von geth und die Schwierigkeitseinstellung von Ethereum zu verstehen. Ich betreibe ein privates Testnetz und setze die Schwierigkeit auf einen festen Wert (auf big.NewInt(250)), wie von https://ethereum.stackexchange.com/a/7159/5293 beschrieben . Ich starte das CPU-Mining in Geth über einen Thread mit miner.start(1). Dann messe ich die Hashrate mit eth.hashrate, das ist normalerweise ein Wert zwischen 8 und 12 (sagen wir h = 10 H/s im Durchschnitt). Ich habe die durchschnittliche Blockzeit durch 15-minütiges Mining gemessen und sie betrug ungefähr 65 Sekunden.

Jetzt möchte ich die Schwierigkeitseinstellung und die Hashrate verwenden, um die erwartete Blockzeit zu berechnen. Wenn ich es so berechnen würde, wie die Begriffe „Schwierigkeit“ (d) und „Hashrate“ (h) in Bitcoin verwendet werden, würde ich erhalten

t = 2^32 * d / h,

das ist nicht einmal annähernd 65 Sekunden.

Ich verwende geth auf einer Intel(R) Core(TM) i5-CPU mit 2,80 GHz. Ich nehme an, dass der Wert h = 10 H/s eher unbrauchbar ist, da er viel höher sein sollte (aber wo kommt er dann her)? Bei meinem Prozessor würde ich davon ausgehen, dass ich nicht höher als vielleicht h = 50 kH/s komme. Um die 65 Sekunden zu erhalten, bräuchte ich jedoch eine Hash-Rate von

h = 2^32 * d / t = 1,7 * 10^10

was viel höher ist als meine maximale Hashrate.

Nein, so wird die Schwierigkeit nicht berechnet. Haben Sie das gelbe Papier auf Seite 6, Gleichungen 39 bis 44 , überprüft ?
Ja, ich habe die Gleichungen 39-44 überprüft. Da ich aber die Schwierigkeit auf einen festen Wert setze, sind für mich nur die Gleichungen 39 und 40 relevant. Daher ist meine Schwierigkeit D(H) immer D_0 = 250. Dann sollte ein gültiger Block einen Hash kleiner oder gleich (2^256) / 250 haben.

Antworten (1)

Du hast nicht recht.

  1. Die Chance, dass Hash eine Lösung des Problems ist, beträgt 1 / d.
  2. Die durchschnittliche Menge an Hashes, die zur Lösung des Problems berechnet werden muss, istGeben Sie hier die Bildbeschreibung ein
  3. Die durchschnittliche Menge an Hashes pro Block beträgt also 250.
  4. Da Ihre Hashrate 10H/S beträgt, können wir die durchschnittliche Zeit berechnen - 25s. Das ist nicht Ihre genaue Nummer, aber was auch immer.

Die genaue Formel, nach der Sie fragen, lautet t = d / h.