数据区块链 基于区块链块的数据解析

块是可以很好地计算元数据的数据结构。所有交易必须包含在有效块中才能视为最终交易。网络上的所有节点都将存储一个块的副本,以验证新交易并与其他节点共享数据。

基于区块链块的数据解析

块结构

是regtest网络的原始块。如您所见,这不是普通人能理解的。接下来,我们将学习如何从左到右对数据进行编码。

{块头} {交易计数器} {交易}

块头

{版本4B} {上一个块哈希32B} {merkle根哈希32B} {时间4B} {bits 4B} {立即4B}

·版本(4字节)-块格式版本。

·前一个块的哈希值(32个字节)是前一个块的哈希值。这很重要,因为该块的哈希值是从一开始就计算出来的,因此它取决于上一个块的值,然后每个新块都链接到下一个块。这是区块链中的连接。

·merkle根哈希(32字节)是该块中所有事务的merkle树的哈希值。如果任何事务被更改,删除或重新排序,它将更改merkle根哈希值。这就是将所有交易锁定在区块中的原因。

·TIme(4字节)-Unix时间戳(秒)。由于无法保证世界上每个节点的时钟都同步,因此只需要在其余网络的2小时之内进行同步即可。

·位(4个字节)-紧凑格式的目标哈希值。区块哈希必须等于或小于此值才被视为有效。

数据区块链_数字金 区块链_区块链 数据格式规范

·随机数(4个字节)-可以是任何4个字节的值,并且在挖掘过程中会不断更改,直到找到有效的块哈希值为止。

·版本01000000(1)

·上一个区块hash-0000000000

·merkle root hash-3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a

·TIme-dae5494d(1296688602 2011年2月2日,星期三,格林尼治标准时间)

·位—ffff7f20(7fffff000)

·nonce — 02000000(十进制2)

注意:请记住,比特币使用小尾数字节顺序格式,这似乎是倒退的。您可以使用提供的工具$ reverse_endian {hex}反转十六进制字符串的顺序。

交易

01(在1)块中进行交易

·事务计数器(可变长度)-用可变整数表示的块中的事务数。

标签:, ,