簡單理解“哈希算法”

【本文由贊我(zaneds.com)獨家冠名】

?計算機密碼學對區(qū)塊鏈技術(shù)來說可謂是重中之重,我們在閱讀各種區(qū)塊鏈項目的白皮書或者區(qū)塊鏈相關(guān)書籍中搓逾,也多少會提及XX算法,如哈希算法和非對稱算法,但是算法到底是怎樣一種存在瑰枫?在區(qū)塊鏈技術(shù)中又解決了哪些問題呢斟叼?今天就帶來一次計算機密碼學的算法之旅--哈希算法

?01

哈希算法一般指SHA家族偶惠。SHA是什么?英文全稱是Secure Hash Algorithm朗涩,即安全散列算法忽孽。能計算出一個數(shù)字消息所能對應(yīng)的固定長度字符串的算法。且如果輸入的數(shù)據(jù)不同谢床,他們能對應(yīng)的不同字符串的機率很高兄一。注意,這里并不是絕對不同识腿。

通過這個定義可以看出哈希算法的特性出革。第一,輸入是可以任意長的字符覆履;第二蹋盆,輸出是固定長度的字符串;第三硝全,函數(shù)的計算過程是有效率的栖雾。簡單的說,就是通過一種方法伟众,可以將任意輸入的字符串計算出一段固定長度的字符串析藕。根據(jù)這種方法,哪怕數(shù)據(jù)發(fā)生微小的變化凳厢,重新計算后的哈希值也會和之前的不一樣账胧。而且計算出的來的結(jié)算,是無法再通過一個算法還原出原始數(shù)據(jù)的先紫,即是單向的治泥。故這種算法適合于身份驗證的場合,由于哈希值能起到一個類似身份證號的作用遮精,因此可以用于判斷數(shù)據(jù)的完整性居夹。

由于哈希算法的輸出值是固定的败潦,而原始數(shù)據(jù)是多種多樣的,所以理論是會存在不同的原始輸出輸入同一種哈希值的可能准脂。但是這種情況只有在原始數(shù)據(jù)的數(shù)量極其龐大的時候才會出現(xiàn)劫扒。例如郵件系統(tǒng)的坑垃圾郵件算法,為了解決這種問題狸膏,對郵件地址進行多種哈希計算沟饥,將計算出來的值聯(lián)合起來判斷是否存在某個郵件地址,即布隆過濾器的原理湾戳。此原理在比特幣中有應(yīng)用贤旷。

02

那么在區(qū)塊鏈中哈希算法有哪些呢?主要是區(qū)塊哈希和梅克爾樹院塞。

區(qū)塊鏈是鏈的結(jié)構(gòu)遮晚,而且無法篡改性昭,那是怎么實現(xiàn)的呢拦止?在區(qū)塊鏈技術(shù)中,對區(qū)塊頭進行了哈希計算糜颠,得出某個區(qū)塊的哈希值汹族,用這個哈希值唯一確定某一個區(qū)塊,即給這區(qū)塊確定了一個身份證ID其兴,區(qū)塊之間通過這個身份ID串聯(lián)顶瞒,即區(qū)塊生成的區(qū)塊哈希值將成為下一個區(qū)塊的重要標記,這樣每一個新生成的區(qū)塊的區(qū)塊頭都包含了前一個區(qū)塊的哈希值元旬,這就使得從創(chuàng)世塊到當前區(qū)塊鏈接在一起榴徐,形成了一條長鏈。由此這樣的區(qū)塊鏈結(jié)構(gòu)也使得區(qū)塊鏈數(shù)據(jù)難以篡改匀归,這只是其一坑资。

?03

區(qū)塊鏈是如何證明數(shù)據(jù)完整性,如何保證交易不被篡改呢穆端?這就要說到哈希的另一應(yīng)用袱贮,交易哈希-梅克爾樹。區(qū)塊中的交易記錄被一個成為梅克爾樹的數(shù)據(jù)結(jié)構(gòu)來進行哈希值計算和存儲体啰,但是只有哈希值記錄在區(qū)塊的哈希值中攒巍。

舉個例子,一個合同有N頁荒勇,當我們簽訂合同的時候柒莉,會在每一頁都蓋章,但是蓋的章都是一樣的沽翔,如果其中一頁被替換被修改樣式無法防止的兢孝。但是如果我們蓋章數(shù)字章,即給每一個的數(shù)字印章是前一頁加本頁內(nèi)容加一起使用哈希算法生成哈希值,即N頁的數(shù)字章=HASH(N—1的數(shù)字章+N頁內(nèi)容)西潘,這樣的話卷玉,如果對第一頁的內(nèi)容篡改,那本頁的哈希值肯定和本頁的數(shù)字章不再相符喷市,且之后的也是如此相种。這就是默克爾樹的優(yōu)勢。第一我們可以知道信息是否被篡改品姓,第二我們還能知道第幾塊信息被篡改寝并。

比特幣是分布式的網(wǎng)絡(luò)結(jié)構(gòu),它支持一個叫做“簡化支付協(xié)議(spv)”的協(xié)議腹备,一個沒有下載完整區(qū)塊鏈數(shù)據(jù)的節(jié)點衬潦,也能通過向其他節(jié)點索要包括從交易哈希沿默克爾樹上溯至鏈頭處的跟哈希的哈希序列,以此來快速確認交易輸出的正確性植酥。

04

簡單總結(jié)下镀岛,哈希算法即通過一定的函數(shù)計算過程,將任意長度的字符轉(zhuǎn)換成固定長度的字符串友驮,而且此種算法是不可逆的漂羊,即單向的。區(qū)塊鏈中的哈希算法應(yīng)用主要是區(qū)塊哈希和梅克爾樹卸留;區(qū)塊哈希即對區(qū)塊頭部進行了哈希算法走越,確定上一個哈希塊的地址。區(qū)塊鏈的交易記錄通過哈希計算后存儲為樹狀的數(shù)據(jù)結(jié)構(gòu)耻瑟,即梅克爾樹旨指。區(qū)塊鏈的不可篡改和數(shù)據(jù)的完整性基本是通過以上兩種計算機技術(shù)方法實現(xiàn)的。由此可見計算機密碼算法在區(qū)塊鏈中的應(yīng)用是非常重要的喳整。

好了谆构,今天帶大家了解了下什么是哈希算法以及哈希算法在區(qū)塊鏈技術(shù)中的應(yīng)用,大家也了解了哈希算法在區(qū)塊鏈中解決了哪些問題算柳。關(guān)于非對稱算法低淡,敬請期待后續(xù)文章。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瞬项,一起剝皮案震驚了整個濱河市蔗蹋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌囱淋,老刑警劉巖猪杭,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異妥衣,居然都是意外死亡皂吮,警方通過查閱死者的電腦和手機戒傻,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來蜂筹,“玉大人需纳,你說我怎么就攤上這事∫张玻” “怎么了不翩?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長麻裳。 經(jīng)常有香客問我口蝠,道長,這世上最難降的妖魔是什么津坑? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任妙蔗,我火速辦了婚禮,結(jié)果婚禮上疆瑰,老公的妹妹穿的比我還像新娘眉反。我一直安慰自己,他們只是感情好乃摹,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布禁漓。 她就那樣靜靜地躺著跟衅,像睡著了一般孵睬。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上伶跷,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天掰读,我揣著相機與錄音,去河邊找鬼叭莫。 笑死蹈集,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的雇初。 我是一名探鬼主播拢肆,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼靖诗!你這毒婦竟也來了郭怪?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤刊橘,失蹤者是張志新(化名)和其女友劉穎鄙才,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體促绵,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡攒庵,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年嘴纺,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浓冒。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡栽渴,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出稳懒,到底是詐尸還是另有隱情熔萧,我是刑警寧澤,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布僚祷,位于F島的核電站佛致,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏辙谜。R本人自食惡果不足惜俺榆,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望装哆。 院中可真熱鬧罐脊,春花似錦、人聲如沸蜕琴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽凌简。三九已至上炎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間雏搂,已是汗流浹背藕施。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留凸郑,地道東北人裳食。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓,卻偏偏與公主長得像芙沥,于是被迫代替她去往敵國和親诲祸。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355