Wie funktioniert ein Pool-Mining und wie unterscheidet er sich vom Solo-Mining?
In diesem Artikel erklären wir, was der Unterschied zwischen Pool- und Solo-Mining ist. Wir haben bereits über Pool-Mining und Solo-Mining gesprochen. Aber in diesem Artikel werden wir ein bisschen tiefer gehen..
Wir haben in diesem Artikel . über Proof of Work gesprochen. Wir haben erfahren, dass der Miner eine Nonce-Nummer verwendet, um die Hash-Ausgabe zu manipulieren, bis die richtige Lösung gefunden wird. Dies gilt nur (teilweise) für den Fall, dass der Miner Solo Mining - betreibt– also selbst an der Lösung/Validierung des Transaktionsblocks beteiligt ist – alte Art des Mining vor den Pools.
Wenn wir anfangen, über das Mining in einem Pool zu sprechen, werden die Dinge etwas komplizierter. Die gesamte Arbeit, die der Miner beim Solo-Mining geleistet hat, muss auf andere Miner verteilt werden und verhindern, dass zwei oder mehr Miner dieselbe Nonce lösen.
Sobald Sie das Prinzip der Verteilung der Arbeit aus dem Pool an die Miner verstanden haben, wird alles klarer und leichter verständlich, was eigentlich ein Mining-Job ist.
Wie errät der Miner beim Solo-Mining die Nonce-Nummern?
Lassen Sie uns zunächst unser Wissen über das Solo-Mining auffrischen.
Der Node (der eigentlich auch ein Miner in der Blockchain ist) „sammelt“ alle Transaktionen, die darauf warten, verarbeitet zu werden und fügt sie in einen Block zusammen. Dies ist ein sogenannter Transaktionsblock. Er wird nur eine bestimmte Anzahl von Transaktionen enthalten, da ein Bitcoin-Block begrenzt darauf ist, wie viele Transaktionen in den Block aufgenommen werden können.
Dann beginnt der Miner, die Nonce-Nummer zu erraten, bis die Hash-Ausgabe der Transaktionen und die Nonce-Nummer mit einer bestimmten Anzahl von Nullen beginnt (Netzwerkschwierigkeit).
Sobald die korrekte Hash-Ausgabe gefunden ist, sendet der Miner die Lösung an das Netzwerk und wenn alles korrekt ist, erhält er die Blockbelohnung.
Sie können das folgende Formular verwenden und die Nonce-Nummer raten, bis die richtige Hash-Ausgabe gefunden ist. Beginnen Sie mit der Eingabe zufälliger Daten in das Feld DATA und erraten Sie dann die Nonce-Nummer, bis das Formular grün wird. Oder Sie können die MINE-Taste drücken, um die Nonce-Nummer automatisch zu finden.
Wie errät der Miner Nonce-Nummern beim Mining in einem Pool??
Okay, jetzt wissen wir, dass der Miner die Nonce-Nummern erraten/manipulieren muss, um die korrekte Hash-Ausgabe zu erhalten. Aber was passiert, wenn die erforderliche Schwierigkeit (Anzahl der Nullen auf dem obigen Formular) zu groß wird? Der Miner, der Solo-Mining betreibt, hat eine geringere Chance, die richtige Nonce-Nummer zu finden und somit eine geringere Wahrscheinlichkeit einen Block zu treffen.
Der Solo-Miner findet eine Lösung, um seine Freunde zu bitten, als Gruppe von Minern mit dem Mining zu beginnen – eine Gruppe von Minern wird als Pool bezeichnet. Jetzt erscheint der Pool von Minern stärker in der Blockchain und hat eine höhere Chance, die richtige Nonce-Nummer zu finden und die Blockbelohnung zu erhalten, wodurch die Auszahlungsfrequenz erhöht wird.
Aber wie kann der Poolbetreiber sicherstellen, dass die Miner nicht die gleiche Nonce erraten? Wenn 2 oder mehr Miner denselben Bereich von Nonces erraten oder sie dieselbe Startposition haben (z. B. beginnen sie alle, den Nonce bei 0 zu erraten und erhöhen ihn um 1), dann würden sie dieselben Nonce-Zahlen erraten. Wenn alle Miner die gleiche Schätzgeschwindigkeit (Hashrate) hätten, würde es keinen Unterschied machen, gemeinsam zu minen, da sie alle ungefähr zur gleichen Zeit die Lösung finden würden.
Stattdessen würde der Poolbetreiber die „Ausgangsposition“ der Nonce auf jeden Arbeiter verteilen. Der Pool kann die Arbeit auf alle Arbeiter verteilen, indem er die Nonce-Nummer in zwei Teile aufteilt. Dadurch kann der Pool einen Teil des Nonce-Bereichs an den ersten Miner und den anderen Teil an den zweiten Miner senden. Dadurch wird schnell mehr Reichweite abgedeckt.
Detailierte Erklärung
Wie auf dem obigen Formular zu sehen ist, ist Nonce eine Zufallszahl, die erraten wird. Der Einfachheit halber werden wir sagen, dass die Nonce-Nummer, die den imaginären Transaktionsblock löst, zwischen 0 und 100 000 liegen kann.
Wenn wir einen Miner haben, der Solo-Mining betreibt, beginnt er, die Nonce bei 0 zu erraten und arbeitet sich bis zu 100.000 hoch. Eine der Nonce-Nummer zwischen 0 und 100.000 erzeugt eine Hash-Ausgabe, die der Zielschwierigkeit entspricht (Anzahl der Nullen zu Beginn der Hash-Ausgabe). Sobald der Miner die richtige Nonce gefunden hat, erhält er die Belohnung.
Wenn der Pool die Arbeit auf mehrere Miner verteilt, teilt der Pool den Nonce-Bereich in zwei Teile. Der erste Teil der Nachricht wird ein fester Wert sein, den der Miner erhält, z.B. 20.000 (die 20.000er-Reihe). Der zweite Teil der Nachricht (variabler Teil) sind die 20 000 (Hunderter), die vom Miner manipuliert werden können. Der Miner ist dafür verantwortlich, nur den zweiten Teil zu erraten.
Beispiele für Nonces, die einer der Miner in unserem Fall erraten wird, sind: 20+001, 20+002, 20+003, up to 20+999. Der zweite Miner könnte Nonces in den 30 000 (dem 30 Tausender) Bereich erraten. Zum Beispiel 30+001, 30+002 bis zu 30+999. In unserem hypothetischen Beispiel könnten insgesamt 99 (01 000 bis 99 000) Miners mit dem Pool verbunden sein.
Wie wird die Nonce aufgeteilt?
Die Nonce is in zwei Teile aufgeteilt, die Extranonce1 und Extranonce2 genannt werden.
Die erste Nachricht wird Extranonce1 genannt und ist für jeden mit dem Pool verbundenen Miner immer unterschiedlich, aber Fix.
Die zweite Nachricht wird Extranonce2 genannt und dies ist der Teil der Nonce, der vom Miner manipuliert werden sollte, um zu versuchen, die Blockeingabedaten zu lösen.
Wir können sagen, dass der Unterschied beim Hashing zwischen Solo-Mining und Pool-Mining darin besteht, dass der Miner beim Solo-Mining den gesamten Nonce-Bereich errät, während der Miner, der in einem Pool minet, nur einen Teil des Nonce-Bereichs errät.
Ein weiterer wichtiger Teil des Pool-Minings ist die Schwierigkeit. Beim Solo-Mining geht es dem Solo-Miner nur um die Schwierigkeit des Zielnetzwerks. Während die Pool-Miner die vom Pool bereitgestellte Zielschwierigkeit und nicht das Netzwerk verwenden. Die Schwierigkeit des Zielpools ist immer niedriger als die Schwierigkeit des Zielnetzwerks.
Wenn zum Beispiel die Ziel-Netzwerkschwierigkeit 10 Nullen zu Beginn der Hash-Ausgabe erfordert, erfordert die Pool-Ziel-Schwierigkeit möglicherweise nur 2 Nullen zu Beginn der Hash-Ausgabe. In diesem Fall muss die Hash-Ausgabe mit 2 Nullen beginnen, aber nicht mit genau 2 Nullen. Die Nonce, die der Pool-Schwierigkeit entspricht, könnte auch der Netzwerk-Schwierigkeit entsprechen. In diesem Fall wird er Pool den Block erreichen und die Belohnungen basierend auf der geleisteten Arbeit an alle Miner verteilen.
In einem Fall, in dem der Miner den vollen Nonce-Bereich, der ihm aus dem Pool zugewiesen wurde, ausgeschöpft hat, bevor er die Lösung gefunden hat, ist die Zielpool-Schwierigkeit für den Miner zu hoch (oder im Gegenteil, die Miner-Hashrate ist sehr hoch)
Sie können in diesem Formular sehen, wie die Miner Arbeit zum Pool beitragen. Geben Sie zuerst Zufallsdaten in das Feld Transaktionsdaten ein, wählen Sie dann die gewünschte Netzwerkschwierigkeit und klicken Sie auf MINE.
Die Miner raten oder durchlaufen alle verfügbaren Extranonce2, bis die Lösung gefunden ist. Wird keine Lösung gefunden, muss die Extranonce1 erhöht werden.
Beachten Sie, dass der Form halber, wegen der einfacheren Darstellung die Pool-Schwierigkeit fehlt. Die Pool-Schwierigkeit würde es Minern ermöglichen, Shares schneller zu finden und somit akzeptierte Shares zu erhalten, bevor sie einen Block finden (Netzwerkschwierigkeit). Wenn die Pool-Schwierigkeit angepasst wird, bedeutet dies nicht unbedingt, dass die Netzwerk-Schwierigkeit angepasst oder gefunden wird. Aber es könnte sein. Akzeptierte Shares ermöglichen es dem Pool zu wissen, wie viel Arbeit jeder Miner geleistet hat und die Belohnung fair zu verteilen.
Beachten Sie bitte, dass die obigen Beispiele sehr stark vereinfacht sind und nur der einfacheren Darstellung dienen.
Fühlen Sie sich frei unserem Discord Server und Subreddit beizutreten!