
先区分记录、状态与验证
区块链存储涉及几个不同问题:发生过什么、执行后留下什么结果、如何找到数据,以及如何核验数据。历史交易对应过程,状态对应执行结果,数据库负责保存和读取,哈希树则建立数据之间可验证的联系。理解术语时,先判断它回答哪个问题,通常比单独记住名称更有效。
区块、区块头与UTXO
比特币开发文档描述了两类连接:区块头通过前一区块头的哈希连接历史,交易通过引用先前的输出来使用资金。区块头中的 Merkle 根对应区块内的交易。UTXO 指尚未被花费的交易输出;区块高度表示位置,但分叉时同一高度可能存在不同区块。

这里的历史记录与可用状态需要分开理解。某个输出被花费后,其交易仍属于历史记录,但该输出已不再属于 UTXO。因而,“能在历史中查到”与“仍然可以被花费”是两个不同判断。

键值数据库与树路径
以太坊相关文档介绍的 MPT,即 Merkle Patricia Trie,将按路径检索与哈希验证结合起来。其节点包括分支、扩展和叶子:分支处理路径分岔,扩展压缩连续路径,叶子保存剩余路径及对应值。底层键值数据库保存节点数据,树上的一次检索可能涉及多次数据库读取。
键值数据库可以理解为按编号取出记录的工具,树路径则规定先取哪条记录、接着走向哪里。因此,数据库与树不是互相替代的两种存储方案,而是可以协同工作的不同层次。这里的“树节点”指数据结构中的元素,不是运行区块链软件的网络节点。
根哈希与Merkle证明
根哈希为树中数据提供紧凑的校验依据。Merkle 证明提供特定数据与根之间的验证信息,使验证者能够检查该数据是否与指定根一致。它的适用前提包括正确的编码和哈希规则,以及可信或已验证的根。
根哈希不能用来还原整份数据,也不是备份文件。证明某笔交易被某个区块包含,也不等于独立完成了该区块全部交易的有效性检查。数据包含关系、执行有效性和链的选择,分别需要对应的验证机制。
常见误区与适用范围
“不可篡改”不表示本地磁盘上的字节无法被修改,而是修改会破坏可核验的对应关系,历史改写还受到共识机制约束。哈希安全也依赖密码学假设,不宜表述为数学上绝无碰撞。
不同系统可以采用不同的状态模型和存储结构。比特币的 UTXO 与以太坊文档中的状态树不能直接互换;理解某个系统时,应分别确认其保存的数据、检索方式与验证规则,避免把一个项目的实现推广为所有区块链的共同设计。