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