﻿---
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-cn/crypto/blockchain/)
- [密码学哈希](/zh-cn/crypto/cryptographic-hash/)
- [轻客户端](/zh-cn/crypto/light-client/)
- [以太坊](/zh-cn/crypto/ethereum/)
- [数据可用性](/zh-cn/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-cn/crypto/merkle-tree/index.mdx
