Bitcoin-Core
是否可以從塊雜湊中解碼塊高度?
我正在創建一個比特幣網路客戶端,我想知道是否可以在收到新的塊庫存向量時從塊雜湊中解碼塊高度。
不。
塊雜湊是塊頭的雜湊……但即使你可以反轉雜湊函式(這是不可能的,否則比特幣會被破壞),你不會知道高度,因為高度沒有儲存在標題。
標頭確實包含交易 Merkle 根的雜湊……但是即使您可以反轉交易 Merkle 樹中的雜湊函式,您也不會知道高度,因為高度沒有儲存在交易 Merkle 樹中。
Merkle 樹確實包含交易 ID…如果您可以反轉用於計算交易 ID 的雜湊函式,您將可以了解高度,因為自BIP34以來,塊高度儲存在 a 的第一個交易的輸入中塊(coinbase 交易)。
因此,如果您想確定一個區塊的高度,您至少需要請求其 coinbase 交易、從 coinbase 到根的 Merkle 路徑以及完整的區塊頭。如果它們都匹配,您可以確定。