比特币区块链的一个区块不能超过 1 MB,将主要包括如下内容:
- 区块大小:4 字节;
- 区块头:80 字节:
- 交易个数计数器:1~9 字节;
- 所有交易的具体内容,可变长,匹配 Merkle 树叶子节点顺序。
- 其中,区块头信息十分重要,包括:
- 版本号:4 字节;
- 上一个区块头的 Hash 值:链接到上一个合法的块上,对其区块头进行两次 SHA256 操
作,32 字节;
- 本区块所包含的所有交易的 Merkle 树根的哈希值:两次 SHA256 操作,32 字节;
- 时间戳:4 字节;
- 难度指标:4 字节;
- Nonce(编码形式为nBits):4 字节,PoW 问题的答案。
可见,要对区块链的完整性进行检查,只需要检验各个区块头部信息即可,无需获取到具体
的交易内容,这也是简单交易验证(Simple Payment Verification,SPV)的基本原理。另
外,通过头部的链接,提供时序关系的同时加大了对区块中数据进行篡改的难度。
一个示例区块如下图所示。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。