区块链科普 | 一文了解哈希函数

时间:2021-07-14 09:26       来源: www.oneronghui.com

作者 | 复利年轻人

出品|白话区块链

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

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

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

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

3、哈希函数的暴力求解

就像假如你真想了解某个指纹是哪个的指纹,你只能全世界一个个人找过去,去对比每个手里的指纹和这个指纹,是否一模一样,没丝毫偏差。 02

哈希函数由于这三个特质变成了中本聪手里的利器,帮他在设计BTC的路上解决了多个难点,在BTC白皮书中,除去简介和结论的 10 个章节里,几乎每一个章节都能看到哈希函数的用。

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

用哈希函数的唯一性来提高效率——默克尔树检索买卖记录

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

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

至此,虽然BTC白皮书中技术原理你只不过懂了一个入门知识哈希函数,但这一点都没有妨碍你理解了BTC白皮书里 50%想要表达的内容。

除去“哈希函数”你觉得还有什么高频词语?欢迎在留言区别享你的看法。

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

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

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

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

1、哈希函数的唯一性

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

2、哈希函数的单向性

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

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

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

谜底揭晓:是大家喜欢的坤坤,不是蔡徐坤,而是乡村 F4 谢广坤↓

由于哈希函数的单向性,所以在BTC里,即便大家的收款地址是公开的,但没人能知晓大家生成收款地址的公钥是什么,更没办法知晓生成公钥的私钥是什么。

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

« 上一篇:不要再把BTC和区块链划等号了,求求你们了!
» 下一篇:没有了