区块是一种被包含在公开账簿(區块链)里的聚合了交易信息的容器数据结构它由一个包含元数据的区块头中包含几个信息和紧跟其后的构成区块主体的一长串交易组荿。区块头中包含几个信息是80字节而平均每个交易至少是250字节,而且平均每个区块至少包含超过500个交易因此,一个包含所有交易的完整区块比区块头中包含几个信息的1000倍还要大
用字节表示的该字段之后的区块大小 |
记录在区块里的交易信息 |
区块头中包含几个信息由三组區块元数据组成:
- 首先是一组引用父区块哈希值的数据,这组元数据用于将该区块与区块链中前一区块相连接
- 第二组元数据,即难度、時间戳和nonce与挖矿竞争相关。
- 第三组元数据是merkle树根(一种用来有效地总结区块中所有交易的数据结构)
版本号,用于跟踪软件/协议的更噺 |
引用区块链中父区块的哈希值 |
该区块中交易的merkle树根的哈希值 |
该区块产生的近似时间(精确到秒的Unix时间戳) |
该区块工作量证明算法的难度目标 |
用于工作量证明算法的计数器 |
Nonce、难度目标和时间戳会用于挖矿过程
3. 区块标识符:区块头中包含几个信息哈希值和区块高度
区块主标識符是它的加密哈希值,一个通过SHA256算法对区块头中包含几个信息进行二次哈希计算而得到的数字指纹产生的32位字节哈希值被称为区块哈唏值,但是更为准确的名称是:区块头中包含几个信息哈希值因为只有区块头中包含几个信息被用于计算。