一本书读懂区块链(第2版)
上QQ阅读APP看书,第一时间看更新

1.4.1 区块

区块是在区块链上承载交易数据的数据包,是一种被标记上时间戳和之前一个区块的哈希值的数据结构,区块经过区块链的共识机制验证并确认区块中的交易。

一个完整区块的基本构成如图1-3所示。

图1-3 区块构造示意图

1.区块头/Block Header

记录当前区块的元信息,包含当前版本号、上一区块的哈希值、时间戳、随机数、Merkle根节点的哈希值等数据。区块体的数据记录通过Merkle树的哈希过程生成唯一的Merkle树根节点的哈希值记录于区块头。

2.区块体/Block Body

记录一定时间内所生成的详细数据,包括当前区块经过验证的、区块创建过程中生成的所有交易记录或是其他信息,可以理解为账本的一种表现形式。

3.时间戳/Time Stamp

时间戳是指从区块生成的那一刻起就存在于区块之中,是用于标识交易时间的字符序列,具备唯一性。时间戳用以记录并表明存在的、完整的、可验证的数据,是每一次交易记录的认证。

4.区块容量/Block Size

区块链的每个区块都是用来承载某个时间段内的数据的,每个区块通过时间的先后顺序,使用密码学技术将其串联起来,形成一个完整的分布式数据库,区块容量代表了一个区块能容纳多少数据的能力。

5.区块高度/Block Height

一个区块的高度是指该区块在区块链中它和创世区块之间相隔的块数。