块是一种数据结构,可以很好地计算元数据。所有交易都必须包含在一个有效的块中,才能被认为是最终的。网络上的所有节点都将存储一个块的副本,以验证新的交易并与其他节点共享数据。
块结构
是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字节)就是上一个块的哈希值。这一点很重要,因为块的哈希值是从最开始计算的,因此取决于前一个块的值,然后将每个新块与接下来的块联系起来。这是区块链中的连接。
· 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(7fffff0000000000000000000000000000000000000000000000000000000000)
· nonce — 02000000 (decimal 2)
注意: 请记住,比特币使用的是小端字节顺序的格式,这可能看起来是倒着的。您可以使用所提供的工具$reverse_endian{hex}来反转十六进制字符串的顺序。
交易
01(1)块中的交易
· 交易计数器(可变长度)——块中以可变的整数表示的交易数。
相关热词:#区块链
RS485基本知识介绍
时间:2026-04-18
什么是激光雷达?激光雷达的构成与分类
时间:2026-04-18
Excelpoint - 一文了解SiC MOS的应用
时间:2026-04-18
什么是磁电阻器?磁电阻特性及应用
时间:2026-04-18
什么是电场?电场在电容器中的应用
时间:2026-04-18
什么是ARM64?
时间:2026-04-17
vga和hdmi的区别
时间:2026-04-17
什么是ESD?ESD及TVS的原理和应用
时间:2026-04-17
开关电源原理与维修完整版 (10)_标清视频
时间:2026-04-16
开关电源原理与维修完整版 (11)_标清视频
时间:2026-04-16
GoKit3的硬件电路原理
时间:2026-03-06
基于N32G457和RT-Thread打造的私有化定制家...
时间:2026-03-06
如何搭建一个私有云平台
时间:2026-03-06
物联网的前世今生:什么是物联网?实现物联...
时间:2026-03-06
基于 STM32和机智云物联网平台的农作物需水...
时间:2026-03-06
xG22E SoC以能量采集技术实现“环境物联网”...
时间:2026-03-06
物联网的发展历程及技术特征
时间:2026-03-06
朗骏智能推出四款全新的可联网智能光控产品
时间:2026-03-06
物联网中常用指令——AT命令
时间:2026-03-06
为什么使用MQTT而不是HTTP?
时间:2026-03-06