Teilweise Arbeitsnachweis in Pools

Technisch gesehen ist eine vollständige PoW-Lösung eine, deren Hash-Wert unter einem bestimmten Schwellenwert liegt, sagen wir V. Es ist nicht gleichbedeutend mit der Aussage, dass der Hash-Wert mit sagen wir X Nullen beginnen muss (es sei denn, der Schwellenwert ist eine Potenz von 2).

Meine Frage ist, was die übliche Praxis in Mining-Pools ist, wo man einen teilweisen Arbeitsnachweis vorlegen muss, um zu beweisen, dass man ehrlich daran gearbeitet hat, den Block zu finden? Nehmen wir an, in einer 'Runde' haben die Miner in einem Pool ihre besten (geringsten) Hash-Werte als v = v1, v2, ... v_n. Gibt es eine Funktion, die v als Eingabe nimmt und die Belohnung für jeden der Miner berechnet? Gibt es eine Art Checkpoint-System, bei dem beispielsweise, wenn die eingereichte Aktie einen Hash-Wert hat, der zwischen einem bestimmten Bereich liegt, dieser Miner in diesen Bereich kategorisiert wird? Sobald alle Mitglieder in Gruppen kategorisiert sind (was widerspiegelt, wie leistungsfähig Mining-Rigs sie haben), können sie für ihre Dienste anteilig bezahlt werden. Natürlich muss man nicht kategorisieren, wie ich es erwähnt habe, aber funktioniert es in der Praxis? Wenn ja,

Antworten (1)

Es hängt von dem Auszahlungssystem ab, das sie verwenden. Die meisten Auszahlungssysteme verwenden eine Art von Zahlung, die auf Anteilen basiert. Eine Aktie ist ein Arbeitsnachweis, den ein Miner beim Pool einreicht. Dieser Proof of Work ist eine "vollständige PoW-Lösung". Aber anstatt das Ziel für das Bitcoin-Netzwerk zu erreichen, müssen Aktien nur ein einfacheres Ziel erreichen, das vom Mining-Pool festgelegt wird.

Pools verfolgen, wie viel Arbeit und wie viel Hashrate jemand hat, basierend auf der Anzahl, Häufigkeit und Schwierigkeit der an sie gesendeten Shares. Daraus berechnen sie dann den Auszahlungsbetrag. Diese Berechnung hängt vom verwendeten Auszahlungssystem ab (z. B. PPS, PPLNS usw.). Die verschiedenen Auszahlungssysteme berechnen die endgültige Auszahlung auf unterschiedliche Weise, aber alle verwenden dieses Konzept der Anteile.

Die Aktien selbst werden nicht nach ihrem Wert kategorisiert. Ein Pool weiß, mit welcher Schwierigkeit ein bestimmter Miner abbaut, sodass alle Anteile so behandelt werden, als ob sie diese Schwierigkeit aufweisen, selbst wenn der Wert auf eine andere Schwierigkeit trifft. Die Hashrate kann aus der Anzahl und Rate der eingereichten Aktien bei einer bestimmten Schwierigkeit abgeleitet werden; Der Wert der Hashes ist nicht wichtig, solange sie das Ziel erreichen.

Kurze Frage, was hindert einen Bergmann daran, doppelte Konten zu erstellen und dieselben Anteile zweimal einzureichen? Beispielsweise berechnet minerA eine gültige PoW-Lösung für das vom Pool festgelegte Schwierigkeitsziel. minerB liest irgendwie, was minerA übermittelt hat, und übermittelt dieselben Freigaben ohne tatsächliche Arbeit erneut. Ich gehe davon aus, dass dies vollständig vom Pool abhängt, aber gibt es einige Standards, um dies zu verhindern? Vielleicht hat der PoW einige hinzugefügte Hashes/Werte im Eingabeskript, um einen Benutzer zu unterscheiden? Vielleicht dieselben Shares ablehnen, die bereits eingereicht wurden? Danke :)
Es gibt nicht wirklich Standards für alles, was mit dem Betrieb von Mining-Pools zu tun hat. Da es sich bei Shares aber eigentlich nur um Blöcke mit potenziell ungültigen PoWs handelt, ist jedes Share einzigartig. Da Pools Arbeit mit bestimmten Parametern an Miner ausgeben, können sie außerdem eine eindeutige Kennung verwenden, die in die Freigabe aufgenommen wird, damit der Miner identifiziert werden kann. Viele Pools verwenden dazu einen Teil der Extranonce in der Coinbase-Transaktion. Wenn also zwei Miner denselben Anteil einreichen, wird die Person, die durch die Extranonce identifiziert wird, mit der Arbeit gutgeschrieben, und sie wird nur einmal gutgeschrieben.
Danke @AndrewChow für die Antwort. Zur Verdeutlichung verschiebt sich der genaue Algorithmus von einem Auszahlungssystem zum anderen, aber die Gesamtidee besteht darin, die eingereichten Anteile und ihre Häufigkeit zu betrachten, um die Hash-Rate eines Bergmanns „herauszufinden“. Das heißt, je niedriger die Hash-Werte und desto höher die Häufigkeit der eingereichten Anteile, desto höher ist die Hash-Rate. Ist das korrekt ? 2. Frage, gibt es eine andere Möglichkeit, einen Teilarbeitsnachweis einzureichen? Man könnte zB ein Bild vom Stromzähler einreichen, aber dezentral verifizieren lässt es sich nicht. Gibt es alternative dezentrale Ideen für teilweise Arbeitsnachweise?
Da die 2. Frage ein wenig vom Thema abweicht, werde ich sie als neue Frage posten :)