Block-Header
為什麼 bitcoin-cli 會返回奇怪的塊版本號?
我一直在查看塊的版本號,但我從bitcoin-cli getblock得到了奇怪的結果。
"version": 536870913
但是,當我使用
false
選項(獲取序列化塊數據)執行相同的命令時,它顯示的版本號為1
:"result": "010000 ...
為什麼會這樣?
好問題。我不得不做一些研究來找出答案。
目前版本實際上是 4 個字節。在這個區塊(以及許多其他最近的區塊,事實證明)的情況下,它是
01000020
. 這是小端,所以當你反轉十六進製字節時,它是:0x20000001 = 536870913
二進制是:
00100000000000000000000000000001
事實證明,這裡的位遵循BIP0009 規範。您可以在此處獲得對 BIP0009的更人性化的解釋。本質上,BIP0009 指定版本位將用於表示對軟分叉的支持。在這種特殊情況下,通過在末尾使用那個額外的“1”,探勘該區塊的礦工表示支持BIP0112 ,也稱為 OP_CHECKSEQUENCEVERIFY。