Go-Ethereum

礦池中的礦工如何執行交易和驗證區塊?

  • September 16, 2020

我知道單獨的礦工必須在一個區塊中選擇和執行交易,並且還要自己驗證接收方區塊及其交易。

但是,我不確定這在礦池中是如何工作的。誰在一個區塊中執行交易?以及如何驗證接收方塊及其交易?礦池中的礦工是否在執行區塊中的交易和驗證接收者區塊中的交易時相互協作?(例如,每個礦工負責一組交易)還是這些任務僅由礦池經理完成,礦工只參與 PoW 共識?

如果有一篇研究論文清楚地說明並回答這些問題,我將不勝感激。

礦池經理負責驗證交易並為礦池礦工建構候選區塊:

大多數礦池都是“託管的”,這意味著有一個公司或個人在執行一個礦池伺服器。礦池伺服器的所有者稱為礦池運營商,他向礦池礦工收取收益的百分比費用。礦池伺服器執行專門的軟體和礦池挖礦協議,以協調礦池礦工的活動。池伺服器還連接到一個或多個完整的比特幣節點,並可以直接訪問區塊鏈數據庫的完整副本。 這允許礦池伺服器代表礦池礦工驗證區塊和交易,從而減輕他們執行完整節點的負擔。

因此,礦工僅通過向礦池提供計算能力參與 PoW 算法的解決:

礦池伺服器通過聚合交易、添加 coinbase 交易(帶有額外的 nonce 空間)、計算 merkle 根以及連結到前一個塊的雜湊來構造候選塊。然後將候選塊的標頭作為模板發送給每個礦池礦工。然後,每個礦池礦工使用塊模板以比比特幣網路目標更高(更容易)的目標進行探勘,並將任何成功的結果發送回礦池伺服器以賺取份額。

資料來自《掌握比特幣》一書,第 10 章關於挖礦和共識,我強烈建議您了解有關該主題的更多資訊:https ://github.com/bitcoinbook/bitcoinbook/blob/develop/ch10.asciidoc 。

當然,這可以擴展到乙太坊礦池。

引用自:https://ethereum.stackexchange.com/questions/87463