Nonce
礦工如何知道從哪個 nonce 開始?
很簡單的問題:
當礦工試圖找到一個 18 個前導零的散列時,它是否總是從零的隨機數開始?我想它不會,因為世界上的其他礦工可能已經發現前 1000 個隨機數不會給出足夠的雜湊值。
那麼我的問題是,礦工如何知道從哪個 nonce 開始?
整個區塊頭作為雜湊過程的輸入進入。
除了隨機數和其他一些固定欄位外,每個礦工都有不同的塊頭中的“Merkle root”欄位。
所以每個礦工可以按順序搜尋從0到最後一個nonce範圍;由於不同的 Merkle root,每個礦工對於相同的 nonce 和其他固定欄位會有不同的塊頭雜湊。
注意:為什麼每個礦工都有不同的 Merkle 根?這是因為在礦工包含在區塊中的交易(Merkle 根是從該區塊派生的)中,有一個稱為“coinbase 交易”的特殊交易,每個礦工都有唯一的交易。因此默克爾根也是唯一的。“Coinbase 交易”是礦工自己和正常交易一起包含的,是給礦工自己地址的挖礦獎勵的交易。