如何理解构成比特币区块链块的数据

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

块结构

$ biTCOin-cli -regtest getblockhash 0 
0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206
$ bitcoin-cli -regtest getblock 0f9188f13cb7b2c71f2a335e3a4fc328bf5beb436012afca590b1a11466e2206 0

0100000000000000000000000000000000000000000000000000000000000000000000003ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4adae5494dffff7f20020000000101000000010000000000000000000000000000000000000000000000000凯时ag娱乐APP下载安装注册000000000000000ffffffff4d04ffff001d0104455468652054696d65732030332f4a616e2f32303039204368616e63656c6c6f72206f6e206272696e6b206f66207365636f6e64206261696c6f757420666f722062616e6b73ffffffff0100f2052a01000000434104678afdb0fe5548271967f1a67130b7105cd6a828e03909a67962e0ea1f61deb649f6bc3f4cef38c4f35504e51ec112de5c384df7ba0b8d578a4c702b6bf11d5fac00000000

是regtest 网络的起源块,正如你所看到的,它并不是一个正常的人所能够看懂的。接下里,我们将学习数据是如何从左到右编码的。

{block header} {transaction counter} {transactions}

块头

{version 4B} {previous block hash 32B} {merkle root hash 32B} {time 4B}{bits 4B} {nonce 4B}

version(4个字节)-块格式版本。
以前的块哈希(32字节)就是上一个块的哈希值。这一点很重要,因为块的哈希值是AG环亚娱乐开户 从最乐橙app官方下载安装注册开始计算的,因此取决于前一个块的值,然后将每个新块与接下来的块联系起来。这是区块链中的连接。
merkle root哈希(32字节)也就是块中所有交易的merkle树的哈希值。如果任何交易被更改、删除或重新排序,它将更改merkle root哈希值。这就是要锁定块中所有交易的原因。
time(4字节)—Unix时间戳(秒)。由于世界各地每个节点的时钟都不能保证同步,因此只需要在网络其余部分的2小时内同步即可。
bits(4字节)——紧凑格式的目标哈希值。块哈希必须等于或小于这个值,才能被认为是有效的。
nonce(4字节)——可以是任何4字节的 亚美手机网页注册值,并且在挖掘过程中不断更改,直到找到一个有效的块哈希值。



版本- 01000000 (1)
上一个块哈希——000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

merkle root 哈希- 3ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a
time — dae5494d (1296688602 Wednesday, February 2, 2011 11:16:42 PM GMT)

bits  —ffff7f20(7ff亚美娱乐APP下载安装注册fff0000000000000000000000000000000000000000000000000000000000)

nonce — 02000000 (decimal 2)

注意: 请记住,比特币使用的是小端字节顺序的格式,这可能看起来是倒着的。您可以使用所提供的工具$reverse_endian{hex}来反转十六进制字符串的顺序。

交易

01(1)块中的交易
交易计数器(可变长度)——块中以可变的整数表示的交易数。

来源:区块网

󰄼 赞 0 󰄯 分享

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处: 如何理解构成比特币区块链块的数据