区块链技术之哈希算法

一、哈希是什么? 

Hash,一般翻译为散列、音译为哈希。它是一种数学函数,又被称为散列函数。哈希算法又称为哈希函数、散列算法、散列函数,是一种只能加密,不能解密的密码学算法,它可以将任意长度的信息转换成一段固定长度的字符串,也就是摘要信息,该字符串叫散列值或哈希值。

哈希算法的特点:

1.单向性:原始信息与摘要信息(哈希值)之间没有规律,所以无法从摘要信息倒推出原始信息。这点保证它是不可逆的。保证区块链网络能够实现不可篡改性的基础技术之一。

2.哪怕原始信息只改变一点,输出的哈希值(摘要信息)也会天差地别。

3.只有完全一样的原始信息才能得到完全一样的输出值。

4.哈希算法可以摘要和简化信息,验证信息,隐藏信息。

区块链技术之哈希算法_第1张图片

二、区块链中的哈希算法有什么用?

哈希算法是区块链中用的最多的一种算法,它被广泛的使用在构建区块和确认交易的完整性上,为了保证数据完整性,会采用哈希值进行校验。

区块链可理解为区块+链的形式,这个链是通过哈希链接起来,每个区块可能都有很多交易,整个区块又可以通过哈希函数产生摘要信息,然后规定每一个区块都需要记录上一个区块的摘要信息,这样一来所有区块都可以连成链。

如果改了历史中某一个区块的数据,意味着这个区块摘要值(即哈希值)就会发生改变,那么下一个区块中记录的上一个区块的哈希也得做相应的修改,以此类推,也就是说如果要修改历史记录的话,所有记录都要修改才能保证账本的合法性,哈希函数就提高了账本篡改的难度。

哈希算法有很多,比特币主要使用的哈希算法是SHA-256。SHA (Secure Hash Algorithm,译作安全散列算法) 是美国国家安全局设计,该算法属于SHA-2系列,在中本聪发明比特币时(2008)被公认为最安全最先进的算法之一。

你可能感兴趣的:(区块链技术之哈希算法)