至诚-中国金融理财门户网站 首页 |  财经 |  证券 |  新股 |  理财 |  投资 |  直播 |  宝箱 |  行情 |  分析师 |  客户端  用户投稿

区块链挖矿的本质是什么

2018-05-14 10:29 来源: 网络

  至诚财经网(www.zhicheng.com)5月14日讯

  区块链是比特币的核心与基础架构,是一个去中心化的账本系统。那么区块链中的挖矿是什么意思?本质是什么?

  区块:可以理解为一张空白纸。正如一张白纸不能无限大一样,区块也有大小限制,比特币最初的大小限制在1M字节,一个区块就是存在电脑上的一个文件。一个区块分为两部分,分别是“区块头”和“区块体”,其中区块头用来记录一些说明信息,而区块体是用来记录“交易”的列表。注意,是列表,真正的数据记录在客户端的数据库中。

  区块头:区块头共有六个字段,分别是版本号、前一区块的哈希值、梅克尔根、预设的难度值、时间戳、要寻找的随机数。

  (1)版本号:用于区分软件的升级换代。在一段时间内不变且相同。

  (2)前一区块的哈希值。实际就是前一区块头的哈希值。成链就靠它了,10分钟的“挖矿”过程,所有“矿机”中这个值不变且相同。

  (3)预设的难度值。10分钟内所有“矿机”中这个值不变且相同。

  (4)梅克尔根。这也是一个哈希值,它是由列表中的每个交易两两递归生成的一个总哈希值。交易随时在到来,因此这个总哈希随时在变,而且因为网络延迟、交易优先级等诸多问题,每个结点记录的列表不一定相同。因此,梅克尔根是一个变化值且与其它节点不相同。

  (5)时间戳。这也是一个变化值,几秒钟就会改变。

  (6)要寻找的随机数。这个就是要获得挖矿奖励的核心要素,也就是“矿机”穷尽算力要寻找的那个随机数值。

  挖矿过程就是对以上这六个字段进行一系列的转换、连接和哈希运算,并随着不断一个一个试要寻找的随机数,最后成功找到一个随机数满足条件:经过哈希运算后的值,比预设难度值的哈希值小,那么,就挖矿成功了,节点可以向邻近节点进行广播该区块,邻近节点收到该区块,对以上六个字段进行同样的运算,验证合规,再向其它结点转播,其它结点也用同样的算法进行验证,如果全网有51%的结点都验证成功,这个区块就算真正地“挖矿”成功了,每个结点都把这个区块加在上一个区块的后面,并把区块中与自己记录相同的列表删除,再次复生上述过程。

更多精彩
    关闭