Jedes Mal, wenn ein neuer Block über der Blockchain hinzugefügt wird, müssen die Miner ihre Arbeit neu starten, da der nächste Block einen korrekten Verweis auf den vorherigen Block haben muss.
Nehmen wir an, dass es für jeden Block eine Nonce gibt, so dass es auch einen ausreichend kleinen Hash gibt (kleiner als das Ziel). Im Allgemeinen gibt es 2 256 mögliche Hashes. Das Ziel sei t . Das Ziel kann auch als eine Anzahl akzeptabler Hashes verstanden werden. Es besteht also eine Wahrscheinlichkeit von t / 2 256 , bei jedem Versuch einen richtigen Hash zu finden, dh einen Block zu finden.
Die Anzahl erfolgloser Versuche vor einem Block folgt einer geometrischen Verteilung mit dem Parameter p = t /2 256 . Der erwartete Wert einer Variablen nach einer solchen Verteilung ist EX = 1/ p = 2 256 / t . Jeder Mining-Pool muss also im Durchschnitt 2.256 / t Versuche aufwenden, um einen Block zu finden.
Wie kann gleichzeitiges Mining effizient sein, vorausgesetzt, dass jedes Mal, wenn ein Pool einen neuen Block veröffentlicht, alle anderen Pools ihre Arbeit neu starten müssen und somit ihre Versuche mit Blöcken verwerfen, die jetzt nicht mehr verwendet werden können?
Hinweis: Bitte seien Sie etwas ausführlicher. Ich habe schon Erklärungen gelesen wie: Jeder Versuch hat die gleiche Chance auf Erfolg. Aber ich kann es nicht von so kurzen Hinweisen bekommen.
Die Anzahl der Hashes, die ein Miner in der Vergangenheit ausprobiert hat, hat keinen Einfluss auf die Wahrscheinlichkeit, dass ein Miner bei der nächsten sofortigen Berechnung den richtigen Hash erhält. Daher spielt es für den Miner unter Effizienzgesichtspunkten keine Rolle, ob er mit der Arbeit an einem neuen Block beginnt, da die Wahrscheinlichkeit, den richtigen Hash zu erhalten, genauso hoch ist, als würde er am alten Block weiterarbeiten.
Denken Sie an dieses Münzwurf-Beispiel: Das erste Ziel ist es, zu versuchen, Kopf zu bekommen. Du hast die ersten paar Saltos nicht bestanden und dann ändert sich das Ziel, Zahl zu bekommen. Die Wahrscheinlichkeit, dass Sie Ihr Ziel erreichen, ist immer noch genau gleich.
Eine Analogie für das Mining wäre die folgende:
Sie befinden sich an einer Lotteriestelle. Die Lotteriekabine hat 1.000 Lottoscheine in einer Schüssel (die immer perfekt gemischt sind). Es gibt nur ein Ticket mit einem Preis in der Schüssel. Jedes Mal, wenn jemand einen Lotterieschein kauft, druckt der Standbesitzer einen neuen Schein und fügt ihn der Schüssel hinzu, wobei ein Verlierer durch einen neuen Verliererschein und ein Gewinner durch einen Gewinnschein ersetzt wird, sodass es immer 1 Gewinnschein und 999 Verlierer gibt Tickets in der Schüssel.
Wenn jemand ein Ticket kauft, stehen die Chancen 1 zu 1.000, dass er gewinnt.
Sie könnten mit Ihrem ersten Ticket gewinnen, aber Sie könnten mit Ihrem 10.000. gewinnen.
Wie Sie bereits erwähnt haben, hat jeder Versuch, einen neuen Block zu finden, die gleiche Chance, das Gewinnlos zu sein. Das heißt, es gibt keinen „Fortschritt zum Block“. Entweder es funktioniert oder es funktioniert nicht.
Also, jetzt hat jemand einen Block gefunden . Wenn die Leute auf dem alten Block weiter schürfen, müssten sie zwei Blöcke hintereinander finden, um davon zu profitieren, denn sie müssten einen finden, um aufzuholen, und einen anderen, um die derzeit beste Kette zu überholen. Vielmehr werden sie wieder um den nächsten Block kämpfen wollen!
Bergbau soll nicht effizient sein. Mining soll ineffizient sein, da es darauf abzielt zu beweisen, dass ausreichend Rechenarbeit aufgewendet wurde, um das Netzwerk vor Unterwanderung zu schützen.
target
darunter wären Gewinnertickets. Sie würden dann jedes Mal, wenn jemand einen Bowl gewinnt, einen neuen Bowl beginnen.
David Schwarz
tscherny