区块链数据结构以及挖矿简易过程


区块链数据结构以及挖矿简易过程

  • 区块结构
  • 挖矿简易过程

区块结构 区块链的数据结构是由一个个区块以链的数据结构连接起来的,那么区块内的数据结构是怎么样呢?
首先一个区块内包括区块头和区块体,再往下细分的话,区块头中又包括了:索引(ID),时间戳,当前区块的hash值,前一个区块的hash值(previousHash),一个随机数(norce)目的是用来工作量证明。区块体中主要包含了所有的交易信息,交易信息主要是UTXO,记录了每一笔交易的输入输出。
用图形描述如下:
区块链数据结构以及挖矿简易过程
文章图片
索引:每一个区块的索引为前一个区块索引值+1
该区块的hash值:记录当前区块的hash值,计算公式为SHA256(前一个区块的hash值 + 交易信息 + 随机数)
时间戳:生成当前区块的时间戳,long类型
随机数:由计算得到,用来证明工作量,值越大说明工作量越多
挖矿简易过程 【区块链数据结构以及挖矿简易过程】首先初始化区块链,然后再初始化的区块链中进行挖矿。
具体过程如下:
(初始化区块链)创建空区块链 --> 创建初始区块
(挖矿)–>创建系统奖励的交易–>获取当前区块最后一个区块–>计算新区块的hash值(计算公式上文已经给出)–>验证hash值–>验证通过–>创建新的区块,打包交易信息并加入到区块链表中
用流程图描述如下:
区块链数据结构以及挖矿简易过程
文章图片

由上述过程可知:当执行转账行为后并不是能够从接受方直接查到转账记录,只有当任意一个矿工挖矿才能生成一个新的区块,该笔交易才会被记录到区块链中

    推荐阅读