Difficulty

為什麼目標以緊湊的形式儲存在塊頭中?

  • May 4, 2017

為什麼目標轉換為“Bits”而不是完整儲存在塊頭中?

例如,為什麼:

{
"hash" : "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506",
"height" : 100000,
"bits" : "1b04864c",
"difficulty" : 14484.16236123,
}

並不是:

{
"hash" : "000000000003ba27aa200b1cecaad478d2b00432346c3f1f3986da1afd33e506",
"height" : 100000,
"target" : "000000000004864c000000000000000000000000000000000000000000000000",
"difficulty" : 14484.16236123,
}

是為了節省空間嗎?

如果不出意外,您的演繹會更長,整個標頭只有 80 個字節長。“位”的編碼是歷史的,是 0.1.0 預發行版客戶端遺留下來的。標頭中還有其他可以更好地編碼的東西(nonce 應該更長,並且版本讀取為位域而不是 int,並且 aux merkle root 會很好),但實際上並沒有很好由於目前形態背後的慣性量,有理由改變任何東西。

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