哈希算法/散列算法是什么

定义

哈希算法也被称为“散列”,是区块链的四大核心技术之一。是能计算出一个数字消息所对应的、长度固定的字符串(又称消息摘要)的算法。由于一段数据只有一个哈希值,所以哈希算法可以用于检验数据的完整性。在快速查找和加密算法的应用方面,哈希算法的使用非常普遍。

在互联网时代,尽管人与人之间的距离更近了,但是信任问题却更严重了。 现存的第三方中介组织的技术架构都是私密而且中心化的,这种模式永远都无法从根本上解决互信以及价值转移的问题。因此,区块链技术将会利用去中心化的数据库架构完成数据交互信任背书,实现全球互信的一大跨步。在这一过 程中,哈希算法发挥了重要作用。

散列算法是区块链中保证交易信息不被篡改的单向密码机制。区块链通过散列算法对一个交易区块中的交易进行加密,并把信息压缩成由一串数字和字母组成的散列字符串。区块链的散列值能够唯一而准确地标识一个区块。在验证区块的真实性时,只需要简单计算出这个区块的散列值,如果没有变化就 意味着这个区块上的信息是没有被篡改过的。

哈希算法解决信任问题

在此之前,我们需要解释一下什么是“拜占庭将军问题”。

拜占庭将军问题是一个在分布式系统中进行数据交互时面临的难题,也就是说当整个网络中的分布式节点之间都没有信任度,如何操作才能保证信息交互的安全性而且不用担心数据被篡改。区块链利用哈希算法完成了这一挑战,使系统中所有节点在无须信任的条件下自动安全地交换数据。

下面我们一起看一下区块链是如何通过哈希算法解决信任问题的,区块链是这样做的:

1.它为信息发送加入了成本,降低了信息传递的速率,而且加入了一个随机元素使在一段时间内只有一个将军可以广播信息。这里所说的成本就是区块链系统中基于随机哈希算法的“工作量证明(PoW)”。哈希算法所做的事情就是计算获得的输入数据,得到遗传64位的随机数字和字母的字符串。

2.区块链系统计算的输入数据是指节点发送的当前时间点的整个总账。当前计算机的算力使其可以实时计算出单个哈希值,但是比特币区块链系统只接受前13个字符是0的哈希值结果作为“工作量证明”。而前13个字符是0的哈希值是非常罕见的,需要整个比特币网络花费10分钟的时间才在数以亿计的数据中找到一个。在一个有效的哈希值被计算出来之前,网络中已经生产了无数个无效值,这就是降低信息传递速率,并使整个系统成功运行的“工作量证明”。

868区块链学习网为您整理《哈希算法/散列算法是什么》仅供参考。