在区块链技术的世界里,数据结构的设计直接决定了系统的效率、安全性与可扩展性,以太坊作为全球第二大公链,其核心架构中藏着三棵至关重要的“树”——状态树(State Tree)、交易树(Transactions Tree)和收据树(Receipts Tree),它们共同构成了以太坊的“数据骨架”,不仅记录了链上的一切活动,更支撑着整个网络的运行逻辑,本文将深入解析这三棵树的结构、作用及协同机制,带你读懂以太坊的数据底层。
状态树:链上世界的“实时户口本”
状态树是以太坊最核心的数据结构,它存储了整个区块链网络的“实时状态”——即每个账户的当前信息,包括账户余额、 nonce(交易计数器)、代码(智能合约字节码)和存储数据(合约状态变量),状态树就像一本动态更新的“户口本”,记录了每个“居民”(账户)的详细信息。
状态树采用默克尔帕特里夏树(Merkle Patricia Tree, MPT)结构,这是一种结合了默克尔树和帕特里夏前缀树优化的数据结构,MPT的优势在于高效查询和更新:任何数据的变动(如转账、合约调用)都会导致状态树的局部或全局更新,而通过默克尔根(Merkle Root)——即树顶部的唯一哈希值,可以快速验证整个状态树的完整性。
当你向朋友发送ETH时,你的账户余额减少,朋友的账户余额增加,这两个变动会通过MPT反映到状态树中,状态树的默克尔根也会随之更新,这个根值会被打包到每个区块的头部,成为区块身份的“指纹”,如果没有状态树,以太坊将无法追踪账户状态,整个网络也将陷入混乱。
交易树:记录每一笔“行动指令”的“流水账”
如果说状态树是“静态”的户口本,那么交易树就是记录所有“动态行动”的流水账,每个区块中包含多笔交易(如转账、合约部署、函数调用),这些交易会被组织成一个默克尔树,即交易树。
交易树的核心作用是可追溯性与防篡改,每一笔交易都有唯一的哈希值,交易树将这些哈希值按规则组织起来,生成一个唯一的交易默克尔根,这个根值同样存储在区块头部,使得任何人都可以通过默克尔根验证区块内交易的完整性——只要一笔交易被篡改,其哈希值就会变化,导致交易树根值与区块记录的不符,从而被网络拒绝。
交易树还为轻客户端(如手机钱包)提供了便利,轻客户端无需下载完整区块,只需下载交易树的默克尔根和少量“证明路径”,即可验证某笔交易是否真实存在于区块中,大幅降低了数据同步成本。
收据树:交易的“回执单”与“历史档案”
与交易树直接记录交易不同,收据树存储的是每笔交易的“执行结果”,即交易收据(Transaction Receipt),你可以把它理解为寄快递后的“回执单”——不仅记录了“是否寄出”(交易是否成功),还记录了“派送详情”(交易结果、日志、Gas消耗等)。
交易收据包含关键信息:
- 状态:交易是否成功(如“1”表示成功,“0”表示失败);
- Gas使用情况:交易消耗了多少Gas;
- 日志:智能合约执行时产生的日志(如事件触发),这是DApp交互的重要数据来源;
- 合约地址:如果是合约部署交易,会生成新的合约地址。
收据树同样采用默克尔树结构,其根值也存储在区块头部,这一设计对以太坊的生态系统至关重要:
- 用户与开发者:通过收据树可以查询交易结果,例如确认ETH是否到账、合约函数是否执行成功;
- DApp与索引服务:如Etherscan等浏览器依赖收据树的日志数据,为用户提供交易历史、事件追踪等服务;
- 扩容方案:Layer 2扩容项目(如Rollups)会利用收据树提交交易证明,确保链下交易的可验证性。
三棵树的协同:以太坊的“数据铁三角”
状态树、交易树和收据树并非孤立存在,而是通过区块头部紧密协同,构成了以太坊的“数据铁三角”:
- 区块头部存储了三棵树的默克尔根(状态根、交易根、收据根),以及区块号、时间戳、Gas限制等元数据;

- 区块体则包含完整的交易列表(交易树的数据来源)和交易执行后的状态变更(状态树的数据来源);
- 执行流程:节点打包新区块时,会按顺序执行交易,更新状态树,生成交易收据,然后将交易和收据分别组织成交易树和收据树,最后计算三棵树的默克尔根并写入区块头部。
这种设计使得以太坊实现了“数据完整”与“高效验证”的平衡:任何人可以通过区块头部的三个默克尔根,快速验证整个区块的状态、交易和收据是否被篡改;MPT结构确保了海量数据的高效存储与查询。
三棵树,支撑以太坊的“数字世界”
以太坊的三棵树——状态树、交易树和收据树,分别承担了“记录当前状态”“追溯历史行动”“验证执行结果”的核心功能,共同构建了一个去中心化、可验证、抗篡改的数字世界,它们不仅是以太坊技术架构的基石,更是理解区块链“如何记录价值、传递信任”的关键钥匙。
随着以太坊向2.0(PoS+分片)演进,这三棵树的结构可能会进一步优化(如引入更多压缩算法),但其“通过默克尔根保障数据完整性”的核心逻辑将始终不变,对于区块链从业者或爱好者而言,深入理解这三棵树,就是打开了以太坊乃至整个区块链世界的“底层密码”。