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

如果你想更多地了解区块链技术和比特币的朋友,你必须爬过技术围栏。从技术的角度,你可以“睁开眼睛”看看比特币在区块链世界的第一次杀手级成功应用,看看中本聪为什么可以被称为外星人。说到区块链技术,就不得不提到一个区块链技术经常用到的知识——hash函数。哈希函数是...

如果你想更多地了解区块链技术和比特币的朋友,你必须爬过技术围栏。从技术的角度,你可以“睁开眼睛”看看比特币在区块链世界的第一次杀手级成功应用,看看中本聪为什么可以被称为外星人。说到区块链技术,就不得不提到一个区块链技术经常用到的知识——hash函数。

哈希函数是一种从任何类型的数据创建小型数字指纹的方法。哈希函数将一条消息或数据压缩成摘要,使得数据量变小,数据格式固定。这个函数混淆数据并重新创建一个称为哈希值的指纹。

如果百度和***真的有别的名字,应该叫(专业到让人看不懂百科)。给哈希函数一个简明的白话定义:哈希函数是一系列复杂的数学变换,有固定数量的输出值。

不能随便改。您应该遵循以下流程:

1.任意长度的内容(数据)

2.在这一系列复杂但固定的数学变换之后

3.将输出固定长度和格式的数据(数值)。

脚注:数学上会用H来表示这个变化后输出的值,中文叫消息摘要或数字指纹。

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

这个数学变换不是可以称为哈希函数的任意变换。要将数学变换升级为哈希函数,必须满足三个条件:唯一性、单向和暴力解:

1。哈希函数的唯一性

直观的理解就是:只有输入X,才能得到H(X)。当你理解了这个特性,你就可以把哈希函数理解为你和你的指纹。你是输入,你的指纹是输出。唯一性意味着只有你可以拥有你的指纹。在比特币中,意味着你用来转账的比特币地址只能由你的公钥生成,就像你的指纹是唯一的一样。世界上没有人能生成和你一样的转账地址。

2。单向哈希函数

单向哈希函数意味着H(X)不能反向推导。

如果给你一个指纹,而你只有一个指纹,你无法想象指纹的主人是男是女,长什么样。你只能知道是指纹。

hash函数的单向性可以用一个不准确但很形象的类比来直观理解——猜猜谁拥有下巴?

这种充满男人味的迷人下巴是白拥有的?是张震吗?还是赵又廷?

答案揭晓:是我们最喜欢的坤坤,不是坤,是的农村↓

因为哈希函数是单向的,在比特币中,即使我们的收款地址是公开的,也没有人能知道我们收款地址的公钥是什么,更不用说私钥是什么了。

市场上有一种说法,量子计算机的出现会让比特币变得一文不值,但现在你应该知道,即使量子计算机出现了,仍然很难破解哈希函数,这是中本聪为比特币设置的安全锁。希望比特币有足够的时间升级到反量子加密算法。

3。哈希函数的暴力解

如果知道hash值H(X),真的想求输入值X,只能从源头开始,一次试一个数,每个数都设置到hash函数中,然后看输出hash值是否等于H(X)。

就像如果你真的想知道某个指纹是谁的指纹,那只能靠全世界一个人去找,把每只手里的指纹和这个指纹进行比对,是否一模一样,没有任何偏差。02

因为这三个特点,哈希函数成为了中本聪手中的利器,帮助他解决了很多设计比特币的难题。在比特币***中,除了引言和结语,几乎每一章都可以看到hash函数的使用。

利用哈希函数的唯一性防止欺诈——数字签名

利用哈希函数的唯一性提高效率——利用Merkel树查找交易记录

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

用哈希函数的暴力解法设计比特币的工作量证明,当范围足够大时,不可能用指纹找到指纹主人,但如果缩小范围,比如在一个只有几百万人口的城市找到,难度就会小很多。这就是比特币挖矿难度的调节机制。如果你想让它更难,就扩大它,如果你想让它不那么难,就缩小它。

哈希函数出现于1953年,1970年蓬勃发展,2001年出现SHA-256。然而在2008年,hash函数被中本聪发挥出来,成为区块链技术不可动摇的基石。

从这个角度来看,这多少可以理解为什么专家和丹尼尔不禁称赞中本聪的天才,甚至怀疑中本聪是不是外星人。

此时,虽然你只知道比特币***中关于技术原理的一个基础知识哈希函数,但这并不妨碍你理解比特币***中你想表达的50%。

本文来自不择手段投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/504413.html

打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
() 0
上一篇 04-14
下一篇 04-14

相关推荐

  • 函数tan怎么读

    5cot全拼是cotangent,余切,其英式读法是#39k#601#650#39t#230nd#658#601nt美式读法是#39ko#650#39t#230nd#658#601nt6tan全拼是tangent,正切,其英式读法是#39t#230nd#658;正切tan的读音英 #712t#230nd#658#601nt,美 #712t#230nd#658#601nttan为英文单词tangent的缩写,所

    2023-07-26 11:49:01
    1047 0
  • c语言log函数怎么调用 c语言编写log函数的方法

    对数函数的形象性和单调性是答案的热点话题,既有小题,也有大题。有时域、单调性、意象等。全部同时出现在一个问题中,有时会出现复合函数。这样的问题有一定的难度。经常提出相对较大的小题,有时利用单调性解决或证明不等式问题。这类题目通常会转换成同底数的对数,然后利

    2023-07-24 17:03:01
    838 0
  • excel回车换行函数 强制换行操作方法

    相信大家都遇到过单元格文本内容换行的问题。为了使单元格的内容标准化,我们需要根据格式逐段换行。如上面的人员信息内容所示,我们需要分别包装单元格内容对应的姓名、部门、职位。在相应的单元格内容中,不同的信息由空或逗号分隔。可能很多同学都是用Alt+Enter的方式一个

    2023-07-24 13:32:01
    997 0
  • rank函数是什么意思 Excel中的排序函数RANK

    扁舟重过九青莲,极目空明思浩然。可是画工烦刻画,只因山骨偶枝骈。风高迥认龙腾海,云散初疑剑插天。剩采太湖嵌孔石,南窗排列伫飞仙。 -------[宋] 孔武仲《九华山》如果熟悉Excel的基本函数,应该都知道RANK函数。在实际工作中,我们经常使用秩函数对一列数据进行排序,即

    2023-07-22 08:10:01
    793 0

评论列表

联系我们

在线咨询: QQ交谈

邮件:admin@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信