Difficulty
我們如何知道在探勘時甚至可能低於目標的某個雜湊?
如果目標雜湊值人為地低,即 3,礦工如何知道是否會有隨機數產生這樣的雜湊值?
如果目標雜湊值人為地低,即 3,礦工如何知道是否會有隨機數產生這樣的雜湊值?
他們沒有。
但是,如果難度使得礦工無法以預期的速度(大約每 10 分鐘 1 個)探勘新塊,那麼難度算法會在一段時間後降低難度(如果我沒記錯的話最多 2 週)
對於唯一變數是 nonce 的給定塊頭,暴力破解所有 nonce 值並驗證是否有任何給出滿足目標的雜湊是微不足道的。
對於絕大多數區塊雜湊,在正常難度設置下沒有隨機數值會達到目標(更不用說在目標 3 時)。
礦工通過改變區塊頭中的其他值來解決這個問題,例如時間戳、區塊版本、默克爾根(通過改變 Coinbase 交易和/或包含的交易集)。
通過機率的平衡,你最終會找到滿足目標的上述某種組合的一個塊頭。
對於給定的雜湊率,難度級別控制在約 10 分鐘內找到該塊頭的可能性。
比特幣 Wiki詳細說明瞭如何實際執行計算以確定這個難度,以及一些範常式式碼。