區塊鏈第一講:入門必懂哈希值
FinTech前哨
區塊鏈 大數據
人工智慧 VR/AR
來源|米飯君
上了牌桌,看著親戚們一張張油膩的臉,一邊打骰一邊抱怨起來,「就知道賭博,現在賭錢可犯法啊,天天就知道坑我這個炮架子。」
二姨扣上一把牌,舔了舔牙上的菜葉說,「你可別從北京回來就嚇唬我們,你昨兒不還發朋友圈,說我們這不叫打麻將,咱叫挖礦。」
從北京互金一員變成村裡二狗之後,二姨的一句話戳到了我的G點,讓我彷彿又到達了在北京幣圈時的高潮。
一、請叫我礦工
二姨打一張定個中。
「打完這張之後,請叫我礦工。」我打算先來個小科普,給他們一個下馬威洗洗臉,
「這一局麻將,就是一輪挖礦,麻將有胡牌的規矩,挖礦有挖礦的玩法。
我現在這一把屎一樣的爛牌,和那一堆還沒摸到的牌,毫無規律,我不能保證我能拿到什麼牌,但是最後我湊齊了胡了,我就贏了。
區塊鏈挖礦也一樣,運算特定的哈希值,誰先算出來,誰就贏了一輪。
講到這裡必須說一下哈希值,首先要了解的是MD5這個概念,全稱為:Message Digest Algorithm MD5,這麼長串單詞也不要慌,你記著MD5就行了。
它是一種散列函數,可能很多粉絲關於函數的概念都還給老師了。你可以當它是一串特定的計算公式。
舉個栗子。(+2)就是一種計算公式。
給到任意一個數字比如3,運行這個計算公式則是:3+2=5
而MD5是更複雜的計算公式,複雜到可用於加密。可以百度「MD5加密」自己嘗試一下MD5加密。
任意數據,都可以通過MD5這個函數進行運算,得出相應數據。這個數據則被稱為「哈希值」。
對MD5演算法簡要的敘述可以為:MD5以512位分組來處理輸入的信息,且每一分組又被劃分為16個32位子分組,經過了一系列的處理後,演算法的輸出由四個32位分組組成,將這四個32位分組級聯後將生成一個128位散列值。(運算過程米飯君也不是很了解,畢竟文科生)
總之你們知道這是一個複雜到一兩句話說不清楚的函數就可以了。
MD5有個很強的地方,那就是很難通過哈希值,來反推出原始數據。
比如剛才那個例子,還是運行(+2)的計算公式,如果運算結果是6,那麼初始數據大家都知道是4了。畢竟4+2=6是小學題。
而某數據通過MD5運算後得出哈希值,是很難被算出原始數據的。
比如數字「1」的哈希值為「c4ca4238a0b923820dcc509a6f75849b」是不是很厲害。
此外,哪怕原始數據有一點點改動,得出的數據都相差很大,比如:
「11111」的哈希值為「b0baee9d279d34fa1dfd71aadb908c3f」
「11112」的哈希值為「afcb7a2f1c158286b48062cd885a9866」
那麼如果我知道某數據的哈希值,想要求得原始數據怎麼辦,對不起,沒辦法,只能挨個試了。直到試出原始數據。
為什麼大家都在說比特幣不會被篡改和偽造。可以在哈希值這裡理解一下。
若皇帝發了一封保密的聖旨,然後將聖旨內容的哈希值公示出來,這個過程,雖然大家都知道這封聖旨的哈希值,但是卻無法得到聖旨的內容。
然後太監把聖旨宣讀給接旨的大臣,大臣只需要將內容求出哈希值,與公示的聖旨哈希值一對比,就知道太監有沒有篡改或者調換聖旨。
上面這個例子,會對以後更深入理解區塊鏈和各種幣有所幫助。
聲明:本文為轉載,不構成投資意見,並不代表本平台立場。文中的論述和觀點,敬請讀者注意判斷。
FinTech熱搜榜
動畫連載
最新活動
一個彩蛋
![](https://pic.pimg.tw/zzuyanan/1488615166-1259157397.png)
![](https://pic.pimg.tw/zzuyanan/1482887990-2595557020.jpg)
※2017年,你錯過的重磅報告都在這裡了!
※前華為著名區塊鏈專家帶您學習區塊鏈
TAG:FinTech前哨 |