﻿---
title: "默克爾樹"
description: "默克爾樹用一個根雜湊承諾有序資料，並在無需傳輸完整資料集的情況下提供精簡的包含證明。"
image: "https://wiki.fcontext.com/og.png"
---

> Documentation Index
> Fetch the complete documentation index at: https://wiki.fcontext.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 默克爾樹

> 僅供教育用途；不構成投資建議。投資可能導致損失。

<a id="answer"></a>

## 直接回答

默克爾樹把每筆資料雜湊成葉節點，反覆合併相鄰雜湊，得到一個頂層默克爾根。根雜湊是對葉節點以及建樹時採用的順序和雜湊規則的精簡承諾。

默克爾證明為一片葉節點提供每一層的兄弟雜湊。驗證者從葉節點重新計算到根，只有結果與可信根相符時才接受包含關係，因此不需要其他葉節點或完整資料集。

這種承諾針對的是資料表示，而不是真實性。根相符並不能說明來源資料準確、資料仍可用，或合約、橋接器、預言機和市場安全。驗證者必須透過經認證的協定取得根和葉節點，並理解域分離、排序及奇數葉處理規則。

默克爾樹存在於多種設計中。比特幣把區塊交易的默克爾根放入每個區塊標頭；以太坊則用修改版默克爾-帕特里夏樹表示狀態及其他可驗證結構。它們共享構造思想，但編碼、證明格式、更新規則和安全假設不同，證明不能互換。

<a id="mechanism"></a>

## 工作原理

系統先定義確定性的葉節點編碼和雜湊函數，接著雜湊每片葉節點，把成對子節點雜湊成父節點，重複直到只剩一個根。當驗證者無法從協定推斷位置時，證明還必須包含葉節點位置或方向資訊。

對平衡二元樹而言，1024 片葉節點中的一片約需 10 個兄弟雜湊，因為每層覆蓋範圍都會加倍。實際大小還取決於樹形、雜湊長度、重複葉節點策略，以及是否使用多重證明或壓縮格式。

核心關係可以寫成 `parent = Hash(left || right)` 和 `root = fold(parent, leaves)`。這只是示意：協定可能為葉節點和內部節點加前綴、使用不同分支數，或在字典樹中編碼鍵。證明說明資料符合指定構造，但不能讓一個未經獨立信任的根獲得認證。

在區塊鏈中，根由區塊標頭、狀態記錄或合約承諾。輕用戶端或應用程式可以請求葉節點及其認證路徑，重新計算根，再套用協定的確認、最終性、新鮮度和可用性規則。雜湊驗證不能取代這些規則。

<a id="example"></a>

## 範例

假設一個區塊包含 1024 筆交易，並使用二元交易樹。一筆交易可以附帶約 10 個兄弟雜湊，而不是傳輸其餘 1023 筆交易。驗證者仍需要相關區塊標頭，以及交易編碼和定位規則。

如果證明失敗，應先檢查葉節點位元組、位元組序、樹填充、根的來源和區塊狀態，再判斷交易不存在。針對未最終確定或過時根的有效證明，在技術上可能正確，卻不再代表規範鏈狀態。

對於顯示餘額或獎勵的應用程式，應把證明有效性與經濟結果分開。顯示金額仍可能受手續費、價格變化、滑價、合約權限、提現限額或資料來源不可用影響。默克爾證明驗證的是承諾中的成員關係，不保證可贖回金額。

<a id="risks"></a>

## 風險

主要技術風險包括編碼含義不明確、誤用雜湊函數、二次原像或碰撞弱點、兄弟節點順序錯誤，以及接受來自不可信或過時來源的根。葉節點與內部節點之間的域分離有助於避免結構歧義，但必須一致實作。

執行風險位於雜湊計算之外。橋接器、預言機、排序器、交易所或合約管理員可能發布、延遲、審查或替換根；資料可用性故障可能阻止使用者取得葉節點或證明；鏈重組也可能使繫結在舊區塊上的證明失效。

依賴證明前，應確認誰認證根、如何檢查新鮮度和最終性、如何處理缺失或奇數葉節點，以及使用者能否獨立恢復資料。當錯誤根、簽署者被攻破、資料不可用或協定升級造成的損失無法界定時，應限制授權和曝險金額。

<a id="misconceptions"></a>

## 常見誤解

### 誤解 1：根相符就證明資料真實

它只證明所給葉節點在指定構造下與承諾根一致。如果預言機或營運者提交了錯誤值，證明仍會忠實驗證這個錯誤值。

### 誤解 2：默克爾證明讓整個系統無需信任

驗證者仍需信任雜湊函數、編碼規則、根的認證路徑以及提供資料的系統。共識、最終性、可用性和治理仍是獨立的安全問題。

### 誤解 3：每條區塊鏈都使用同一種默克爾樹

比特幣交易樹、以太坊修改版默克爾-帕特里夏樹和應用專用樹在布局及證明規則上不同。不能假設一個協定的證明格式適用於另一個協定。

### 誤解 4：證明很短就保證交易便宜且安全

證明大小能減少資料傳輸，但驗證 gas、儲存讀取、網路擁塞、合約漏洞以及提現或清算風險仍可能主導結果。

<a id="related"></a>

## 相關主題

- [區塊鏈](/zh-tw/crypto/blockchain/)
- [密碼學雜湊](/zh-tw/crypto/cryptographic-hash/)
- [輕用戶端](/zh-tw/crypto/light-client/)
- [以太坊](/zh-tw/crypto/ethereum/)
- [資料可用性](/zh-tw/crypto/data-availability/)

<a id="sources"></a>

## 來源

- [Blockchain Technology Overview](https://doi.org/10.6028/NIST.IR.8202) - NIST（存取：2026-08-21）
- [Merkle Trees](https://developer.bitcoin.org/devguide/block_chain.html#merkle-trees) - Bitcoin.org（存取：2026-08-21）
- [Merkle Patricia Trie](https://ethereum.org/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) - Ethereum Foundation（存取：2026-08-21）

Source: https://wiki.fcontext.com/zh-tw/crypto/merkle-tree/index.mdx
