Transactions

默克爾樹計算

  • May 17, 2018

假設我正在執行一個迷你區塊鏈,我只有區塊的標題但沒有交易。我希望驗證第三方的交易。為此,我需要交易到 Merkle 根的路徑。鑑於沒有人儲存 Merkle 樹並且它是動態計算的。我的問題是誰來計算默克爾樹。那是:

選項 # 1) 我將收到該區塊的所有交易雜湊,我將自己計算 Merkle 樹。陷阱:這意味著,我將收到大量數據,而發送者必鬚髮送大量數據。

選項#2) 執行全區塊鏈的節點將計算 Merkle 樹並僅向我發送交易路徑。陷阱:發送者將計算很多人的默克爾樹。他的服務得到了什麼回報?

我覺得這兩種選擇都不理想。可能還有第三種我不知道的選擇。我會很感激你的回复。

PS:還請指向一個包含所有資訊的出版物。

選項#2) 執行全區塊鏈的節點將計算 Merkle 樹並僅向我發送交易路徑。陷阱:發送者將計算很多人的默克爾樹。

這就是發生的事情。您連接到一個完整節點,告訴它向您發送與過濾器匹配的交易,然後您將收到這些交易以及 merkle 樹路徑。

這是在許多 SPV 錢包使用的BIP 37中指定的。請注意,並非所有錢包都使用 BIP 37,例如 Electrum,它使用自己的協議並連接到特殊的 Electrum 伺服器。

他的服務得到了什麼回報?

沒有。除非他們是礦工,否則完整節點不會因任何事情而獲得獎勵。

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