Mining-Technical-Details

池伺服器如何處理與 Stratum 協議共享一個連接的多個工作人員

  • April 25, 2016

Stratum 協議支持在單個連接中授權多個工作人員。不幸的是,我沒有找到任何關於池伺服器軟體應該如何處理的文件。

如果多個工作人員共享相同的extranonce1內容(這是每個連接唯一的字元串),工作人員不會重複工作嗎?這個需要客戶處理嗎?

是否所有工作人員都使用相同job_id的共享送出?

當第二個,第三個等工人成功通過授權時,伺服器是否應該發送作業通知?

最後,是否有人真正使用它(每個連接多個工作人員)以及用於什麼目的?

客戶端需要處理將 extranonce2 分配給所有工作人員。代理可以通過將 extranonce2 的一部分移動到 extranonce1 中來做到這一點。

通常,對於任何給定的模板,整個池都使用相同的 job_id,儘管它只保證在單個連接中有效。

當其他工作人員進行身份驗證時,伺服器沒有理由發送新的 Mining.notify,儘管他們也沒有理由不能選擇。您會注意到,大多數伺服器在任何工作人員進行身份驗證之前都會發送第一個 Mining.notify。

單個連接上的多個工作人員的實際問題是,每個連接設置共享難度,並且伺服器通常希望為不同的工作人員提供自己的難度級別。

雖然多個工作人員並不是特別常見,但在大型網路上減少頻寬很有幫助,您可能希望跟踪每個工作人員的池統計資訊 - 甚至可以想像每個晶片(儘管目前還沒有軟體支持)。

引用自:https://bitcoin.stackexchange.com/questions/29416