以太坊的三大树,Merkle Patricia树/Merkle树与Bloom过滤器树解析
以太坊作为全球第二大公链,其底层架构中设计了多种精巧的数据结构,以实现高效的状态存储、交易验证和数据检索。“树”(Tree)结构是支撑以太坊数据一致性和可验证性的核心组件,本文将详细介绍以太坊中三种关键的树结构:Merkle Patricia树(MPT)、Merkle树(MT) 和 Bloom过滤器树(Bloom Filter Tree),解析它们的原理、作用及在以太坊生态中的具体应用。
Merkle Patricia树(MPT):状态与存储的“索引利器”
Merkle Patricia树(简称MPT)是以太坊中最核心的树结构,专为高效存储和检索账户状态、合约存储等数据而设计,它是Merkle树与Patricia Trie(前缀树)的结合体,兼具两者的优势:通过Patricia Trie压缩数据结构,减少存储空间;通过Merkle树保证数据的不可篡改性和快速验证。
核心原理
- Patricia Trie(基数树):一种压缩前缀树,通过共享公共前缀减少节点数量,适合存储键值对(如以太坊中的账户地址→账户状态),地址
0x123...和0x124...会共享前缀0x12,从而节省存储空间。 - Merkle树:将子节点的哈希值作为父节点的标识,最终生成一个唯一的“根哈希”(Root Hash),任何数据的修改都会导致根哈希变化,确保数据可验证。
以太坊中的MPT分为两种类型:
- 状态树(State Tree):存储所有账户的状态(余额、nonce、代码哈希、存储根哈希),键为账户地址,值为账户序列化后的数据。
- 存储树(Storage Tree):每个智能合约对应一个存储树,键为合约中的存储键(如
mapping的键),值为存储值。
以太坊中的作用
MPT是以太坊“状态同步”和“轻客户端验证”的基础,轻客户端无需下载全量数据,只需验证状态根哈希,即可确认账户或合约存储的有效性,当用户查询账户余额时,节点可通过MPT从根哈希逐步定位到对应地址的叶子节点,快速获取数据,同时验证路径上所有节点的哈希是否一致,确保数据未被篡改。
Merkle树(MT):交易数据的“完整性守护者”
Merkle树(又称哈希树)是以太坊中最早应用的树结构,主要用于保障交易数据的完整性和可验证性,与MPT不同,Merkle树的结构更简单,核心功能是通过哈希链实现数据的“防伪”。
核心原理
Merkle树的构建方式为:
- 将每笔交易生成唯一的哈希值(叶子节点);
- 两两配对哈希值,计算父节点的哈希;
- 重复上述步骤,直到生成一个根哈希(Merkle Root)。
以太坊的每个区块头(Block Header)中,都包含一个“交易Merkle根哈希”,该哈希由区块内所有交易通过Merkle树计算得出。
以太坊中的作用
Merkle树的核心价值在于高效验证交易是否属于区块,用户想证明某笔交易已被打包进区块,无需提供全量交易数据,只需提供该交易的哈希、其“兄弟节点”的哈希,以及从叶子节点到根节点的哈希路径,验证方通过计算路径上的哈希,若最终结果与区块头中的Merkle根哈希一致,即可确认交易的有效性,这一机制极大降低了轻客户端的数据验证成本,是比特币和以太坊共享的核心创新之一。
Bloom过滤器树:隐私检索的“高效筛子”
Bloom过滤器树并非严格意义上的“树”结构,而是由多个Bloom过滤器组成的“层级过滤”机制,主要用于以太坊节点快速判断数据是否可能存在于某个区块中,同时保护用户隐私(如避免直接暴露交易内容)。
核心原理
Bloom过滤器是一种概率型数据结构,用于判断一个元素是否“可能存在”或“一定不存在”于集合中,其特点包括:
- 高效性:插入和查询的时间复杂度均为O(k),k为哈希函数数量;
- 空间效率:占用空间远小于存储全量数据;
- 容错性:可能存在“假阳性”(判断存在但实际不存在),但不会“假阴性”(判断不存在但实际存在)。
以太坊中,每个区块生成一个

以太坊中的作用
Bloom过滤器树主要用于轻客户端的日志查询,DApp开发者需要监控特定地址的合约事件(如ERC20转账的Transfer事件),轻客户端可生成一个包含该事件主题的Bloom过滤器,向全节点发送查询请求,全节点通过Bloom过滤器快速筛选“可能包含目标事件的区块”,再返回具体数据,避免全节点暴露用户隐私(如交易金额、地址),这一机制在以太坊的“事件监听”(Event Listening)和链下数据索引(如The Graph协议)中至关重要。
三大树结构协同支撑以太坊生态
以太坊的三大“树”结构各司其职:Merkle Patricia树负责状态和存储的高效索引与验证,是“数据层”的基石;Merkle树保障交易数据的完整性,是“共识层”的信任锚点;Bloom过滤器树实现隐私保护下的高效数据检索,是“应用层”的隐私屏障,三者协同工作,共同构建了以太坊“去中心化、安全、高效”的底层架构,为智能合约、DeFi、NFT等生态应用提供了坚实的技术支撑,理解这三大树结构,是深入掌握以太坊原理的关键一步。