Ich versuche, die Hashrate eines bestimmten Miners extern zu berechnen, basierend nur auf einem willkürlich definierten Ziel, das ich zuweise, und dann die Wahrscheinlichkeit zu berechnen, dass es gefunden wird. Sobald diese Wahrscheinlichkeit berechnet ist, möchte ich abschätzen, wie lange es (im Durchschnitt) dauern sollte, einen Block zu finden.
Ist das machbar?
Welche Mathematik ist erforderlich, um die Hashrate zu bestimmen?
Beispiel: Angenommen, das Ziel ist 1 und der Miner hat den Block in 10 Minuten eingereicht.
So wie ich Ihre Frage verstehe, besteht sie aus zwei Teilen. Eine besteht darin, eine Annäherung an die Hash-Rate einer Person extern zu berechnen, z. B. von einem Server oder Proxy, der ihre Mining-Ergebnisse sehen kann, aber nicht ihren tatsächlichen Hash-Prozess oder ihre Hash-Rate. Der andere Teil besteht darin, die Wahrscheinlichkeit zu berechnen, dass ein Block nach einem bestimmten Arbeitsaufwand oder einer bestimmten Zeit und Hash-Rate gefunden wird.
Ich werde die Formeln als Javascript-Code schreiben, wobei X hoch Y als Math.pow(X, Y) geschrieben wird. Sie können sie in Ihrem Browser ausführen, indem Sie sie wie zum Beispiel in die Adressleiste eingeben javascript:alert((Math.pow(2, 32) * 27939) / 600)
.
Annäherung an die Hash-Rate:
Zählen Sie bei einem beliebigen Ziel eine Aktie bei Schwierigkeit X genauso wie X Aktien bei Schwierigkeit 1. So gehen Pools mit variabler Schwierigkeit um.
Hashrate = (Math.pow(2, 32) * Shares ) / verstrichene Sekunden
Für jeden Math.pow(2,32)-Hash wird durchschnittlich eine Aktie (bei Schwierigkeit 1) gefunden. Dies ist nur ein Durchschnittswert, weshalb die auf Pool-Websites angezeigten Hash-Raten nur ungefähre Angaben sind.
Lösungswahrscheinlichkeit blockieren:
Die Wahrscheinlichkeit, dass aus einer gegebenen Anzahl von Shares (Proofs of Work) ein oder mehrere Blöcke generiert werden:
prob = 1 - Math.pow(1 - 1.0 / Schwierigkeit , Anteile )
Das ist von 0 bis 1. Multiplizieren Sie mit 100, wenn Sie einen Prozentsatz wünschen.
Nehmen wir an, die Schwierigkeit ist 4367876 und jemand hat 10 Minuten lang mit einer Hashrate von 200 Ghps geschürft. Das sind 200 * Math.pow(10, 9)-Hashes pro Sekunde für 600 Sekunden, wobei durchschnittlich eine Aktie (bei Schwierigkeit 1) für jeden Math.pow(2,32)-Hash gefunden wird. Dies gibt uns Folgendes:
Aktien = (200 * Math.pow(10, 9) * 600) / Math.pow(2,32) = 27939 Aktien
prob = 1 - Math.pow(1 - 1,0 / Schwierigkeit, Anteile) = 1 - Math.pow(1 - 1,0 / 4367876, 27939) = 0,00637 ...
Mit anderen Worten, die Wahrscheinlichkeit, dass jemand innerhalb von 10 Minuten einen oder mehrere Blöcke mit der angegebenen Hash-Rate und Schwierigkeit erstellt, liegt bei etwa 0,64 %.
Hinweis: Wenn Sie sehen, wie viele Shares (Proofs of Work) sie einsenden, berechnen Sie natürlich nicht zuerst ihre Hash-Rate, um sie dann in eine Anzahl von Shares zurückzurechnen. Setzen Sie es einfach in die Formel ein.
Sie müssen die Schwierigkeit nicht angeben, um die Hashrate zu bestimmen: Sie ist unabhängig von der Schwierigkeit:
Vielleicht meinst du die Wahrscheinlichkeit, einen Block zu finden?
Es gibt eine Reihe von Rentabilitätsrechnern, probieren Sie zum Beispiel diesen hier aus: http://www.bitcoinx.com/profit/
Macher7
9
, oder32
vorkommt. Würden Sie die Auswahl dieser Nummern näher erläutern?Dr.Haribo
Dr.Haribo
Timo Huovinen
Dr.Haribo