Mining-Pools
如果分叉,礦池中的礦池礦工是否收到相同的塊?
例如,有 2 個礦池 A 和 B,它們同時開采了一個區塊。
那麼,A礦池得到了A礦池挖出的區塊?
還是礦池中的節點獨立接收,因此他們選擇區塊而不考慮礦池?
我知道節點選擇了一個早期傳播給它們的塊,並且塊不是地理上接近的節點而是隨機傳播的(我的意思是塊傳播接近節點,但這個“接近”並不意味著地理上接近但在網路中接近)。
當礦工在挖礦或傳播時,礦工能辨識出同一個礦池中哪個節點在挖礦嗎?
大多數執行的礦池都是託管礦池,這意味著它由個人或公司運營。礦池伺服器執行專門的軟體和礦池挖礦協議,以協調礦池礦工的活動。礦池礦工不需要執行完整的比特幣節點,因為礦池伺服器執行一個並代表礦池礦工驗證區塊和交易。
礦池伺服器通過聚合交易、添加 coinbase 交易(帶有額外的 nonce 空間)、計算 merkle 根以及連結到前一個塊的雜湊來構造候選塊。然後將候選塊的標頭作為模板發送給每個礦池礦工。然後,每個礦池礦工使用區塊模板進行挖礦,難度比比特幣網路目標更容易,並將任何成功的結果發送回礦池伺服器以賺取份額。
由於礦池礦工直接從礦池運營商那裡接收塊模板,所有礦池礦工都在同一版本的區塊鏈上建構候選塊。