• APP內打開
    風險提示:防范以虛擬貨幣/區塊鏈名義進行的非法集資風險。 ——銀保監會等五部門

    學習區塊鏈過程中的高頻概念:哈希函數

    白話區塊鏈 2019-11-25 12:20:28
    微信分享

    掃碼分享

    學習區塊鏈技術里最重要且最多被使用到的一個知識——哈希函數。

    作者:復利青年 / 來源:白話區塊鏈

    想進一步了解區塊鏈技術和比特幣的小伙伴,就不得不翻越技術的圍墻,從技術的角度,“睜眼”看看區塊鏈世界里第一個殺手級成功應用比特幣,看看中本聰為什么能被稱為外星人,而提到區塊鏈的技術這就不得不提到,學習區塊鏈技術里最重要且最多被使用到的一個知識——哈希函數。

    哈希函數是一種從任何一種數據中創建小的數字指紋的方法。哈希函數把消息或數據壓縮成摘要,使得數據量變小,將數據的格式固定下來。該函數將數據打亂混合,重新創建一個叫做散列值的指紋。

    百度百科和維基百科真有別稱的話,應該叫(專業到讓人)看不懂百科。給哈希函數一個簡潔的白話定義:哈希函數是一系列復雜的但固定的數學變換。

    變換不能亂變換,要照著如下過程來:

    1、任何長度的內容(數據)
    2、經過這系列復雜但固定的數學變換后
    3、會輸出一個固定長度和格式的數據(數值)
    腳注:數學領域會用 H() 表示這經過變化后輸出的數值,中文名叫消息摘要或數字指紋。

    比如,在比特幣中,公鑰生成地址時用到的哈希函數 SHA256,后面的“256”的意思是輸出是固定 256 位長度的數據。

    image.png

     

    這數學變換不是任意變換都能被稱之為哈希函數,一個數學變換要升級為哈希函數必須符合三個條件:唯一性、單向性、暴力求解:

    1、哈希函數的唯一性
    直觀的理解就是:只有輸入X,才能得到H(X)。理解這三個特性時,可以把哈希函數理解成你和你的指紋,你是輸入,你的指紋是輸出,唯一性就是指只有你才能有你的指紋,在比特幣里就是指,你轉賬用的比特幣地址,只有你的公鑰才能生成,就像你的指紋是獨一無二的一樣,世界上沒有任何其他人能生成和你一樣的轉賬地址。

    2、哈希函數的單向性
    哈希函數的單向性是指H(X)是無法反向推導X。
    如果給你一個指紋,僅有一個指紋的你,是絕對想象不出指紋的主人到底是男是女,到底長什么樣,只能知道這是個指紋。

    哈希函數的單向性可以用一個不準確但十分形象的類比來直觀理解——來猜猜下巴的主人是誰?

     

    image.png

     

    這Man味十足的迷人下巴主人是白宇?是張震?還是趙又廷?

    謎底揭曉:是我們喜愛的坤坤,不是蔡徐坤,而是鄉村 F4 謝廣坤↓

     

    image.png

    因為哈希函數的單向性,所以在比特幣里,即使我們的收款地址是公開的,但是沒人能知道我們生成收款地址的公鑰是什么,更無法知道生成公鑰的私鑰是什么。

    市面上有一種言論說,量子計算機的出現會讓比特幣一文不值,但現在你應該知道,即使量子計算機出現可以攻破現有銀行采用的 RSA 加密算法和比特幣的橢圓曲線加密算法,但也難以攻破哈希函數,哈希函數是中本聰為比特幣設置的一道安全鎖,讓比特幣有充足的時間升級到抗量子的加密算法。

    3、哈希函數的暴力求解
    如果知道哈希值H(X)真想找到輸入值X,只能從源頭出發,一個數一個數去嘗試,每個數都套到哈希函數里,然后看看輸出的哈希值是不是等于H(X)。

    就像如果你真想知道某個指紋是誰的指紋,你只能全世界一個個人找過去,去對比每一個手里的指紋和這個指紋,是不是完全相同,沒有絲毫偏差。 02 

    哈希函數因為這三個特性變成了中本聰手里的利器,幫助他在設計比特幣的路上解決了多個難題,除了簡介和結論的 10 個章節里,幾乎每個章節都能看到哈希函數的使用。

    用哈希函數的唯一性用來防止作假——數字簽名
    用哈希函數的唯一性來提升效率——默克爾樹檢索交易記錄
    用哈希函數的單向性用來保密——公鑰生成比特幣的地址
    用哈希函數的暴力求解來設計比特幣的工作量證明——當范圍足夠大的時候,拿著指紋去找指紋擁有人是不可能的事情,但如果把范圍縮小呢,比如在一個只有幾百萬人的縣找,難度就會小很多,這就是比特幣的挖礦難度調整機制,想要難度高一點那就把范圍擴大一點,想要難度低一點就把范圍縮小一點。

    哈希函數成就了中本聰,中本聰反過來也讓哈希函數上升了一個高度。1953 年哈希函數出現,1970 年哈希函數蓬勃發展,2001 年 SHA-256 出現,在 2008 年時,哈希函數卻在中本聰手里被玩出了花,成為了區塊鏈技術里不可撼動的基石。

    從這個角度看,多少讓人理解了為什么專家和大牛都忍不住夸贊中本聰天才,甚至懷疑中本聰是不是外星人。

    至此,雖然比特幣白皮書中技術原理你只是懂了一個基礎知識哈希函數,但這一點都不妨礙你理解了比特幣白皮書里 50%想要表達的內容。

    下載白話區塊鏈APP

    區塊鏈世界入口第一站,人人都能看懂的區塊鏈;24 小時熱點實時追蹤。

    毛片免费看