Merkle 樹將資料雜湊組織成樹狀結構,頂端的雜湊稱為 Merkle 根,用來彙整所承諾的資料集合。每個父節點都依指定規則,由子節點計算而得。修改一個葉節點,通常會改變其通往根節點路徑上的各個雜湊。
驗證單一項目
包含證明提供重新計算這條路徑所需的相鄰雜湊,不必提供集合中的全部項目。在具有八個葉節點的平衡二元樹中,證明一個葉節點通常需要三個兄弟節點雜湊,以及位置資訊。驗證者還需要該項目或其雜湊,以及可信的根值。
比特幣中的用途
比特幣在每個區塊標頭內,用 Merkle 根承諾交易識別碼集合。其建構規則規定交易順序、成對雜湊,以及某一層項目數為奇數時的複製方式。其他系統可以採用不同的樹結構與編碼規則。
證明能說明什麼
在雜湊安全假設成立時,有效證明表示某項目屬於參考根值代表的集合。它不能獨立證明交易有效、輸出目前尚未花費,或鏈已達最終性。根值也不會揭露全部底層資料;若要完整檢查,仍必須能從其他地方取得這些資料。