礦池如何知道我們的算力/我們的份額?
設想:
- A 人:擁有一個良好的採礦設備並執行 24 小時並產生:1000 兆雜湊,但僅找到 1 份。
- B 人:有一個壞的採礦設備並執行 24 小時並產生:1 兆雜湊,但在第一次嘗試時發現了 1 個份額
問題: 那麼,礦池怎麼知道,如果我們真的經歷了所有的
1000 mega hashes
向礦池送出一份股份(Person A
比做更多的工作person B
)?但是person B
算力低的人已經找到了份額但沒有做任何工作person A
礦池如何知道是否做了
Person A
比Person B
那麼,礦池怎麼知道,如果我們實際上已經通過所有 1000 兆雜湊向礦池送出了一份(A 人比 B 人做了更多的工作)?
礦池不知道也不關心你的礦工做了多少次嘗試來解決份額,他關心你實際解決了多少份額。(如果 A 人和 B 人送出相同數量的相同難度的分享,則無論他們花費多少工作來找到這些分享,他們都會獲得相同的獎勵)
但是算力低的 B 已經找到了份額,但與 A 相比沒有做任何工作
如果 B 人發現的股份數量與 A 人相同,但工作量少得多,則 B 人比 A 人幸運。
考慮到並非所有股份都具有相同的難度並因此具有相同的價值,通常是挖礦礦池為較慢的礦工提供更容易的共享(需要更少的工作),為更快的礦工提供更困難的共享(以更好地利用不同的速度)。
礦池如何知道 A 是否比 B 做了更多的工作,因為礦工沒有送出任何不成功的雜湊,而是送出成功的雜湊,但已經完成了更多的工作。
正如上面已經提到的,你得到報酬的不是你所做的工作,而是你生產的股份。
礦池不知道你的算力,根據你解決份額的速度和難度來估計:如果你運氣好,你發現的份額比你應該的多,你的算力就會被高估,如果你運氣不好,你發現礦池報告的雜湊率將低於實際的份額。
礦池知道,因為它要求礦工發送如果難度較低時有效的區塊雜湊。
例如,在目前難度下,一個有效的區塊雜湊應該以 19 個零開頭。礦池只是要求礦工發送盡可能多的雜湊,例如從 5 個零開始。
通過比較提供的“簡單”雜湊數和目前難度,礦池能夠確定礦工的平均雜湊率。