信息网 > 上海信息 > 正文
据说,80%的人都搞不懂区块链哈希算法
网络整理 2018-09-06 22:30内容综合自公众号:区块链及加密货币研究、EXV星球、区块链艾迪生
华章图书:《链接未来:迎接区块链与数字资产的新时代》《区块链开发指南》
本文约9000字+,阅读(观看)需要52分钟
聊到区块链的时候也少不了会听到“哈希”、“哈希函数”、“哈希算法”,是不是听得一头雾水?别急,这一讲我们来讲讲什么是哈希算法。
哈希是一种加密算法
哈希函数(Hash Function),也称为散列函数或杂凑函数。哈希函数是一个公开函数,可以将任意长度的消息M映射成为一个长度较短且长度固定的值H(M),称H(M)为哈希值、散列值(Hash Value)、杂凑值或者消息摘要(Message Digest)。它是一种单向密码体制,即一个从明文到密文的不可逆映射,只有加密过程,没有解密过程。
它的函数表达式为:h=H(m)
无论输入是什么数字格式、文件有多大,输出都是固定长度的比特串。以比特币使用的Sh256算法为例,无论输入是什么数据文件,输出就是256bit。
每个bit就是一位0或者1,256bit就是256个0或者1二进制数字串,用16进制数字表示的话,就是多少位呢?
16等于2的4次方,所以每一位16进制数字可以代表4位bit。那么,256位bit用16进制数字表示,当然是256除以4等于64位。
于是你通常看到的哈希值,就是这样的了:
00740f40257a13bf03b40f54a9fe398c79a664bb21cfa2870ab07888b21eeba8。
这是从btc.com上随便拷贝的一个哈希值,不放心的话你可以数一下,是不是64位~
Hash函数的特点
Hash函数具有如下特点。
易压缩:对于任意大小的输入x,Hash值的长度很小,在实际应用中,函数H产生的Hash值其长度是固定的。
易计算:对于任意给定的消息,计算其Hash值比较容易。
单向性:对于给定的Hash值,要找到使得在计算上是不可行的,即求Hash的逆很困难。在给定某个哈希函数H和哈希值H(M)的情况下,得出M在计算上是不可行的。即从哈希输出无法倒推输入的原始数值。这是哈希函数安全性的基础。
抗碰撞性:理想的Hash函数是无碰撞的,但在实际算法的设计中很难做到这一点。
有两种抗碰撞性:一种是弱抗碰撞性,即对于给定的消息,要发现另一个消息,满足在计算上是不可行的;另一种是强抗碰撞性,即对于任意一对不同的消息,使得在计算上也是不可行的。
高灵敏性:这是从比特位角度出发的,指的是1比特位的输入变化会造成1/2的比特位发生变化。消息M的任何改变都会导致哈希值H(M)发生改变。即如果输入有微小不同,哈希运算后的输出一定不同。
哈希算法
把网址A,转换成数字1。网址B,转换成数字2。
一个网址X,转换成数字N,根据数字N作为下标,就可以快速地查找出网址X的信息。这个转换的过程就是哈希算法。
比如这里有一万首歌,给你一首新的歌X,要求你确认这首歌是否在那一万首歌之内。
无疑,将一万首歌一个一个比对非常慢。但如果存在一种方式,能将一万首歌的每首数据浓缩到一个数字(称为哈希码)中,于是得到一万个数字,那么用同样的算法计算新的歌X的编码,看看歌X的编码是否在之前那一万个数字中,就能知道歌X是否在那一万首歌中。
作为例子,如果要你组织那一万首歌,一个简单的哈希算法就是让歌曲所占硬盘的字节数作为哈希码。这样的话,你可以让一万首歌“按照大小排序”,然后遇到一首新的歌,只要看看新的歌的字节数是否和已有的一万首歌中的某一首的字节数相同,就知道新的歌是否在那一万首歌之内了。
一个可靠的哈希算法,应该满足:
对于给定的数据M,很容易算出哈希值X=F(M);
根据X很难反算出M;
很难找到M和N使得F(N)=F(M)
前面提到哈希函数具有抗碰撞性,碰撞性就是指有人实现找出一奇一偶使得哈希结果一致,但这在计算上是不可行的。
首先,把大空间的消息压缩到小空间上,碰撞肯定是存在的。假设哈希值长度固定为256位,如果顺序取1,2,…2^256+1, 这2^256+1个输入值,逐一计算其哈希值,肯定能找到两个输入值使得其哈希值相同。但不要高兴的太早,因为你得有时间把它算出来,才是你的。
根据生日悖论,如果随机挑选其中的2^128+1输入,则有99.8%的概率发现至少一对碰撞输入。那么对于哈希值长度为256位的哈希函数,平均需要完成2^128次哈希计算,才能找到碰撞对。如果计算机每秒进行10000次哈希计算,需要约10^27年才能完成2^128次哈希计算。在区块链中,哈希函数的抗碰撞性用来做区块和交易的完整性验证,一有篡改就能被识别出来。
转载请标注:信息网——据说,80%的人都搞不懂区块链哈希算法
- 搜索
-
- 2018-09-06云俱站上海家博展首发 俱
- 2018-09-069月1日起上海正式实施5项
- 2018-09-06上海明后天再次冲击35度高
- 2018-09-06上海市质监局抽查儿童泳
- 2018-09-06上海市质监局:1批次眼镜
- 2018-09-062018年亚太邮轮大会10月将
- 2018-09-067月1日起租赁合同一律网签
- 2018-09-06上海第16届中环杯各年级决
- 2018-09-062016上海第16届中环杯决赛
- 2018-09-062016上海春蕾杯综合能力竞
- 2018-06-09上海学生电子信息选拔赛
- 2018-06-23夏语(上海)信息科技有限公
- 2018-08-12伦敦金融城给上海写了一
- 2018-08-12上海再发台风警报 能否借
- 2018-08-13招商银行上海分行“金葵
- 2018-08-16HK)拟收购主要股东人参业
- 2018-08-22【新时代新气象新作为】
- 2018-08-23日海智能全球首届供应商
- 2018-08-28上海姑娘章瑾平衡木因落
- 2018-08-29上海警方通报华住旗下酒
- 2018-09-06云俱站上海家博展首发 俱
- 2018-09-069月1日起上海正式实施5项
- 2018-09-06上海明后天再次冲击35度高
- 2018-09-06上海市质监局抽查儿童泳
- 2018-09-06上海市质监局:1批次眼镜
- 2018-09-062018年亚太邮轮大会10月将
- 2018-09-067月1日起租赁合同一律网签
- 2018-09-06上海第16届中环杯各年级决
- 2018-09-062016上海第16届中环杯决赛
- 2018-09-062016上海春蕾杯综合能力竞
- 网站分类
-
