区块链原理学习-区块链结构

  • Post author:
  • Post category:其他



区块链包括区块链头、序列化区块链、交易、钱包和P2P网络。区块链头包括版本号、前一区块链头哈希、默克尔树根节点、时间戳、区块复杂度、工作量值。其具体的关系如下表所示:

序号

位数

名称

数据类型

描述

1

4

版本号

int32

区块链版本号用于确定区块集的验证规则;

2

32

前一区块头的哈希值

char

一个SHA256的哈希值,这保证迁移区块不能保证

3

32

默克尔树根哈希

char

一个SHA256哈希值。默克尔树是由此区块的所有交易生成。其确保交易的不可变动性。

4

4

时间戳

uint32

时间戳是一个Unix时间,它记录矿工开始挖矿的时间。它的值要大于之间的11个区块的时间戳。另外,
其他区块不接受2小时之后的时间戳。

5

4

nbits

uint32

一个加密的困难值,区块的头哈希必须小于或者等于它的值。

6

4

nonce

uint32

矿工产生的一个小于等于困难值的哈希。


一个区块链头的例子:



02000000 ……………………… Block version: 2

b6ff0b1b1680a2862a30ca44d346d9e8
910d334beb48ca0c0000000000000000 ... Hash of previous block's header
9d10aa52ee949386ca9385695f04ede2
70dda20810decd12bc9b048aaab31471 ... Merkle root

24d95a54 ........................... Unix time: 1415239972
30c31b18 ........................... Target: 0x1bc330 * 256**(0x18-3)
fe9f0864 ........................... Nonce
区块链版本:根据比特币的不同软分叉,形成了不同的版本,目前的版本分为1,2,3,和4.
默克尔树是由区块的TXIDS构成,其构成按照一定的一致性规则形成。形成的规则包括:创始快必须是第一个;一个输入可以消费一个输出。按照从小到上的规则形成默克尔树根。例如Example Merkle Tree Construction
区块链的结构分为区块头、压缩大小和原始交易信息。链创始者能够得到原始的区块奖励,最初50个比特币奖励,每四年减半。
区块链中的交易包括区块操作符、地址转换、交易格式、压缩签名和交易值。
参考文献:
https://bitcoin.org/en/developer-reference#opcodes



版权声明:本文为sunhaidong886原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。