首页 > 百科 > 浅析区块链的哈希值和工作量证明

浅析区块链的哈希值和工作量证明  百科

2018-11-09   17:02             评论:0         阅读:

众所周知,区块链技术就是一个分布式的账本,其本身具备着安全以及可溯源的属性,是以太坊系统的核心,可以储存网络上的所有事务。而区块链的每一个板块中都含有前任的哈希值,然后建立一个链,从而就形成了数据信息的可追溯性。

  众所周知,区块链技术就是一个分布式的账本,其本身具备着安全以及可溯源的属性,是以太坊系统的核心,可以储存网络上的所有事务。而区块链的每一个板块中都含有前任的哈希值,然后建立一个链,从而就形成了数据信息的可追溯性。那么什么是哈希值和工作量证明呢?

 

  在其他有用的信息中,包含两件事物:Merkle树和Nonce值。第一个用于事务验证,第二个用于挖掘流程。

 

浅析区块链的哈希值和工作量证明

 

 

  Merkle树

 

 

  通常如果要验证块中事务的有效性,需要确保每个事务中都不修改哈希值。要以可伸缩的方式实现这一点,可以使用一种称为Merkle树的特殊数据结构。使用这种结构,您不必遍历块中的所有事务来验证有效性。你只需要穿过一条Merkle的叶节点就可以做到这一点。Merkle树是一种数据结构,用于在一个块中存储整个事务列表的数字签名。它在二进制哈希值树的帮助下以一种有效的方式验证事务的完整性。它的叶节点包含一个块的各个事务的哈希值。每个非叶节点哈希值都是它的两个子节点的哈希值构成的。然后,这个树的根节点包含在所有相关事务的块中。

 

  Merkle树允许节点仅从Merkle上下载块的根部和少量节点来验证事务。在图2所示的示例中,只需要节点Hash(D)就可以在块中添加Hash(AB)和Hash(EFGH)来证明事务Hash h(C)的存在。这个验证需要平均O(log n)的时间,并且最多是O(n)的时间,因为结构与二叉搜索树相同。如果攻击者将无效事务偷偷带入树底部的某个位置,则该事务的哈希值向上传播到根节点,并将使整个块的哈希值无效。

 

 

        Nonce值

 

 

  第二个值称为Nonce值,用于挖掘过程。它是所谓的工作量证明算法的一部分。更具体地说,挖掘器将通过哈希只函数运行块的唯一头元数据(包括时间戳和软件版本)(它将返回一个固定长度、打乱的数字和字母串,看起来是随机的)来改变“nonce值”,这会影响得到的哈希值。如果挖掘人员发现了与当前目标匹配哈希值,挖掘人员将可以在网络上广播块,让每个节点验证并添加到各自的分类帐副本上。如果矿工B找到了哈希值,那么矿工A将停止对当前块的工作,并对下一个块重复这个过程。大约每12-15秒,一个矿工就会发现一个块。如果挖掘人员开始更快或更慢地解决谜题,算法就会自动调整问题的难度,从而使挖掘人员恢复到大约12秒的解决时间。

 

  对于区块链来说,由于自身的构造较为复杂,所以知识点尤为的琐碎,但是对于想要真正了解区块链的投资者和初创区块链企业来说,对于区块链的多有构造就应该清楚的了解,以及区块链本身具备的特点是如何生成的,这样才可以保证在今后的投资项目中做到万无一失。



区块链技术 区块链

版权声明:本文系比特之窗作者原创稿件,版权归比特之窗所有。转载须注明“文章来源,比特之窗”,违者必究。

上一篇:去中心化交易平台众多,最值得期待有哪几个?
下一篇:浅谈区块链技术的透明性和不可篡改性

阅读排行榜

频道入口: 行情 区块链技术 比特币 竞争币 ICO 专栏 论坛 导航 创投 百科 科技 今日行情 活动峰会 原创 独家 专题 24H快讯 交易所公告

比特之窗
APP
扫码下载

比特之窗
微信公众号
LianBtc789

比特之窗
官方QQ群
697983415