区块链1.0学习心得(中)

版权声明:此为个人学习与研究成果,若需转载请提前告知。 https://blog.csdn.net/weixin_35811044/article/details/84504759

2.区块(block)

比特币区块就是比特币交易的集合,由矿工创建,然后收集比特币交易放入区块中。一个区块大小限制为1 Mbyte,平均一个比特币交易至少是250Byte,所以一个区块最多可容纳4000左右个交易。

  • 区块结构:

大小

字段

描述

4 Byte

区块大小

用字节表示的该字段之后的区块大小

80 Byte

区块头

区块头结构

1-9 Byte

交易数

比特币交易的数量

可变的

交易

记录在区块里的交易信息

 

  • 区块头结构:

大小

字段

描述

4 Byte

版本

版本号,用于跟踪软件/协议的更新

32 Byte

父区块哈希值

引用区块链中父区块的哈希值

32 Byte

Merkle根

该区块中交易的merkle树根的哈希值

4 Byte

时间戳

该区块产生的近似时间(精确到秒的Unix时间戳)

4 Byte

难度目标

该区块工作量证明算法的难度目标

4 Byte

Nonce

用于工作量证明的随机数值

 

父区块哈希值,这组数据用于将该区块与区块链中前一区块相连接。

难度目标、时间戳、和nonce,与挖矿竞争相关。

merkle树根,一个用来总结区块中所有交易的哈希值。

 

 

  • Merkle树根:

在比特币网络中,Merkle树被用来归纳一个区块中的所有交易,同时生成整个交易集合的数字指纹(哈希值),且提供了一种校验区块是否存在某笔交易的高效途径。

生成一棵完整的Merkle树需要递归地对哈希节点对进行哈希,并将新生成的哈希节点插入到Merkle树中,直到只剩一个哈希节点,该节点就是Merkle树的根。

在比特币的Merkle树中使用两次SHA256算法,因此其哈希算法也被称为double-SHA256。

当N个数据插入Merkle树时,至多计算2*log (N)次就能检查出任意某数据元素是否在该树中,这使得该数据结构非常高效。

若交易数不是偶数时,复制最后一笔交易以完成Merkle树

 

  

 

 

  • 创币交易:

区块中的第一笔交易(序号为0),称为创币交易或者Coinbase交易。

这个交易是由矿工节点建构,矿工节点会创建向矿工自己的地址支付一笔比特币”这样的一个交易,作为挖掘区块的奖励发送到自己的钱包。创币交易不会包含输入,仅有一个被称为 coinbase 的输入,用来创建新的 Bitcoin,而输出为此胜利矿工的 bitcoin address。奖励金额是Coinbase奖励(目前为12.5个全新的比特币)和区块中全部交易小费的总和。

Coinbase奖励额的计算是基于区块高度的,以每个区块50个比特币为开始,每产生210,000个区块(约四年)减半一次。2017/9 的奖励额是12.5个比特币。到最后将不会再有新的比特币产生。

创币交易结构:

长度

字段

描述

32 Byte

交易哈希值

不引用任何一个交易,值全部为0

4 Byte

交易输出序号

不引用任何一个交易,值全部为1

1-9 Byte

Coinbase数据长度

Coinbase数据长度

可变长度

Coinbase数据

在v2版本的区块中,除了需要以区块高度开始外,其他资料可以任意填写,用于extra nonce和挖矿标签

4 Byte

顺序号

值全部为1,0xFFFFFFFF

以区块277,316为例:

Coinbase数据字段值为:03443b0403858402062f503253482f

  • 第一个字节是03,表后面3个字节0x443b04,是以小端格式(litter ending,最低有效字节在先)编码的区块高度。翻转字节序得到0x043b44,表示为十进制是277,316。
  • 紧接着的5 byte十六进制数(0385840206)用于extra nonce是一个随机值,以改变这5 byte,进而改变Merkle根值,配合区块头的4byte nonce,从而使区块头之哈希值小于难度目标,而解得适当的工作量证明。
  • 结尾部分(2f503253482f)是ASCII编码字符 /P2SH/,表示挖出这个区块的挖矿节点支持BIP0016所定义的pay-to-script-hash(P2SH)改进方案。

 

3.链(chain):

区块链顾名思义,链其实就是链接区块的链。

仅为个人理解,如有不足,请指教。 https://blog.csdn.net/weixin_35811044

猜你喜欢

转载自blog.csdn.net/weixin_35811044/article/details/84504759
今日推荐