Bitcoin-Core

比特幣核心中區塊雜湊和交易雜湊的區別

  • November 12, 2019

有沒有一種邏輯可以在不詢問比特幣客戶端的情況下確定給定的 32 位雜湊是否對應於交易或區塊?

換句話說,我如何區分或驗證給定的 32 位散列作為交易或區塊標識符?

我了解,有效的塊雜湊受到難度限制(提供下限和上限)的限制。是否有類似驗證交易雜湊的東西?

參考: 難度如何儲存在塊中?

這是不可能的,兩者都是 sha256 雜湊,並且不包含關於其來源的標記。

沒有明確的標記將雜湊標識為與事務/塊相關,但正如 OP 所提到的,由於網路節點強加的塊的難度目標,可以做出一個隱含的假設。

務實地說,這意味著可以假設具有極低值的散列是潛在的塊散列。請注意,僅從雜湊中無法知道這是否代表*有效塊。*雖然交易雜湊可能具有相當低的值,但這不太可能(假設有人沒有通過交易雜湊找到低於難度目標的值,但這樣做會非常昂貴,沒有真正的收益)。

相反,任何任意值的雜湊都可能不是有效的塊雜湊,因為它無法滿足網路的難度要求。

綜上所述,為了確定所討論的雜湊是否實際上與有效的塊/交易相關,您需要了解目前網路狀態(即,您需要使用某種比特幣全節點對其進行驗證)。

TL; 博士:

  • 一個不太可能的低雜湊值可能代表一個塊或一個交易(儘管非常不可能)。在任何情況下,都需要一個完整的節點來驗證這個雜湊的有效性。
  • 任意散列值可能代表交易,但同樣需要一個完整節點來驗證此散列的有效性。

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