Difficulty

位欄位是目標的唯一表示嗎?

  • April 18, 2019

bits欄位是 的緊湊表示target

例子:

bits: 1d00ffff
target: 00ffff0000000000000000000000000000000000000000000000000000

bits: 1cfff00
target: ffff0000000000000000000000000000000000000000000000000000

但這兩個實際上代表的是同一個數字。

int(target) -> 26959535291011309493156476344723991336010898738574164086137773096960 對於上述兩個目標。

bits是什麼(如果有的話*)*使target?


澄清:

在與數字的正常互動中,這種事情並不重要,因為幾個前導零不會影響我們如何解釋數字。然而,在比特幣中,該bits欄位被用作區塊雜湊的一部分。因此,不同的bits表示會產生不同的塊散列。

簡而言之:不,nBits 編碼不是唯一的(可能有多個 32 位值對應同一個 256 位目標),但網路共識規則要求的 nBits 值是唯一的。

原因是所有計算都發生在目標上,然後將其轉換(使用確定性算法)為 nBits 格式。然後需要該 nBits 值來匹配塊頭中的值。

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