Mining-Pools

在一個礦池中,是否可以有任何兩個或多個節點使用相同的 nonce 探勘一個塊?

  • January 25, 2022

我和我的朋友決定嘗試使用有些舊(幾年前)未使用但還不錯的遊戲 PC 來探勘加密貨幣。我們決定創建或加入一個礦池,以使我們的處理能力翻倍。

因為,礦池中的硬幣獎勵將由礦池成員分配。

我想知道,礦池中的兩個或多個節點是否有可能使用相同的 nonce 探勘一個塊?

我猜這不是一個有效的匯集我的策略。它將創建一個次優策略來池化我的,因為如果兩個或多個節點應該一起工作,將浪費電力來使用已使用的(計算的)隨機數來計算一個塊 - 你已經使用(計算)游泳池裡的朋友。

這甚至會降低計算能力的兩倍(倍增)。

實際上,與非池化礦工(都在競爭計算有效雜湊)沒有任何不同。除了池化礦工需要拆分獎勵幣,而非池化礦工將保留他們所有的獎勵幣。我對麼?還是他們(競爭礦工)甚至在網路上協調和標記使用(計算)的隨機數?

對不起,如果我還沒有完全理解細節。

在礦池探勘軟體中,它們是否通常會阻止這種情況(使用相同的計算隨機數計算)發生,就像它們(探勘軟體)是否協調節點以使用不同的隨機數進行探勘?是否有協議(規則)來防止這種情況在比特幣或任何其他加密貨幣中發生?或者它只是依賴於實現?如果是這樣,如何找到可以有效協調礦池挖礦的挖礦軟體?

總的來說,我對加密貨幣還是很陌生,如果我的理解有任何錯誤,我很抱歉,如果你能糾正它們,我非常感謝。

在礦池探勘軟體中,它們是否通常會阻止這種情況(使用相同的計算隨機數計算)發生,就像它們(探勘軟體)是否協調節點以使用不同的隨機數進行探勘?是否有協議(規則)來防止這種情況在比特幣或任何其他加密貨幣中發生?或者它只是依賴於實現?如果是這樣,如何找到可以有效協調礦池挖礦的挖礦軟體?

不,這不是礦池挖礦的工作方式,也不是可以工作的方式。

現實的採礦硬體會在幾分之一秒內嘗試所有可能的隨機數。嘗試對哪些客戶端嘗試哪些 nonce 進行微觀管理是沒有意義的。

相反,每個客戶端都試圖為不同的塊找到一個隨機數。而且,在實際情況下,單個客戶端可能會嘗試同時為許多不同的可能塊找到隨機數。

對於給定的區塊,只有 40 億個可能的隨機數,而現實的現代採礦硬體每秒測試數*万億個隨機數。*嘗試對客戶嘗試的 nonce 進行微觀管理將是非常低效的。嘗試同時探勘大量可能的塊並允許探勘硬體嘗試每個可能的塊的每個隨機數,這更有意義,就像它設計的那樣。

你是對的:對於一個礦池來說,允許兩個或多個礦工散列相同的交易集(根散列)、時間戳、隨機數等是次優的。為了避免這種冗餘,理論上你可以設計一個礦池應用程序,提供不同礦工的不同時間戳、交易或隨機數範圍。在實踐中,提供給不同礦工的是不同的 extranonce,用於生成 coinbase 交易,這是要添加到區塊的完整交易集的一部分。這實際上意味著不同的礦工可以獲得不同的交易集來探勘,因此他們可以遍歷相同的隨機數空間(2^32 種可能性)而不是多餘的。

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