当前位置:首页 > 生活百科

哈希函数的特点及应用(全方面了解哈希函数)

栏目:生活百科日期:2025-03-29浏览:0

想进一步了解区块链技术和比特币的小伙伴,就不得不翻越技术的围墙,从技术的角度,“睁眼”看看区块链世界里第一个杀手级成功应用比特币,看看中本聪为什么能被称为外星人,而提到区块链的技术这就不得不提到,学习区块链技术经常被使用到的一个知识——哈希函数。

哈希函数是一种从任何一种数据中创建小的数字指纹的方法。哈希函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。

百度百科和维基百科真有别称的话,应该叫(专业到让人)看不懂百科。给哈希函数一个简洁的白话定义:哈希函数是一系列复杂的但输出值位数固定的数学变换。

变换不能乱变换,要照着如下过程来:

1、任何长度的内容(数据)

2、经过这系列复杂但固定的数学变换后

3、会输出一个固定长度和格式的数据(数值)

脚注:数学领域会用 H 表示这经过变化后输出的数值,中文名叫消息摘要或数字指纹。

比如,在比特币中,公钥生成地址时用到的哈希函数 SHA256,后面的“256”的意思是输出是固定 256 位长度的数据。

这数学变换不是任意变换都能被称之为哈希函数,一个数学变换要升级为哈希函数必须符合三个条件:唯一性、单向性、暴力求解:

1、哈希函数的唯一性

直观的理解就是:只有输入X,才能得到H(X)。理解这个特性时,可以把哈希函数理解成你和你的指纹,你是输入,你的指纹是输出,唯一性就是指只有你才能有你的指纹,在比特币里就是指,你转账用的比特币地址,只有你的公钥才能生成,就像你的指纹是独一无二的一样,世界上没有任何其他人能生成和你一样的转账地址。

2、哈希函数的单向性

哈希函数的单向性是指H(X)是无法反向推导X。

如果给你一个指纹,仅有一个指纹的你,是绝对想象不出指纹的主人到底是男是女,到底长什么样,只能知道这是个指纹。

哈希函数的单向性可以用一个不准确但十分形象的类比来直观理解——来猜猜下巴的主人是谁?

这 Man 味十足的迷人下巴主人是白宇?是张震?还是赵又廷?

谜底揭晓:是我们喜爱的坤坤,不是蔡徐坤,而是乡村 F4 谢广坤↓

因为哈希函数的单向性,所以在比特币里,即使我们的收款地址是公开的,但是没人能知道我们生成收款地址的公钥是什么,更无法知道生成公钥的私钥是什么。

市面上有一种言论说,量子计算机的出现会让比特币一文不值,但现在你应该知道,即使量子计算机出现可,目前也难以攻破哈希函数,哈希函数是中本聪为比特币设置的一道安全锁,希望比特币有充足的时间升级到抗量子的加密算法。

3、哈希函数的暴力求解

如果知道哈希值H(X)真想找到输入值 X,只能从源头出发,一个数一个数去尝试,每个数都套到哈希函数里,然后看看输出的哈希值是不是等于H(X)。

就像如果你真想知道某个指纹是谁的指纹,你只能全世界一个个人找过去,去对比每一个手里的指纹和这个指纹,是不是完全相同,没有丝毫偏差。 02

哈希函数因为这三个特性变成了中本聪手里的利器,帮助他在设计比特币的路上解决了多个难题,在比特币白皮书中,除了简介和结论的 10 个章节里,几乎每个章节都能看到哈希函数的使用。

用哈希函数的唯一性用来防止作假——数字签名

用哈希函数的唯一性来提升效率——默克尔树检索交易记录

用哈希函数的单向性用来保密——公钥生成比特币的地址

用哈希函数的暴力求解来设计比特币的工作量证明——当范围足够大的时候,拿着指纹去找指纹拥有人是不可能的事情,但如果把范围缩小呢,比如在一个只有几百万人的城市里找,难度就会小很多,这就是比特币的挖矿难度调整机制,想要难度高一点那就把范围扩大一点,想要难度低一点就把范围缩小一点。

1953 年哈希函数出现,1970 年哈希函数蓬勃发展,2001 年 SHA-256 出现,在 2008 年时,哈希函数却在中本聪手里被玩出了花,成为了区块链技术里不可撼动的基石。

从这个角度看,多少让人理解了为什么专家和大牛都忍不住夸赞中本聪天才,甚至怀疑中本聪是不是外星人。

至此,虽然比特币白皮书中技术原理你只是懂了一个基础知识哈希函数,但这一点都不妨碍你理解了比特币白皮书里 50%想要表达的内容。

“哈希函数的特点及应用(全方面了解哈希函数)” 的相关文章

string截取字符串(string中截取字符串的方法)

中秋佳节将近,大仙提前在这里祝大家节日快乐!大仙也是准备输出最后一篇文章,准备休假了。本次文章介绍的是Java基础面试常问面试知识点String1、intlen...

十大轻奢品牌男装有哪些(推荐这10大男装品牌)

说起着装,相信女性同胞们是最有发言权的了,但是对于男性的着装来说,也并不是一件小事情,也是有讲究的,今天就为各位男性同胞们介绍十大男装品牌,欢迎评论区互动。1、...

ui设计前景怎样,ui设计行业发展趋势

UI设计行业在IT行业中也算是比较受欢迎的,学UI设计的人也很多,而且现在人工智能设计师鲁班一天能够做几百甚至上千张banner图,那么可能就有同学疑惑了,UI...

dnf新职业哪个厉害,不知道这五个角色是你的损失

Hi,阿拉德大陆的勇士们大家好啊,国服地下城与勇士6月19日更新了周年庆版本,这也宣告着国服地下城与勇士已经10周年了,同时国服也推出了新的职业&–...

win10怎么切换显卡模式(图解简单5步切换好显卡)

win10系统是个很好的系统,很多游戏玩家为了更好的打游戏都配了两块显卡,但是在新系统中可能不会切换,今天就一起来看看win10系统是如何切换显卡的。win10...

mysql备份数据库命令(mysql数据库备份方法)

背景前边几篇文章我简单介绍了使用mysqlshell备份数据库及恢复备份数据的方式.这篇文章我们简单探讨一下mysqlshell备份数据库的原理.主要结合mys...

什么叫创业板,创业板股票交易规则

最近,大家发现创业板很强势,之前我写过一篇文字,说的是创业板出来时候,中小板是好选择;科创板出来以后,大家不妨关注创业板。但是,当时热炒的是A股“核心资产”,这...

产品网络推广方案怎么写,价值百万推广案例分享

身处互联网时代我们信息传播的速度是很快的,对于企业来说借助于网络,利用网络营销来进行推广产品和服务是一个不错的选择,既经济实惠又传播速度比较快,是一个不错的选择...

502是什么错误代码,502错误原因及解决方法

你们有没有经常遇到一个错误提示:502错误网关?这个网络错误对用户和网站所有者意味着什么?不懂?那么我们一起来聊聊~~~502BadGateway是指错误网关,...

小本创业做什么好,年轻人小型创业项目推荐

城市的发展机会越来越少,竞争越来越激烈,2020年有哪些小本创业项目呢?说实话,身边的人创业的以及想创业的不少,但是大多数都是从小本创业开始,或多或少的取得了一...