Gleichzeitig Solo- und Pool-Mining

Es ist möglich, Anteile sowohl an einen Localhost-GBT-„Pool“ (z. B. Bitcoin Core) als auch an einen entfernten Stratum-Pool zu senden.* Wenn ich jetzt einen Block entdecke, werden nicht sowohl mein localhost-GBT-„Pool“ als auch der entfernte Pool beansprucht es als ihre? Dies scheint als „ egoistischer Mining-Angriff “ bekannt zu sein.

* Verwenden Sie zB bfgminerdie #allblocksOption von , die "Unterstützung für das Senden gefundener Blöcke an einen lokalen Bitcoin-GBT-Server (Bitcoind oder Bitcoin-Qt mit -server-Flag) bietet: Hängen Sie einfach #allblocks an das Ende der URI Ihrer Bitcoin an." ( Quelle )

Antworten (2)

Möglicherweise sind Sie mit beiden Pools verbunden, arbeiten aber nur für einen: Wenn Sie minen, enthält der gesuchte Block eine Empfängeradresse für die Blockbelohnung. Daher kann ein Block nur zu einem Mining-Pool beitragen (dh derjenige, der die Belohnung erhalten würde, wenn der Block erfolgreich war).

Immer wenn Sie einen Block finden, der #allblocksim verlinkten Thread erwähnt wird, wird der Block an alle verbundenen Pools weitergegeben. Dadurch wird Ihr Block schneller verteilt und egoistisches Mining verhindert :

Egoistisches Mining ist etwas anderes, als Sie zu denken scheinen: Es beschreibt ein Verhalten, bei dem ein Pool einen entdeckten Block privat hält, bis eine andere Partei einen Block findet oder der Pool selbst einen nachfolgenden Block findet. Auf diese Weise kann der Pool andere Parteien daran hindern, die Arbeit auf den entdeckten Block zu stützen, und kann einen "Vorsprung" gegenüber einem nachfolgenden Block erlangen.
Da Sie Ihren Block an den Pool übermitteln und ihn auch an das Netzwerk weitergeben, kann der Poolbetreiber den Block nicht verborgen halten und daher kein egoistisches Mining durchführen.

Wenn ich jetzt einen Block entdecke, werden dann nicht sowohl mein Localhost-GBT-"Pool" als auch der Remote-Pool ihn als ihren beanspruchen?

Nein. Das ist nicht möglich. Das Ändern der Coinbase-Transaktion (was steuert, wohin eine Blockbelohnung geht) macht den Block ungültig. Alles, was passiert, ist, dass sich der Block etwas schneller ausbreitet.

Betrug beim Pooled Mining


Dies scheint als „egoistischer Mining-Angriff“ bekannt zu sein.

Eigentlich ist das etwas anderes.

Luca Matteis erklärt:

Sie übersehen den Hauptpunkt: Wenn ein egoistischer Miner einen neuen Block findet, hält er ihn privat, sendet ihn nicht an das Netzwerk und beginnt obendrein privat mit dem Mining.

Der Rest des Netzwerks schürft immer noch auf einem Block, der eigentlich schon gefunden, aber nicht gesendet wurde.

Wenn der Rest des Netzwerks diesen Block endlich findet, sendet der egoistische Miner seine Version, um ihn zu ersetzen.

Indem er Blöcke auf diese Weise ungültig macht, verschwendet ein egoistischer Miner effektiv die Zyklen anderer Leute und hat einen Vorsprung, um den nächsten Block zu gewinnen, weil er vor den anderen mit dem Mining begonnen hat.