主页 > imtoken冷钱包手机版 > 区块链学习过程中的高频概念:哈希函数 | 白话区块链介绍250

区块链学习过程中的高频概念:哈希函数 | 白话区块链介绍250

imtoken冷钱包手机版 2023-07-01 15:14:53

莱特币是比特币?_比特币使用的哈希函数是_云比特是比特币分支?

友情提示:本周国庆征文后续投稿获奖文章将陆续推送。 有兴趣的朋友也可以投稿。

作者| 复利青年

出品 | 白话区块链(ID:hellobtc)

想深入了解区块链技术和比特币的朋友们要翻过技术墙了。 从技术角度“睁眼”看比特币在区块链世界的第一杀手成功应用。 为什么本中本聪可以被称为外星人等等,而说到区块链技术就不得不提,学习了一个区块链技术经常用到的知识——哈希函数。

哈希函数是一种从任何类型的数据中创建小型数字指纹的方法。 哈希函数将消息或数据压缩成摘要,减少了数据量,固定了数据的格式。 此函数对数据进行加扰以重新创建称为哈希值的指纹。

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

变换不能随意变换,应遵循以下过程:

莱特币是比特币?_云比特是比特币分支?_比特币使用的哈希函数是

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

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

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

脚注:在数学领域,H()会被用来表示变化后输出的值。 中文名称为消息摘要或数字指纹。

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

比特币使用的哈希函数是_莱特币是比特币?_云比特是比特币分支?

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

1.哈希函数的唯一性

比特币使用的哈希函数是_云比特是比特币分支?_莱特币是比特币?

直观的理解是:只有输入X才能得到H(X)。 理解这个特性的时候,可以把哈希函数理解为你和你的指纹。 你是输入,你的指纹是输出。 唯一性意味着只有您可以拥有指纹。 在比特币中,意味着你用比特币转账只能由你自己生成,就像你的指纹是独一无二的,世界上没有其他人可以生成与你相同的转账地址。

2.哈希函数的单向性

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

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

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

比特币使用的哈希函数是_云比特是比特币分支?_莱特币是比特币?

这男人味十足的下巴的主人是白羽? 是张震吗? 还是赵又廷?

答案揭晓:是我们最爱的坤坤,不是蔡徐坤,而是国足F4谢广坤↓

莱特币是比特币?_比特币使用的哈希函数是_云比特是比特币分支?

比特币使用的哈希函数是_莱特币是比特币?_云比特是比特币分支?

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

,但现在你应该知道,即使有了量子计算机,目前也很难破解哈希函数。 哈希函数是中本聪为比特币设置的安全锁。 我希望比特币有足够的时间升级到抗量子加密。 算法。

3、hash函数暴力破解

如果知道hash值H(X),真的想求输入值X,只能从源头开始,试着一个一个的数,把每个数放到hash函数中,再看输出的hash是不是值不等于 H(X)。

就像如果你真的想知道某个指纹属于谁的指纹,你只能在世界上找到一个人,将每只手上的指纹与这个指纹进行比较,看看是否完全相同,没有任何偏差。 02

正因为这三个特点,哈希函数成为了中本聪手中的利器,帮助他解决了比特币设计路上的诸多难题。 在比特币白皮书中比特币使用的哈希函数是,除了前言和结语这10章,几乎每一章都看到了哈希函数的使用。

利用哈希函数的唯一性来防止欺诈——

莱特币是比特币?_比特币使用的哈希函数是_云比特是比特币分支?

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

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

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

1953年出现哈希函数比特币使用的哈希函数是,1970年哈希函数蓬勃发展,2001年出现SHA-256。 不可动摇的基石。

从这个角度看,有些可以理解为什么专家和大牛会忍不住夸赞天才,甚至怀疑中本聪是不是外星人。

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

《白话区块链入门系列》互动奖品

精选过往内容

莱特币是比特币?_比特币使用的哈希函数是_云比特是比特币分支?

★后台回复“入门”获取完整列表! ★

- 结尾 -

『免责声明:本系列内容仅为区块链科普介绍,不构成任何投资建议或建议。 如有错误或遗漏,请留言指出。 文章版权及最终解释权归百花区块链所有。 』

云比特是比特币分支?_莱特币是比特币?_比特币使用的哈希函数是

莱特币是比特币?_比特币使用的哈希函数是_云比特是比特币分支?

亲,据说99.9%有品位的人都点了“在看”