这里是王团长区块链学院,与最优秀的区块链人一起成长!今天给大家讲讲哈希算法。
点击观看视频教程:名词解释第十九讲:哈希算法
大约在1953年,哈希的思想在IBM、俄罗斯等各个地方几乎同时萌芽,刚开始的时候是为了节省存储空间和计算机算力,慢慢的变成了一种加密的手段。
哈希算法是一种只能加密,不能解密的算法。
把任意长度的信息通过哈希算法,可以转换成一段固定长度的字符串,这个字符串就是哈希值。
比特币就是依靠哈希算法加密的典型例子,所以又被称为密码学货币,比特币的区块哈希算法采用的是双重SHA-256算法。在比特币的世界里,大约平均每10分钟会产生一个区块,这个区块包含了这10分钟内全球的所有比特币交易,打包这个区块就相当于是给系统记账,由于比特币是去中心化的,所有人都可以来记账,那么交给谁来记账呢?中本聪提出的解决办法是:大家一起猜数字,这个数字通过哈希算法会生成一个哈希值,谁先猜出哈希值前10位是0的数字,谁就赢了,谁就能获得记账权,并且获得比特币奖励。
(想要了解更多的区块链知识,可以关注我们的公众号:王团长区块链日记)
如果你猜出来的随机数字哈希值前10位不是0,那你就得改一改这个随机数字,再猜一次,如果还不行,再改一改,再猜一次。。。因为哈希算法是不可逆的,所以不可能从哈希值来反推出这个随机数字,只能这样一次次的猜,一次次的碰运气,一直到碰出一个哈希值前10位为0的数字为止。
哈希算法作为比特币的加密算法,具备了以下几个特点:
1、不可逆,同样的输入值一定会得到同样的哈希值,但你知道哈希值却没办法还原出输入值。
2、无冲突,输入值只要改动一点点,哈希值就会完全不一样,且毫无规律。
3、无论多长或者多短的输入值,哈希值都是一样长的。
比特币网络通过让计算机不断的运行哈希算法猜数字,以此来完成一定的计算量,从而保障系统的安全稳定。
想要了解更多的区块链知识,可以关注我们的公众号:王团长区块链日记,与最优秀的区块链人一起成长!