[英]How can merkle trees help validate the content of a block in a blockchain
據我了解,通過將哈希函數遞歸應用於塊內容,可以使用merkle樹來分離塊的實際事務(或其他內容)及其驗證過程。
這使得可以實現簡化的付款驗證 (或區塊中任何其他數據的驗證)。
鏈接的定義指出SVP是
無需下載整個模塊即可驗證特定交易是否包含在模塊中的方法。
如果merkle樹是一種檢查特定交易是否是區塊的一部分的方法,則這意味着我們不“信任該區塊”,因此正在檢查搜索到的交易的哈希是否是該樹的一部分。 如果我們不信任該塊(或該塊的原始驗證者),那么我們怎么會相信Merkle樹,該樹也可能是偽造的(或者不是嗎?)。
我們是否只是“依靠”具有偽隨機值的事實,而很難創建具有相同根值但節點值不同的假樹呢?
謝謝!
了解默克爾樹
默克爾樹使我們能夠在一個分類賬中對多個交易進行多路復用。 樹的每個葉節點都代表一個事務。 而所有其他節點都是其子節點的哈希值。
這有什么好處?
事務塊將僅需要存儲Merkle樹的根。 SPV聲明的目的是,在鏈上進行交易的任何客戶都可以只存儲從根到其交易的哈希路徑,而不必存儲整個賬本,因為賬本可能很大。
我們不相信這個障礙嗎?
處理完交易后,您可以通過跟蹤從塊中提供的根到作為交易的葉子節點的路徑來驗證是否已將其添加到分類帳中。 因此,您進行驗證以確保您的交易是否已被實際處理。
可以偽造嗎?
不會。一旦主鏈接受了一個區塊(通常是在比特幣中再添加約5或6個區塊),您的交易就將不可逆轉。 區塊鏈的概念是賬本是不可變的。 這意味着merkle樹的根也永久存儲在分類帳中,無法修改。 現在,要跟蹤事務,您只需存儲標題和從根到事務的路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.