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

行业资讯

区块链账本存储方法涉及哪些技术概念

摘要

区块链账本存储涉及区块与哈希链接、Merkle树、状态模型、序列化、键值数据库及共识验证。理解这些概念,需要区分历史记录、当前状态和底层存储,并明确数据证明与完整验证的边界。

区块链价格波动率的科技主题配图

账本存储包含哪些层次

区块链账本存储方法涉及哪些技术概念,可以从数据组织、状态表达、持久化存储和一致性验证四个层次理解。数据组织决定记录如何关联,状态表达描述执行交易后的结果,持久化存储负责保存字节,一致性验证则决定节点接受哪些记录。

这些层次相互配合,却不能彼此替代。数据库能保存数据,不代表数据符合共识规则;哈希能帮助核对内容,也不代表节点已经取得完整内容。

区块链价格预警的科技主题配图

比特币示例:区块、哈希与UTXO

比特币开发者指南介绍了三组相关概念:区块头引用前一区块头的哈希,交易通过Merkle树汇总为根;UTXO表示尚未花费的交易输出;全节点独立验证区块,并在有效分支中依据累计工作量选择链。它们分别服务于历史关联、可花费状态判断和账本一致性。

区块链行情数据api的科技主题配图

以太坊示例:状态树与编码

以太坊开发文档描述的Merkle Patricia Trie结合了按键路径检索、路径压缩和哈希校验。相关节点通过RLP编码,较大节点可用编码内容的哈希作为数据库键,较小节点可嵌入父节点。文档还区分状态根、交易根和收据根,体现不同数据集合各自具有可验证摘要。

逻辑结构与物理存储如何区分

树结构描述数据之间的关系,底层键值数据库负责保存和取回具体内容。沿树路径查找一个值,可能需要多次访问数据库,因此不能把一次树查询等同于一次数据库读取。

序列化规定结构化数据如何变成字节,哈希再对这些字节计算摘要。需要跨节点核对数据时,编码规则必须明确,否则相同含义的数据可能因字节表达不同而得到不同摘要。

适用条件与常见问题

需要核对某条记录是否属于特定数据集合时,Merkle类证明很有用,前提是验证者已有可信或经过验证的根。证明能够支持包含关系判断,但不能单独证明交易满足全部执行规则,也不能保证完整数据始终可获取。

根哈希能替代原始账本吗?不能。它是用于核验的摘要,无法直接还原所有记录。区块高度能唯一标识区块吗?存在分叉时,同一高度可能对应多个区块。不同链是否采用相同存储方法?也不能这样推断;UTXO与账户状态树体现了不同设计,具体实现需要结合各自协议判断。

← 返回全部文章

延伸阅读 · 相关栏目

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