区块链知识堂第一堂:哈希算法

Posted 区块链先生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了区块链知识堂第一堂:哈希算法相关的知识,希望对你有一定的参考价值。


在区块链中一个又一个新产生的区块会不断链接到现有区块链的尾端。如何能够保证这个记录信息页的每一页,以及区块链账本中的每一个区块都是真实准确、没有被篡改过的呢?


设想一下,如果我们通过一种算法对账本信息进行加密,给区块链上第一个区块打上一个唯一的标签,之后的每一个区块也通过加密后打上一个唯一的标签,同时又能够包含前一个区块链的标签。这时,只要采用一种方法保证这个标签无法被轻易替换更改,那么就能保证这个区块记录的信息没有被篡改过。


哈希算法就是上面提到的区块链中保证交易信息不可篡改的单向密码体制。该算法的思想是接受一段明文,以一种不可逆的方式将它转化成一段长度较短、位数固定的输出散列。这个加密过程是不可逆的,这就意味着无法通过输出散列的内容推断出任何与原文有关的信息。任何输入信息的变化,哪怕仅仅是一位数字的更改,都将导致散列结果的明显变化。


基于输出散列与输入原文一一对应的特性,哈希算法可以被用于验证信息是否被修改。通过哈希算法可对一个交易区块的所有交易信息进行加密,并把记账内容压缩成一串数字和字母组成的字符串,这个字符串无法反推出原来的内容。


区块链的哈希值可以唯一、准确地标示一个区块,并且任何节点通过简单地对区块头进行哈希计算都可以独立获取该区块哈希值。如果想要确认区块的内容是否被篡改,那么利用哈希算法重新进行计算,记账信息没有变化,计算出的哈希值也将不会产生变化。


在区块链中,通常使用SHA-256的哈希算法进行区块的加密,该算法的输出长度是256位,即生成长度为32字节的随机散列。


以上是关于区块链知识堂第一堂:哈希算法的主要内容,如果未能解决你的问题,请参考以下文章

区块链知识|什么是哈希算法

区块链知识储备-哈希算法和数字签名

这就是区块链 | 讲明白哈希算法

手写区块链:区块链开发中的密码学知识

区块链基础知识

网友投稿:入门区块链,从数字签名和哈希算法开始