第三章:区块链数据结构

ⅰ亾dé卋堺 提交于 2020-01-07 08:33:33

1、概述

区块链由一个个的区块链接起来,形成一个单向链。每个区块保留了上一个区块的hash值(hash值可以理解为区块的唯一标志),这样区块就形成了一条单向链。
在这里插入图片描述
每个区块内部由区块头、区块体两部分组成。区块链是单向链,子区块会记录服区块的hash值,父区块不记录子区块的hash值。
原因是先有的父区块,父区块添加到链上之后,内容就不能再更改了,这时候才创建的子区块,此时无法再对父区块的内容进行更改。
在这里插入图片描述

2、区块头

我们看一个实际的区块头的例子,访问地址为:https://www.blockchain.com/btc/block/607016
在这里插入图片描述
我们按照属性的重要程度,来介绍一下各个属性的含义:

序号 属性名称 属性描述
1 hash 摘要值,该区块的唯一标识,是对区块中所有内容进行摘要得到的。
2 PrevHash 上一区块的摘要值。图中没有体现,但是肯定是存在的。
3 Nonce 随机数,区块链工作量证明的目标是要生成一个满足指定条件的hash,区块中的内容是固定的,为了能生成不同的hash值,引入了Nonce。拿到了正确的Nonce,就能获取到满足条件的hash。该hash值即是属性1。
4 Difficulty 难度值,该值会对目标值造成影响。难度值越大,目标值越小。
5 Bits 目标值,生成的hash值需要小于该值
6 Timestamp 时间戳,区块的创建时间。
7 Merkle root 默克尔树根的hash值,是该区块所有交易信息的hash值。
8 Version 版本号。
9 Confirmations 确认次数,等价于该区块之后的区块数量。
10 Height 高度值,从创世区块开始(高度为0),每增加一个区块,高度加1。但是如果有分支的话,该值会出现重复值。
11 Miner 矿工,记录该区块的节点
12 Number of Transactions 交易的数量
13 Transaction Volume 交易总金额
14 Block Reward 矿工奖励,币基交易
15 Fee Reward 手续费,也属于对矿工的奖励
16 Weight 是隔离见证(Segregated Witness)技术激活之后用来计算区块大小的方式,详细情况后面专门开个章节介绍。
17 Size 区块总大小

3、区块体

区块的例子:https://www.blockchain.com/btc/tx/b7b30d704295bf9c0c5c0beee6bfda6044a02cf8b584d534deafcd3b84534d57
在这里插入图片描述
在这里插入图片描述

序号 属性名称 属性描述
1 hash 摘要值,该交易的唯一标识,是对交易中所有内容进行摘要得到的。
2 inputs.address 付款方的地址,就是支付人。
3 inputs.value 付款方支付的金额。
4 inputs.index 交易的下标从0开始。
5 inputs.pkscript 加锁脚本,该脚本在交易验证过程中起到决定性作用。
6 inputs.Sigscript 解锁脚本,该脚本在交易验证过程中起到决定性作用。
7 inputs.witness 证人,不知道做什么用的?
8 outputs.address 收款方的地址,就是收款人。
9 outputs.value 收款方收到的金额。
10 outputs.index 交易的下标从0开始。
11 outputs.pkscript 加锁脚本,该脚本在交易验证过程中起到决定性作用。
12 Status 状态,不知道流转图是什么?
13 Received Time 交易广播到网络的时间
14 Size 交易数据的大小
15 Weight 是隔离见证(Segregated Witness)技术激活之后用来计算交易大小的方式,详细情况后面专门开个章节介绍。
16 Included in Block 交易所属的区块
17 Confirmations 确定的次数,需要明确是什么次数,区块还是交易?
18 Total Input 总支付金额
19 Total Output 总收取金额
20 fee 手续费=Total Input-Total Output
21 Fee per byte =fee/size
22 Fee per weight unit =fee/weight
23 Value when transacted 比特币转换为美元的价格

4、参考资料

解密比特币的那些核心技术原理

理解与计算比特币难度值Difficulty

下章介绍如何抢夺区块记账权。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!