GitHub
深入技术
前一个区块

前一个区块

区块结构
字段大小格式描述
Version4 字节小端序区块版本号
Previous Block32 字节自然字节序前一个区块的区块哈希
Merkle Root32 字节自然字节序区块中包含的所有交易ID的默克尔根
Time4 字节小端序当前时间的 Unix 时间戳
Bits4 字节小端序目标值的紧凑表示
Nonce4 字节小端序随机数,用于尝试找到有效哈希
Transaction Count动态compact size区块中包含的交易数量
Transactions动态交易数据区块中包含的所有原始交易数据

Previous Block 表示当前区块的前一个区块的哈希值。正因为该字段, 每一个区块(除了创世区块)都连接到自己的前一个区块, 构成了链条一样的结构, 故被称为区块链

区块哈希

区块哈希是一个区块的唯一标识符, 它是由矿工根据区块头的内容计算出来的。计算区块哈希的过程称为挖矿, 只要计算出的区块哈希值小于当前的目标值, 即可成功挖矿。

例如:

计算区块哈希的结果是自然字节序(大端序), 在实际使用中, 以小端序显示, 如下是区块 481824 的区块头数据最后一次哈希计算结果:

Hash256 计算器

对给定的数据进行双重sha256 计算
16进制数据
结果
  • 区块哈希: 0000000000000000001c8018d9cb3b742ef25114f27563e3fc4a1902167f9893
  • 哈希结果: 93987f1602194afce36375f21451f22e743bcbd918801c000000000000000000

可以看出区块哈希是哈希结果的小端序显示。

衡量算力

衡量算力的标准是哈希率, 即每秒可以进行多少次 Hash256 计算。例如:

  • 1 H/s 表示每秒 1 次哈希计算。
  • 1 KH/s 表示每秒 1 千次哈希计算
  • 1 MH/s 表示每秒 1 百万次哈希计算。
  • 1 GH/s 表示每秒 1 亿次哈希计算。
  • 1 TH/s 表示每秒 1 万亿次哈希计算。
  • 1 PH/s 表示每秒 1 千万亿次哈希计算。
  • 1 EH/s 表示每秒 1 百万亿亿次哈希计算。

目的

区块头中包含前一个区块哈希是构建可信赖且防篡改的分布式账本的关键机制。这种设计巧妙地创造了一个密码学保护的链式结构,其中每个区块都与其前序区块紧密相连。若尝试篡改某个历史区块的内容,该操作将不可避免地导致该区块哈希值的改变。这种变化会产生连锁反应,使得所有后续区块与这个被修改的区块失去有效连接,进而导致从该点开始的整个区块链分支失效。

这种哈希链接机制不仅确保了单个区块的完整性,更保证了整个区块链数据的不可篡改性。它为比特币等加密货币提供了一个坚不可摧的信任基础,使得任何对历史记录的恶意修改尝试都能被网络中的参与者迅速检测并拒绝。

相关 RPC

根据最近的 n 个区块估算全网算力, 返回哈希率
参数列表
参数名类型必选默认值描述
nblocksnumber120从最近的多少区块中估算
heightnumber-1根据给定高度开始估算
返回值
名称类型描述
nnumber全网每秒哈希次数估算值
返回最长链最新区块的哈希值
返回值
名称类型描述
hexstring区块哈希值
Copyright © 2024 HeapUp