在中学的时候,我们学过二次函数、三角函数、双曲函数等一系列函数算法,现在都还会做吗?你们是否已经成为了最熟悉的陌生人。在区块链中,我们常常听到“哈希碰撞”,这里的“哈希”就是指的哈希函数算法,那么什么是哈希算法?
接下来,你是否觉得将会看到这个:hash(key) = key mod M或者这个:hash(key) = floor( M/W * ( a * key mod W) ) 。
什么是哈希算法?
哈希算法,也叫哈希函数,散列函数,是将任意长度的二进制值映射为较短的固定长度的二进制值,即哈希值。哈希算法是一种只能加密,不能解密的特殊算法,其原理就是把一段交易信息转化成一段固定长度的字符串。
例如:cda445c254d7123437d1542423daded0bfffba5545eb084da00a652af797601d
哈希值的特性在于就算输入值只改变一点,输出的哈希值也会天差地别。
其实哈希算法有很多种,例如 MD5、SHA1、SHA256等,其中MD5算法十六进制表示是32位,SHA256算法十六进制表示是64位,一般哈希值越长算法越安全,比特币系统中,哈希运算基本都是使用的SHA256算法。
挖矿过程就是一个不断进行哈希计算的过程,用得到的哈希值去碰撞目标值,达到目标要求后碰撞成功,获得创建新区块的机会,同时获得挖矿奖励。
娱乐一下
九月份,谷歌研究人员称,谷歌的处理器能够在 3 分 20 秒内,完成目前全球排名第一的超级计算机 Summit 需要一万年才能完成的计算。
由此,圈内有两种言论说:一种言论说量子计算机的出现会让比特币一文不值;另一种言论说哈希算法是中本聪为比特币设置的一道安全锁,量子计算机的出现难以攻破哈希算法。
你认为量子计算机的出现是否会对区块链密码算法造成威胁呢?
结语
哈希算法不仅能对所有的交易记录进行加密,还能防止系统被攻击,即便黑客获得了哈希值,对应的用户密码却很难获得。
领取专属 10元无门槛券
私享最新 技术干货