区块头
什么是区块头?
区块头是一种识别区块链网络内部生成的各个区块的方法,每个区块都包含自己的个性化区块头,以方便跟踪协议修改。它用于处理区块链中的所有块。它拥有所有元数据,包括区块的时间和难度级别、交易的 Merkle 根和随机数。
从“创世块”开始,块按顺序堆叠,每个块头包含三组块信息和其他独特组件,包括:
- 前一个区块的哈希值
- 矿工使用的随机数
- 比特币版本号
- 区块的时间戳
- 默克尔根
- 区块的难度目标
区块头经常在比特币开发者文档中使用,因为它们可以更轻松地以更快的速度记录任务。整个区块链可以保存为平面文件或简单的数据库,就像垂直堆栈一样。
块头中包含三组块元数据。这些块被放置在彼此的顶部,初始块作为基础。区块的高度继续上升,直到到达区块链的末端并且序列完成。使比特币高度安全的因素之一是每个序列的层次和丰富的历史。
作为正常挖矿活动的一部分,矿工通过更改随机数值定期对块头进行哈希处理。他们的目标是通过这次活动建立工作量证明,这将使他们能够因保持区块链系统平稳有效运行的努力而获得补偿。
区块头非常适合挖矿,但由于其大小适中,因此对于轻客户端也很有用。比特币区块链太大,无法存储在移动设备上。另一方面,相同块的块头仅占用 0.008GB,即 8MB 的存储空间。
带宽或存储容量有限的设备仍然可以通过这种方式进行一些验证。他们随后可以检查交易是否包含在特定区块中,因为 Merkle 根包含所有交易。这是有代价的:用户仍然必须依赖第三方来为他们提供他们想要的信息。另一方面,轻客户端比用户根本不完成验证的系统更可取。
在区块链网络中,Merkle 根是构成区块的所有交易的哈希值(所有哈希值的哈希值)。提供时间戳是为了让所有项目参与者都可以查看特定事件发生时间的永久封装记录。它通常显示事件的日期和时间,并且通常精确到几分之一秒。
难度目标用于调整矿工解决该区块的难度。随机数是一个变量,矿工可以调整它以在序列中产生不同的排列和有效的哈希值。
总之,区块头用于定位区块链内的某些区块。它们被散列以换取挖矿支出以提供工作证明。