wie Miner innerhalb eines Mining-Pools Transaktionen ausführen und Blöcke verifizieren?

Ich weiß, dass Solo-Miner Transaktionen in einem Block auswählen und ausführen und auch den Empfangsblock und seine Transaktionen selbst verifizieren müssen.

Allerdings bin ich mir nicht sicher, wie das in einem Mining-Pool funktioniert. Wer führt Transaktionen in einem Block aus? und wie verifizieren Sie den Empfangsblock und seine Transaktionen? Arbeiten Miner innerhalb eines Pools zusammen, um Transaktionen in einem Block auszuführen und Transaktionen im Empfängerblock zu verifizieren? (z. B. ist jeder Miner für eine Reihe von Transaktionen verantwortlich) oder werden diese Aufgaben nur vom Manager des Mining-Pools erledigt und die Miner nehmen nur am PoW-Konsens teil?

Ich würde es begrüßen, wenn es eine Forschungsarbeit gibt, die diese Fragen klar formuliert und beantwortet.

Antworten (1)

Der Pool-Manager ist für die Validierung von Transaktionen und den Aufbau eines Kandidatenblocks für die Pool-Miner verantwortlich:

Die meisten Mining-Pools werden „verwaltet“, was bedeutet, dass ein Unternehmen oder eine Einzelperson einen Pool-Server betreibt. Der Eigentümer des Pool-Servers wird als Pool-Betreiber bezeichnet und er berechnet den Pool-Minern eine prozentuale Gebühr der Einnahmen. Auf dem Pool-Server läuft eine spezielle Software und ein Pool-Mining-Protokoll, die die Aktivitäten der Pool-Miner koordinieren. Der Pool-Server ist auch mit einem oder mehreren vollständigen Bitcoin-Knoten verbunden und hat direkten Zugriff auf eine vollständige Kopie der Blockchain-Datenbank. Dadurch kann der Pool-Server Blöcke und Transaktionen im Namen der Pool-Miner validieren und sie von der Last entlasten, einen vollständigen Knoten zu betreiben.

Miner sind also nur an der Auflösung des PoW-Algorithmus beteiligt, indem sie dem Pool Rechenleistung zur Verfügung stellen:

Der Pool-Server erstellt einen Kandidatenblock, indem er Transaktionen aggregiert, eine Coinbase-Transaktion (mit zusätzlichem Nonce-Speicherplatz) hinzufügt, die Merkle-Wurzel berechnet und mit dem vorherigen Block-Hash verknüpft. Der Header des Kandidatenblocks wird dann als Vorlage an jeden der Pool-Miner gesendet. Jeder Pool-Miner schürft dann unter Verwendung der Blockvorlage bei einem höheren (einfacheren) Ziel als dem Bitcoin-Netzwerkziel und sendet alle erfolgreichen Ergebnisse zurück an den Pool-Server, um Anteile zu verdienen.

Die Quellen stammen aus dem Buch Mastering Bitcoin , Kapitel 10 über Mining und Konsens, das ich Ihnen für weitere Informationen zu diesem Thema dringend empfehle: https://github.com/bitcoinbook/bitcoinbook/blob/develop/ch10.asciidoc .

Dies kann natürlich auf Ethereum-Mining-Pools ausgedehnt werden.