什么是区块?区块结构深度解析

加密货币基础
更新于2026-08-21
103

区块是区块链按顺序提交的一批交易及其验证信息。区块头负责标识和连接历史,区块体保存交易等数据;具体字段会因网络而不同。

把区块理解成普通文件夹并不准确。节点会按严格编码与共识规则解析区块,任何字段错误都可能使整个区块被拒绝。

区块结构:区块头包含父区块哈希、数据根和共识字段,区块体保存交易列表

一个区块通常包含什么?

区块通常可以分成区块头和区块体。区块头体积较小,常包含父区块哈希、交易数据承诺、时间或高度相关字段,以及共识机制需要的信息。区块体主要保存按顺序排列的交易,某些网络还包含证明、提款或其他协议数据。

字段名称并不通用。比特币区块头包含版本、前序区块哈希、默克尔根、时间、难度目标和 nonce;以太坊区块则包含状态根、收据根、Gas 相关字段和执行负载等信息。介绍一种链的结构时,不能直接当作所有区块链的模板。

父区块哈希怎样形成链?

每个新区块引用其父区块的哈希,这让区块具有明确顺序。旧区块内容变化会造成哈希变化,子区块保存的引用随即失配。攻击者若想让替代历史被接受,还需重建后续区块并满足网络共识条件。

有时同一父区块会短暂出现两个子区块,形成竞争链头。节点会按分叉选择规则收敛,未被采用的分支不会继续作为主链历史。详细过程可见区块链分叉是什么

默克尔根怎样汇总交易?

许多区块链会先对交易计算哈希,再两两组合并继续哈希,直到得到一个根值。这个值称为默克尔根,是对整组交易及顺序的紧凑承诺。

默克尔树结构:多笔交易逐层计算哈希并汇总成区块头中的默克尔根

只要提供目标交易、同层相邻哈希和通往根节点的路径,就能验证该交易是否包含在这棵树中。证明大小随交易数量增长得较慢,适合轻量验证。但包含证明只说明交易被某个区块承诺,还需验证区块是否属于网络认可的链。

状态根和交易根有什么区别?

交易根承诺区块内的交易集合与顺序,状态根则承诺执行这些交易后形成的全局状态,例如账户余额和合约存储。并非所有链都使用账户状态根,UTXO 型网络更关注未花费输出集合与交易历史。

收据根、日志 Bloom 等字段又有不同用途。查看区块浏览器时,应先确认该网络的数据模型,不能把名称中带有根的字段都理解为同一份交易哈希。

区块大小或 Gas 限制有什么作用?

网络需要限制一个区块可容纳的数据或计算量,否则超大区块会拖慢传播与验证。比特币类网络通常按区块重量或大小约束,以太坊类网络常按 Gas 使用量约束执行工作。

限制越宽,单个区块可能处理更多内容,但节点带宽、计算和存储压力也会增加。限制越紧,拥堵时交易会竞争有限空间。协议需要在吞吐量、去中心化参与门槛和传播速度之间取舍。

区块高度、确认数和最终确定怎样区分?

区块高度表示它在链中的位置,创世区块通常记作高度 0。确认数描述某笔交易所在区块之后又累积了多少区块,页面口径可能把所在区块本身计为第一次确认。

最终确定则是共识层概念,表示历史被逆转的可能性已降到协议定义的程度。不同网络的最终确定机制不同,不能简单把同一个确认数套用到所有链。第一块的特殊之处可见什么是创世区块

节点收到区块后检查什么?

节点会验证区块编码、父区块、数据根、共识证明和资源限制,再检查或重新执行其中交易。只有所有必要条件都符合本地共识规则,区块才会进入节点认可的账本。

这解释了为什么区块生产者不能单方面决定规则。生产者负责提议,验证节点负责检查。完整交易流程可继续阅读区块链如何工作,各组件的整体关系则可回到区块链核心概念全解

常见问题

空区块真的一笔交易都没有吗?

空区块通常指没有普通用户交易,但仍可能包含创建新区块所需的系统交易、奖励记录或共识数据,因此字节内容不一定为空。

一个区块可以同时连接两个父区块吗?

传统线性区块链通常引用一个直接父区块。采用有向无环图或特殊合并结构的协议可能引用多个前序对象,需要按具体协议判断。

区块哈希就是整个区块文件的哈希吗?

不一定。以比特币为例,区块哈希来自区块头,而交易通过默克尔根承诺到区块头。不同网络的区块标识计算范围和编码规则不同。

区块被打满后还能插入交易吗?

不能直接修改已被网络接受的区块。未进入该区块的交易只能等待后续区块,或在协议允许时调整费用、替换待处理交易。

目录

推荐阅读

查看更多
Cosmos 生态:区块链互联网的愿景
加密货币基础
节点是什么?完整节点、轻节点、归档节点
加密货币基础
Base 链:Coinbase 的 L2 战略布局
加密货币基础