Transactions
Merkle 根與交易雜湊
我不清楚,為什麼我們不能簡單地將交易雜湊儲存在塊頭中,而不是儲存 Merkle 根。我知道儲存交易的雜湊值會略微增加塊頭的大小。然而,交易驗證過程將大大簡化,因為不必計算 Merkle 樹。在這種情況下,可以通過簡單地在標頭中搜尋交易雜湊來驗證交易。
諾曼·阿斯拉姆
將每筆交易的雜湊值儲存在區塊頭中可能會使區塊頭比現在大得多。現在整個標頭是 80 字節,而 tx merkle 根是其中的 32 字節。您可以將任意數量的交易散列到一個 32 字節的 merkle 根中,因此它作為一種加密安全的壓縮技術非常有效。
我可以想到較大塊頭的一些影響:
- SPV 錢包執行起來需要更多的資源,它們需要更多的儲存空間和頻寬。我認為計算 merkle 分支可能很少是設計錢包時要考慮的硬體瓶頸。
- 礦工將被激勵開採小塊。這是因為更大的塊頭意味著 SHA-256 雜湊函式的輸入值更大,因此計算雜湊需要更長的時間。這很重要:礦工可以計算的最快區塊雜湊將是其中沒有交易的區塊雜湊(除了 coinbase)。
- 您將能夠在一個塊中容納更少的交易,因為更多的塊空間將被標頭使用。一個好的實現不會改變你可以容納在一個塊中的交易數量,請參閱下面 Pieter 的評論。
可能還有更多,請隨意擴展此列表。