区块链 · 数字资产知识 · 行业资讯
文章库关于本站

政策资料

区块链存储规则相关术语如何理解:从哈希到状态树

摘要

理解区块链存储规则,需要区分数据如何组织、如何验证以及按什么规则被接受。本文结合比特币和以太坊的相关技术概念,解释区块头、Merkle根、UTXO与Merkle Patricia Trie,并说明证明的适用条件和常见误解。

玻璃文档与棱镜的原创资料研究概念插画

先区分存储结构与共识规则

“区块链存储规则”涉及不同层面:存储结构描述数据怎样排列和关联;编码规定数据怎样表示为字节;共识规则决定节点接受哪些交易和区块。理解术语时,先判断它回答的是组织、表示还是验证问题,可以避免把数据库实现细节误当成全网统一要求。

比特币:区块头、Merkle根与UTXO

比特币开发者指南描述了两种关联:区块头引用前一区块头的哈希,交易哈希则通过Merkle树汇总成区块头中的根。UTXO指尚未花费的交易输出,是验证普通交易输入的重要依据。节点独立验证区块;分叉时,同一高度可能出现不同区块,因此高度不能唯一标识区块。

这些术语各有用途:区块高度表示位置,区块哈希用于识别区块,Merkle根用于核验交易集合,UTXO用于判断输出是否尚可花费。它们不能彼此替代。

以太坊:路径、节点与状态根

以太坊开发者文档介绍的Merkle Patricia Trie结合了按路径查找、路径压缩和哈希验证。分支节点表示路径分歧,扩展节点压缩连续路径,叶节点保存剩余路径和值。nibble是四位数据,对应一个十六进制字符;RLP用于编码节点。区块头中的stateRoot、transactionsRoot和receiptsRoot分别关联状态、交易和收据树。

理解这些名称,可以沿着“键形成查找路径,路径连接节点,节点关联具体值”的顺序展开。状态根是对状态结构的密码学承诺,不能直接当作账户明细读取。

证明在什么条件下有用

Merkle证明利用目标数据及必要的路径信息,让验证者检查它是否与某个根匹配。适用前提是验证者已经确定需要核验的根及其所属区块。证明与任意一个根匹配,并不足以说明它对应网络认可的记录。

包含证明回答的是某条记录是否包含在指定结构中。它本身不等同于完整的交易有效性检查,也不能代替共识规则验证。

常见问题:哈希是否意味着永久保存

哈希是摘要,无法据此还原完整原文。保存根值与保存全部数据是不同任务;能够核验数据,也不意味着随时能够取得数据。

“不可篡改”应理解为修改会破坏原有哈希关联,并受到验证规则和共识机制约束。哈希安全依赖密码学假设,不宜表述为数学上绝无碰撞。不同链使用的数据结构和状态模型也有差异,不能把某条链的术语直接推广到所有区块链。

← 返回全部文章

延伸阅读 · 相关栏目

行业资讯研究与报告政策资料交易平台观察