Difficulty

nBits 值代表什麼?

  • April 21, 2021

當礦工對區塊頭進行雜湊處理並產生低於所代表值的雜湊值時,nBits則認為 PoW 已解決。

這到底是什麼意思?例如,SHA256 雜湊具有以下結構:c45bc3de9bff9ee27fc7303a3aa4fa8022ab6608d42bbea4d72bbee9b719703b如何確定它是否低於某個nBits值?

nBits目標。目標與難度成反比,並被編碼為 256 位數字的緊湊表示。32 位欄位的第一個字節表示指數,其餘 3 個字節編碼尾數。

目標解釋詳細

圖片來自 btcinformation.org

例如,第一個(也是最大)目標是0x1d00ffff,它是 256 位數字的緊湊表示0x00000000ffff0000000000000000000000000000000000000000000000000000,前 32 位設置為 0,後跟 16 位設置為 1,然後是尾數未定義的剩餘位被設置為零。

塊散列通常表示為十六進制數字(包括A–F數字 10-15 的字母),但塊散列由 SHA256d 散列產生,SHA256 的輸出是 256 位數字(因此得名)。當礦工搜尋有效區塊時,他們會創建大量候選區塊。當這些候選者之一的雜湊摘要(解釋為 256 位數字)小於或等於目標時,礦工找到了一個有效塊。


您可以使用以下公式從目標計算難度:

difficulty = max_target / current_target

其中max_target代表上述初始目標,對應最低難度。或者,該公式適用於:

difficulty = 2^208 * 65535 / current_target.

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