區(qū)塊鏈學(xué)習(xí)之Hash 值

Hash 值是區(qū)塊鏈上常用到的一個(gè)概念。簡(jiǎn)單說(shuō)來(lái)Hash值是一段信息的摘要 (文件的身份證號(hào)碼)槽棍。具有固定長(zhǎng)度捉蚤,唯一性,以及不可逆性炼七。哈希值可用于許多操作缆巧,包括身份驗(yàn)證和數(shù)字簽名。

1:什么是Hash值:

Hash值(信息摘要)就是給信息通過(guò)一定的方法賦予一個(gè)簡(jiǎn)化的代號(hào)豌拙,簡(jiǎn)化后的代號(hào)就是這段信息的Hash值陕悬。類似于讓一個(gè)居民獲得身份證號(hào)碼。居民的名字就是信息本身按傅,身份證編號(hào)的方式就是Hash函數(shù)捉超,而身份證號(hào)就是這段信息的Hash值。

2:Hash值的特點(diǎn)

固定長(zhǎng)度:同一種處理方式得到的Hash值長(zhǎng)度一定唯绍,例如常用的MD5算法就給信息賦予128bit拼岳,也就是128個(gè)0和1的二進(jìn)制串。為了便于理解况芒,將128個(gè)0和1的二進(jìn)制串轉(zhuǎn)換成了16進(jìn)制惜纸。由于每4個(gè)bit表示一個(gè)16進(jìn)制,所以128/4 = 32 換成16進(jìn)制表示后绝骚,為32位了耐版。這和居民身份證號(hào)碼一樣,每個(gè)人的身份證的號(hào)碼長(zhǎng)度都是固定的(現(xiàn)在的長(zhǎng)度一般為18位)压汪。

唯一性:任何一段信息只能有唯一的Hash值 (一個(gè)居民只能有一個(gè)身份證號(hào))粪牲。即便是改變信息 中的任何一個(gè)內(nèi)容,就會(huì)引起整個(gè)Hash值出現(xiàn)巨大的差別止剖。例如以下兩個(gè)信息雖然只有一個(gè)字母的差別腺阳,但Hash值經(jīng)過(guò)MD5運(yùn)算后差別巨大湿滓。由于Hash值具有128bit,兩個(gè)Hash相同的概率是2的128次方之一舌狗。但因?yàn)榇嬖谥展簦ň褪怯型惶焐盏娜说娜巳簲?shù)只需要約70人而非我們第一映像中的366人)的情況叽奥,兩個(gè)Hash相同的概率是2的64次方之一,這是一個(gè)極小極小的數(shù)字——而即便是在MD5被王小云教授破解之后痛侍,其碰撞概率上限也高達(dá)2的40次方分之一朝氓。

? ? ?MD5("version1") = "966634ebf2fc135707d6753692bf4b1e";

? ? ?MD5("version2") = "2e0e95285f08a07dea17e7ee111b21c8";

不可逆性:這個(gè)與用果汁機(jī)榨果汁很類似。你可以把蘋(píng)果榨成蘋(píng)果汁和果渣主届,但不可能把蘋(píng)果汁和果渣還原成蘋(píng)果赵哲。從Harsh值不可能推算出原本的信息是什么。


3: 為什么需要Hash值(數(shù)據(jù)摘要)

(a)便于數(shù)據(jù)的查找:因?yàn)閿?shù)據(jù)內(nèi)容可能很大君丁,如果在查找數(shù)據(jù)時(shí)需要將所有的數(shù)據(jù)都全部瀏覽一遍枫夺,效率就會(huì)非常低下。但如果將每個(gè)數(shù)據(jù)后面都能通過(guò)一個(gè)函數(shù)將其用編號(hào)表示绘闷,那在查找數(shù)據(jù)時(shí)就可以簡(jiǎn)單查找有限的編號(hào)即可橡庞。例如我想要在電腦中查詢信息"區(qū)塊鏈學(xué)習(xí)筆記一Hash值的含義"可以簡(jiǎn)單的查找Hash值為“0001”的文檔。

"區(qū)塊鏈學(xué)習(xí)筆記一Hash值的含義"---》Hash函數(shù)---》“0001"

(b)便于數(shù)據(jù)的校驗(yàn):這是Hash值最重要的作用之一印蔗。由于Hash值的以上一些特點(diǎn)扒最,當(dāng)收件人在收到信息后只需要對(duì)文件Q'進(jìn)行一次Hash運(yùn)算,如果得到的Hash值與其收到的Hash值一致华嘹,則可以斷定文件Q'=文件Q即文件沒(méi)有遭到篡改吧趣。

也正是基于Hash值可校驗(yàn)的特點(diǎn),可以將Hash值與二叉樹(shù)Merkle Tree結(jié)合耙厚。二叉樹(shù)Merkle Tree中每個(gè)非葉子節(jié)點(diǎn)節(jié)點(diǎn)下面分兩個(gè)枝干强挫,每個(gè)非葉子節(jié)點(diǎn)的Hash值可以根據(jù)它下面所有的葉子節(jié)點(diǎn)值進(jìn)過(guò)一定的運(yùn)算得到。故收件人可以在收到信息后薛躬,先比對(duì)節(jié)點(diǎn)1的Hash值,若節(jié)點(diǎn)1沒(méi)有錯(cuò)誤則無(wú)需進(jìn)行進(jìn)一步的比對(duì)俯渤。若發(fā)現(xiàn)節(jié)點(diǎn)1錯(cuò)誤可以繼續(xù)比對(duì)節(jié)點(diǎn)2和3的值。發(fā)現(xiàn)節(jié)點(diǎn)3無(wú)誤則可以放棄比對(duì)節(jié)點(diǎn)6和7. 找到錯(cuò)誤來(lái)自節(jié)點(diǎn)2泛豪,再依次對(duì)節(jié)點(diǎn)4和5運(yùn)算Hash值并發(fā)現(xiàn)錯(cuò)誤源于自節(jié)點(diǎn)4.然后收件人可以重新要求發(fā)信人發(fā)送節(jié)點(diǎn)4的數(shù)據(jù)從而使整個(gè)數(shù)據(jù)和發(fā)件人的保持一致稠诲。


參考資料:

(1)從零開(kāi)始學(xué)習(xí)區(qū)塊鏈(1)微信公眾號(hào):區(qū)塊鏈大師

(2)hash與消息摘要的關(guān)系是什么侦鹏?知乎?車小胖

(3)到底什么是hash?知乎

(4)生日攻擊是什么诡曙,有什么用? 知乎 月海

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末略水,一起剝皮案震驚了整個(gè)濱河市价卤,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌渊涝,老刑警劉巖慎璧,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件床嫌,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡胸私,警方通過(guò)查閱死者的電腦和手機(jī)厌处,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)岁疼,“玉大人阔涉,你說(shuō)我怎么就攤上這事〗萑蓿” “怎么了瑰排?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)暖侨。 經(jīng)常有香客問(wèn)我椭住,道長(zhǎng),這世上最難降的妖魔是什么字逗? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任京郑,我火速辦了婚禮,結(jié)果婚禮上葫掉,老公的妹妹穿的比我還像新娘傻挂。我一直安慰自己,他們只是感情好挖息,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布金拒。 她就那樣靜靜地躺著,像睡著了一般套腹。 火紅的嫁衣襯著肌膚如雪绪抛。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,737評(píng)論 1 305
  • 那天电禀,我揣著相機(jī)與錄音幢码,去河邊找鬼。 笑死尖飞,一個(gè)胖子當(dāng)著我的面吹牛症副,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播政基,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼贞铣,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了沮明?” 一聲冷哼從身側(cè)響起辕坝,我...
    開(kāi)封第一講書(shū)人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎荐健,沒(méi)想到半個(gè)月后酱畅,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體琳袄,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年纺酸,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窖逗。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡餐蔬,死狀恐怖滑负,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情用含,我是刑警寧澤矮慕,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站啄骇,受9級(jí)特大地震影響痴鳄,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜缸夹,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一痪寻、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧虽惭,春花似錦橡类、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至匆笤,卻和暖如春研侣,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背炮捧。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工庶诡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人咆课。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓末誓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親书蚪。 傳聞我的和親對(duì)象是個(gè)殘疾皇子喇澡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 所有貨幣都需要一些方法來(lái)控制供應(yīng),并強(qiáng)制執(zhí)行各種安全屬性以防止作弊善炫。在法定貨幣方面撩幽,像中央銀行這樣的組織控制貨幣供...
    Nutbox_Lab閱讀 3,107評(píng)論 1 3
  • 親愛(ài)的爸爸媽媽: 見(jiàn)信好!今年春節(jié)箩艺,輪到回公公婆婆家過(guò)年窜醉,所以對(duì)不能出席家庭團(tuán)圓飯,表示抱歉艺谆。 我趕...
    楊瓊的簡(jiǎn)書(shū)閱讀 419評(píng)論 0 0
  • 今天一大早從自己生活的三線小城市到省城出差一天榨惰。開(kāi)會(huì)、討論静汤、做記錄……當(dāng)然琅催,作為職場(chǎng)菜鳥(niǎo)的我,最多能發(fā)揮的也就是記...
    小弟桑pc閱讀 434評(píng)論 7 1
  • 讓我放不下的他是我的初戀虫给,也是我至今唯一的愛(ài)人藤抡。他是我大學(xué)同學(xué),我們同年級(jí)抹估,不同系缠黍。第一次看到他時(shí),他在籃球場(chǎng)上扣...
    05f3ae22a228閱讀 268評(píng)論 0 0