在区块链浏览器中,可以看到,每一个区块,都有区块哈希值。哈希值是什么意思?
以人为例,要分辨两个人是否是同一个人,不能靠姓名,因为姓名的重复率太高。最好的办法,是给每个人一个唯一的编号,比如身份证号。身份证号由区位编码+出身年月日+次序+验证码组成,嵌入了地域类别和时间类别,解决了人的重复问题。可人的编号解决了,物的编号呢?按地域来分,不大合适;按时间来分,跨度太大而且得到数据的成本太高;按种类来分,类别太多。
好在数学上提供了这个问题的答案:哈希算法。哈希算法能够将任意长度的文件转换为哈希值,形如
05e9898fc9c5de721851ee21aa763c1e599f9668b7b70fe1a590fd67764f382e,且满足几个特征:
1.相同文件的哈希值相同。
2.不同文件的哈希值相同的概率无限接近于零。
3.相似文件的哈希值不相似。
4.哈希值为固定的长度。
5.不可由哈希值推出文件。
6.计算极快。
做过电子表格的朋友应该知道,满足1.2条件的唯一编码可是好东西,在查重、匹配、统计等方面作用很大。而在唯一编码特征上后几个特征的哈希值,可以说是验证的利器,在数字签名、区块链接中得到广泛应用,是区块链及加密货币诞生的重要基础。