简单来说哈希算法就是一种特殊的函数,不论我输入多长的一串字符,只要通过这个函数都可以得到一个固定长度的输出值,就好像我们的身份证号一样,永远都是18位而且全国唯一,这个值就叫做哈希值。哈希算法有三个特点,他们赋予了区块链不可篡改,匿名等个性并保障了整个区块链体系的安全。
哈希算法的第一个特点是具有单向性,比如我们输入我们的数据,通过哈希算法可以得到一个哈希值。但是通过这个哈希值是没有办法反推回来得到我们的数据,这就是单项性,也正是基于这一点,区块链才有效保护了我们信息的安全性;哈希算法的第二个特点是抗篡改能力,对于任意一个输入,哪怕是很小的改动,其哈希值的变化也会非常大,它的这个特性在区块与区块的连接中就起到了关键性的作用,区块链的每一个区块都会与上一个区块的哈希作为标识,除非有人能破解整条链上的所有哈希值,否则数据一旦记录在链上,就不可能进行篡改。
哈希算法的第三个特点是抗碰撞能力,所谓碰撞就是输入两个不同的数据,最后得到了一个相同的输出,就跟我们逛街时候撞衫一样,而抗碰撞就是大部分的输入都能得到一个独一无二的输出,在区块链的世界中,任何一笔交易或者账户的地址都是完全依托于哈希算法生成的,这个保证交易或者账户地址在区块链网络中的唯一性,无论我这边转账转了多少钱?我转给了多少个人在区块链这个大账本中都是唯一的存在。
总的来说,他们算法在区块链技术中是最基础的存在,它就像我们体内的白细胞,不仅区块链的每个部分都离不开它,而且它还赋予了区块链种种特点,保护着整个区块链体系的安全。