Transactions

Merkle 根與交易雜湊

  • May 16, 2018

我不清楚,為什麼我們不能簡單地將交易雜湊儲存在塊頭中,而不是儲存 Merkle 根。我知道儲存交易的雜湊值會略微增加塊頭的大小。然而,交易驗證過程將大大簡化,因為不必計算 Merkle 樹。在這種情況下,可以通過簡單地在標頭中搜尋交易雜湊來驗證交易。

諾曼·阿斯拉姆

將每筆交易的雜湊值儲存在區塊頭中可能會使區塊頭比現在大得多。現在整個標頭是 80 字節,而 tx merkle 根是其中的 32 字節。您可以將任意數量的交易散列到一個 32 字節的 merkle 根中,因此它作為一種加密安全的壓縮技術非常有效。

我可以想到較大塊頭的一些影響:

  • SPV 錢包執行起來需要更多的資源,它們需要更多的儲存空間和頻寬。我認為計算 merkle 分支可能很少是設計錢包時要考慮的硬體瓶頸。
  • 礦工將被激勵開採小塊。這是因為更大的塊頭意味著 SHA-256 雜湊函式的輸入值更大,因此計算雜湊需要更長的時間。這很重要:礦工可以計算的最快區塊雜湊將是其中沒有交易的區塊雜湊(除了 coinbase)。
  • 您將能夠在一個塊中容納更少的交易,因為更多的塊空間將被標頭使用。一個好的實現不會改變你可以容納在一個塊中的交易數量,請參閱下面 Pieter 的評論。

可能還有更多,請隨意擴展此列表。

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