Mining-Berechnungen nach Zahlen [Duplikat]

Wie viele "Berechnungen" (GPU-Berechnungen, CPU-Berechnungen, CPU-Zyklen usw.) sind im Durchschnitt erforderlich, um einen Block zu lösen ("ein Mining-Rennen zu gewinnen")?

Woran werden diese Berechnungen gemessen? Operationen? Operationen pro Sekunde? Etwas anderes? Vielen Dank im Voraus!

Antworten (3)

Beim Mining erstellt Ihr Computer Hashes . Diese Hashes müssen eine bestimmte Bedingung erfüllen. Alles, was ein Miner tut, ist, viele Male zu versuchen, einen gültigen Hash für einen Block zu finden.

Aus diesem Grund wird die Leistung der Mining-Hardware in GH/s, Giga-Hash-pro-Sekunde, gemessen, was einer Milliarde Hash-Berechnungen pro Sekunde entspricht und als Hash-Rate bezeichnet wird.

Es ist gut zu wissen, dass es keine feste Menge an Hashes gibt, die erforderlich sind, um einen gültigen Hash zu finden. Das Bitcoin-Netzwerk hat eine dynamische Schwierigkeit für das Mining-Problem. Diese Schwierigkeit wird verwendet, um sicherzustellen, dass neue Bitcoins mit einer vorhersehbaren Rate generiert werden. Die Schwierigkeit wird alle 2016 Blöcke geändert und so angepasst, dass es für die nächsten 2016 Blöcke so nah wie möglich an 2 Wochen dauert. Das bedeutet, dass im Durchschnitt alle 10 Minuten ein neuer Block gefunden wird.

Die Chance, innerhalb solcher 2 Wochen einen guten Hash zu finden, steht fest. Das bedeutet, dass Sie nach nur wenigen Versuchen einen finden können oder dass es Wochen oder sogar Monate dauern kann, bis Sie einen finden. Wenn die Gesamthashrate des Netzwerks steigt, werden 2016 Blöcke in weniger als 2 Wochen gefunden. In diesem Fall wird die Schwierigkeit automatisch angepasst, sodass die nächsten 2016-Blöcke unter Berücksichtigung der jüngsten Änderung der Hashrate 2 Wochen dauern.

Danke @Steven Roose (+1) - Ich denke, das lässt mich mit 2 Folgemaßnahmen zurück: (1) Ich denke, ich suche nach der Beziehung zwischen GH/s und CPU/GPU-Taktgeschwindigkeit. Wenn ich beispielsweise eine 3-GHz-CPU habe, bedeutet das, dass ich in 3 Sekunden mit 3 GH/s arbeite? Und (2) Was ist die durchschnittliche Anzahl an Hashes, die Miner für das laufende Jahr (2013) erstellen müssen, um „einen Block zu lösen“, oder wie könnte ich diese Informationen finden? Ich frage, weil ich versuche, hier Machbarkeits-/Proof-of-Concept-Arbeiten zu machen. Danke nochmal für all eure tollen Antworten!
Viele CPUs und GPUs sind hier mit ihrer gemessenen Hashrate aufgelistet: en.bitcoin.it/wiki/Mining_hardware_comparison (der Link war auch in der Antwort). Hier ist die Wahrscheinlichkeit, einen Block mit einem Hash-Versuch zu gewinnen: blockexplorer.com/q/probability Die Gesamtsumme der Hashes, die im Durchschnitt benötigt werden, um einen guten Block zu finden, ist 1 geteilt durch diesen Betrag.

Die Anzahl der Hashes pro Block wird als Difficulty * 2^32 berechnet.

Der aktuelle Schwierigkeitsgrad beträgt 10.076.293.

Das bedeutet also, dass ~43.277.734.890.000.000 Hashes durchgeführt werden, um den nächsten Block zu lösen.

1 Terahash = 1.000.000.000.000, das heißt, dass ~43.278 Thash pro Block ausgeführt werden.

Ein Block wird in 10 Minuten oder 600 Sekunden gefunden.

Das bedeutet, dass die Hashing-Kapazität des gesamten Bitcoin-Netzwerks derzeit ~72 Thash/s beträgt.

Als Antwort auf die Frage, die das OP auch in den Kommentaren von Steven Rooses gestellt hat.

„Ich denke, das lässt mich mit 2 Folgemaßnahmen zurück: (1) Ich denke, ich suche nach der Beziehung zwischen GH/s und CPU/GPU-Taktgeschwindigkeit. Wenn ich, sagen wir, eine 3-GHz-CPU habe, bedeutet das, dass in 3 Sekunden, Ich arbeite mit 3GH/s? Und (2) für das laufende Jahr (2013), wie hoch ist die durchschnittliche Anzahl an Hashes, die Miner erstellen müssen, um „einen Block zu lösen“, oder wie könnte ich diese Informationen finden? frage, weil ich versuche, hier Machbarkeits-/Proof-of-Concept-Arbeiten zu machen. Nochmals vielen Dank für all Ihre tollen Antworten! "

Der Zusammenhang zwischen Taktrate und Hashing-Power ist irgendwie nicht vorhanden. Der wirkliche Faktor ist, wie viele Hardwareteile auf dem Chip Sie haben, die für Operationen bestimmt sind, die der SHA-256-Hashing-Algorithmus (Read Mining) verwendet.

Ich kenne die Schritte des SHA-256-Algorithmus nicht genau, aber sagen wir, der Algorithmus muss nur die Hardware x, y und z verwenden, um zu funktionieren. Und mit Hardware meine ich buchstäblich das, was auf dem integrierten Schaltkreis aufgedruckt ist. Sie brauchen also nur x, y und z, aber Sie haben eine CPU mit Hardware az, an diesem Punkt sind nur 3/26% der Rechenleistung Ihrer CPU für das Mining nützlich. Dies geschieht im wirklichen Leben. Die meisten CPUs haben viel Hardware für eine Reihe von Anwendungen. Wie mathematische Einheiten mit Gleitkommazahlen, arithmetisch-logische Einheiten usw. Nun, wenn Hashing nur eine dieser vielen CPU-Hardware verwendet, ist der Rest der CPU für das Mining wertlos.

Der Grund, warum GPUs besser sind, ist, dass sie mehr Hardware auf ihren Chips haben, die für das Mining nützlich sind. Außerdem haben sie einen höheren Anteil an nützlicher Hardware auf ihren Chips.

ASICs, die anwendungsspezifische integrierte Schaltungen sind, haben NUR das, was für den SHA-256-Algorithmus benötigt wird. Somit leisten 100% des Chips nützliche Arbeit für das Mining.

Die andere Sache, an die wir auch denken müssen, ist, dass es IC-Druckgrößen gibt. Wenn wir nur mit einer Auflösung von 100 nm drucken können, können wir nur so viele Hardware auf den IC einbauen, wenn wir kleiner drucken können, können wir mehr Hardware auf den IC drucken.

Vergleichen wir einen hypothetischen 200-nm-Fertigungsprozess-ASIC mit einer 32-nm-Fertigungsprozess-GPU. Wir können 6,25-mal mehr Hardware auf dem IC in der GPU unterbringen als der ASIC (200 nm/32 nm = 6,25). Aber der ASIC ist zu 100 % für das Mining und die GPU hat möglicherweise nur 50 % ihrer Hardware, die für das Mining nützlich ist. Wir könnten also vermuten, dass die GPU in diesem Fall den ASIC Chip für Chip übertrifft. Denn sogar 50% der GPU haben dreimal mehr nützliche Mining-Hardware als der ASIC.

Die durchschnittliche Anzahl von Hashes zum Lösen eines Blocks. Unmöglich, es dir zu sagen. Sie müssten jeden einzelnen Hash mitteln, den jeder einzelne Miner bis heute erstellt hat, von denen die meisten nie gespeichert werden. Es gibt also keine eindeutige Antwort.

Das Bitcoin-Protokoll ist so aufgebaut, dass hoffentlich im Durchschnitt alle zehn Minuten ein Block gelöst wird. Wie schwer es ist, einen Block zu lösen, hängt von der Schwierigkeit ab. Die Schwierigkeit wird, wie Sie vielleicht vermuten, geändert, um es mehr oder weniger schwierig zu machen, einen Block zu lösen, falls es im Durchschnitt kürzer oder länger als zehn Minuten dauert, einen Block zu lösen.

Die beste Antwort ist also, dass die Anzahl der Hashes im Durchschnitt zum Lösen eines Blocks auf der vergangenen Hashing-Leistung des Netzwerks basiert. Das Protokoll mittelt einige Datenpunkte, macht basierend auf dem Durchschnitt eine fundierte Vermutung und stellt dann die neue Schwierigkeit so ein, dass die Durchschnittslinie auf der 10-Minuten-Block-Marke liegt.

Eine interessante Sache, Sie haben jedes Mal die gleiche Chance, wenn Sie einen Hash versuchen, um einen Block zu finden. Dies liegt daran, dass das Ergebnis des SHA-256-Algorithmus für Menschen zufällig ist. Eine geringfügige Änderung der Eingabe kann die Ausgabe (dh den Hash-Wert) dramatisch ändern. Wir können auch nicht sagen, wie sich die Ausgabe aufgrund einer Änderung der Eingabe ändern wird. Sagen Sie also, Sie hashen bei 1 Mhash. oder etwa 1 Million Hashes pro Sekunde. Sie führen also den SHA-256-Algorithmus eine Million Mal pro Sekunde aus, jeder hat die gleiche Chance, den Block zu "lösen". Sie könnten also buchstäblich die nächste Million Blöcke in einer Sekunde lösen. Was so unergründlich unwahrscheinlich ist, wenn Sie wirklich verstehen könnten, wie unwahrscheinlich es ist, dass Sie sterben.

[Wie immer korrigiert mich, wo ich falsch liege]