Kommunizieren Pool-Server mit Bitcoin und in welcher Funktion?

Ich versuche zu verstehen, wie der ganze Prozess abläuft. Hier ist, wie ich es derzeit verstehe.

Mining-Client -> Pool-Server -> Bitcoind

getwork:

  • Der Mining-Client ruft getworkvom Pool-Server auf, und dieser wiederum ruft getwork(oder etwas anderes?) von Bitcoind auf.

stratum:

  • Der Mining-Client bindet den Pool-Server mit dem Stratum-Protokoll ein, und der Pool-Server ruft getwork(oder etwas anderes?) von Bitcoind auf.

getblocktemplate:

  • Aufrufe des Mining-Clients getblocktemplateund Aufrufe des Pool-Servers getblocktemplatevon Bitcoind.

Und ich verstehe, dass der Pool-Server mehr tut, als nur Informationen weiterzuleiten, aber ich wollte es einfach halten. Ich möchte nur verstehen, wie alles zusammenfließt und welche Anrufe es macht.

Jede Hilfe wird sehr geschätzt!

Antworten (1)

getworkist in jeder Hinsicht aufgrund seiner Ineffizienz vollständig veraltet. An diesem Punkt kann ein einzelnes ASIC-Gerät einen vollständig bitcoindmit Anfragen überschwemmen, da es in der Lage ist, die 32-Bit-Nonce in Sekundenbruchteilen zu erschöpfen. Die Situation ist so ernst, dass Pools wie BTC Guild außergewöhnlich hohe (6%+) Gebühren für Kunden erheben getwork, um sie dazu zu bringen, auf effizientere Methoden umzusteigen.

Intern werden Pools wie Eloipool verwendet getblocktemplate, um Arbeit für die Clients zu generieren und dann je nach Anforderungstyp stratumoder getblocktemplatezur Kommunikation mit den Mitarbeitern zu verwenden. getworkist in keiner Phase beteiligt. Tatsächlich ist es derzeit für eine vollständige Entfernung an einem bestimmten Punkt vorgesehen.

Wird also Eloipoolso ziemlich dieselbe Getblock-Vorlage weitergegeben, die sie von Bitcoin erhalten?
Von der Betrachtung jsonrpc_getblocktemplate.pyher würde ich sagen.
Danke noch einmal. Ich würde Sie positiv bewerten, aber ich habe nicht genug Punkte.