首页>>技术前沿>>网站/软件行业动态
区块链开发技术研究:揉碎掰烂弄清哈希算法
作者:西安网站建设 | 转载 来源:西安软件开发公司 | 时间:2018年4月24日| 点击:0次 | 【评论】

关于区块链以及数字货币的争论一直不断,支持者认为区块链将会是有一项改变世界的新技术,反对者则认为区块链不过是又一个更高级的庞氏骗局罢了。我觉得在还不了解它的情况下,就凭自己的固有观念来站队打标签,这是很不明智的。

于是我也在不断学习关于区块链的技术,在这里分享下我对区块链开发技术的一些认识和理解。哈希算法是区块链中保证交易信息不被篡改的单向密码机制,哈希算法接受一段明文后,以一种不可逆的方式,将其转化为一段长度较短、位数固定的散列数据。那么哈希运算在区块链中又是如何应用的呢?要弄懂这个问题,我们要先把区块的结构弄清楚。

区块结构

区块是区块链的基本组成单元,每一个区块由两部分组成:区块头和区块体。区块头主要包含了上一个区块的哈希值(PreHash),本区块的哈希值(Hash),以及时间戳(TimeStamp)等等。区块体储存了这个区块的详细数据(Data),这个数据是若干行记录,可以是交易信息。比特币的话,区块体一般储存不会超过2000笔交易。

区块链哈希算法

区块的链接

我们再看区块是如何串联成链。每个区块的区块头都包含上一个区块的哈希值和当前区块的哈希值,那么每新生成一个区块,它区块头的上一个区块的哈希值,是和上一个区块的哈希值是对应的。每个区块通过哈希指针相连,最后成了一个有哈希指针串联而成的列表。这里我们引入一个概念叫哈希指针,指针是指向某个元素地址的计算机对象,通过指针指向的地址,可以找到对应的变量。哈希指针也是相似的,不同的是哈希指针不仅可以指向数据的存储位置,还可以明晰某个时间戳下该数据的哈希值。

区块链哈希算法

不可篡改性

区块链的结构特征可以帮助我们更好的理解防篡改这一特性。假设有人试图去篡改链条中的数据,当攻击者修改了K区块上的数据,这时候他会发现K+1区块上的哈希值与K区块不再匹配,那么他不得不一直修改下去。所以只要我们保存好链表最后的那个哈希指针,就一定能发现是否有人篡改了区块数据。区块链是一个链状结构,每个区块通过哈希指针链接,每当有人计算出区块链最新数据信息的哈希值,相当于对最新的交易记录进行打包,新的区块会被创建出来,衔接在区块链的末尾。

区块链通过哈希算法,对一个交易区块中的交易信息进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的哈希值能够唯一而准确的标识一个区块,区块链中任意节点通过简单的哈希计算都可以获得这个区块的哈希值,计算出的哈希值没有变化,也就意味着区块中的信息没有被篡改。

此内容DOC下载 此内容PDF下载

【全文完】
关键词标签: 区块链 区块链开发 
0 ([$-顶稿人数-$])
0 ([$-踩稿人数-$])

版权声明:

1、陕西弈聪网站内容中凡注明“来源:XXX(非陕西弈聪网站)”的作品,转载自其它媒体,转载目的在于传递更多信息,其中涉及的网站建设,网站优化,百度关键词优化,西安软件开发等技术细节并不代表本站赞同支持其观点,并不对其真实性负责。对于署名“陕西弈聪”的作品系本站版权所有,任何人转载请署名来源,否则陕西弈聪将追究其相关法律责任。

2、本站内容中未声明为“原创”的内容可能源自其它网站,但并不代表本站支持其观点,对此带来的法律纠纷及其它责任与我方无关。如果此内容侵犯了您的权益,请联系我方进行删除。