摘要:麻將是大眾最鐘愛的娛樂項目,但是,麻將還有另外一個鮮為人知的身份——中國最早的區塊鏈落地應用案例。
今天文章的開頭我們先不聊區塊鏈,先聊聊民間最受大眾喜愛的娛樂項目——麻將。
麻將起源于中國,原屬皇家和王公貴胄的游戲,其歷史可以追溯到三四千年以前。在長期的歷史演變過程中,麻將也逐步從宮廷流傳到了民間。
關于麻將的起源說法不一,其中最有趣的莫過于“水滸麻將”。
傳說萬秉迢生于明朝,此人甚愛《水滸》,被梁山上的108位好漢深深折服,于是便想做一副娛樂工具來紀念他們。
經過幾天精心設計,終于研制出了麻將牌。他把麻將牌設計為108張,暗喻《水滸》中的108位好漢。例如九索就是“九紋龍”史進,二索就是“雙鞭”呼延灼...等等。
這108位好漢,因分別來自四面八方,于是牌中有東、南、西、北各四張。而梁山泊聚義的群雄有貧有富,出身各異,因此又設中、發、白。發者是發財之家,白者是白丁、貧民,中者是中產人家。麻將又分萬、筒(北方稱餅)、索(北方稱條),即是發明萬秉(餅)迢(條)的諧音。
從此,麻將也就誕生了!
之所以要從麻將的起源說起,是因為麻將就是中國最早的區塊鏈落地應用!今天我們就來說說麻將關于區塊鏈那些事...
一、“麻將白皮書”
周末到了,張三準備約上幾個好友出來打麻將,于是就打電話約了李四、王五、趙六組了個麻將局。
而張三想打麻將的想法就相當于創建一個區塊,而他再以打電話點對點的形式通知了李四、王五、趙六這個動作就做到了“去中心化”的點對點傳輸。
于是張三、李四、王五、趙六就形成了共識,坐到了一起開始打麻將。四個人會分別摸13張隨機分配的麻將,通過摸一張打一張的形式來將麻將規范化的排序來和牌。而這里面摸打的動作就可以理解為“挖礦”,四個人就是“礦工”,108張麻將就是哈希值。而胡牌就是碰撞出了正確的哈希值,就可以獲得相應的籌碼獎勵,也就是所謂的比特幣。
那么問題來了,為什么其他三個人都會主動給和牌的人獎勵呢?那是因為這三個人都自動達成了共識,這人確實贏了,大家都記錄了這筆賬,想抵賴是不行的,不然以后傳出去這人品不行,就沒人再和他一起打麻將了,畢竟圈子很重要。
同時,在大家達成共識時,我們看不到任何中介或者第三方出來評判誰贏了,大家給贏得人的獎勵也不需要通過第三方轉交給他,都是直接點對點交易,這一過程就是去中心化。
四個人(礦工)各自記錄了第一局的戰績,王五大胡自摸七小對,趙六杠了張三的幺雞,記錄完成后就生成了一個完整的區塊,但要記住,這才只是第一局,在整個區塊鏈上,這才僅僅是一個節點,如果那天一共打了20盤麻將,也就是20個節點(區塊),20個區塊連接在一起就形成了一個完整賬本,這就是區塊鏈。
因為這個賬本每人都有一個,所以就是分布式賬本,目的就是為了防止有人篡改記錄,打到最后,誰輸誰贏一目了然。
整個過程,將區塊鏈技術體現得淋漓盡致。
二、什么是哈希值?
上面我們說到了和牌就是湊出了正確的哈希值,那哈希值是什么呢?
會打麻將的人都知道,第一首摸起來的13張牌是隨機分配的,雜亂無章,毫無規律,所以打麻將的人需要把這13張麻將湊成規律的牌就贏了,也就是俗稱的“和牌”。
那么實際上在區塊鏈里,比特幣挖礦也是一個道理,比特幣“礦機”就是運算特定的哈希值,誰先算出來,誰就贏得一個比特幣的獎勵。
也就是說哈希值是文件的身份證,不過比身份證還嚴格。他是根據文件大小,時間,類型,創作著,機器等計算出來的,很容易就會發生變化,誰也不能預料下一個號碼是多少,也沒有更改他的軟件。
哈希算法將任意長度的二進制值映射為固定長度的較小二進制值,這個小的二進制值稱為哈希值。哈希值是一段數據唯一且極其緊湊的數值表示形式。如果散列一段明文而且哪怕只更改該段落的一個字母,隨后的哈希都將產生不同的值。要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的。
如果上述的概念太過于抽象,筆者就給大家舉個簡單的例子:
互聯網上的每一張圖片都具有其特定的哈希值,就是這張圖片在互聯網時間的編號。比如把下圖進行映射,會獲得一個全宇宙獨一無二的哈希值。
這個值是:
5088698dc898f8e5c86ef0a8948b68e02c6c1c6e
這個哈希值,就是這張圖片在互聯網時間的編號。
那互聯網中的信息接近無窮大,哈希值真的夠用嗎?答案是肯定的,而且過剩。哈希值的數量達到2的80次方個以上,這個數量超過宇宙中所有原子的總和。
那哈希值是如何得出來的呢?
哈希值其實上是數學里的一種散列函數,上中學時我們都學過函數知識,舉個簡單的例子(+1)就是一種簡單的函數計算公式。
給到任意一個數字都可以算出最終結果,例如給出1,運行這個計算公式則是:1+1=2。如果給出100運行這個計算公式則是:100+1=101。
而在哈希算法里,擁有一個復雜的函數計算,每一個東西映射后都會產生一串獨一無二的哈希值用于加密。
而哈希值除了加密性之外,還有兩個特性:
1、不可倒推。也就是說,你可以把一個圖片映射成哈希值,卻沒辦法通過哈希值去倒推它之前是什么圖片,甚至連之前是不是圖片都無從得知。這就是區塊鏈技術不可篡改的底層邏輯。
2、速度極快,哈希一部20G高清電影,只需0.1秒即可得出結果。
簡單綜合兩點特性來說就是能用極快的速度給你的文件編出不重復的號碼,而且任何人都無法通過這個號碼推算出文件原來的樣子,什么意思呢?
剛才我們說了,運行(+1)的這個函數計算公式,給出任何數字都會得出一個值,例如給出數字1就會得到結果:2。因為這個函數是個最簡單的函數,所以通過結果2我們也可以推算出初始給出的數值是1。但在哈希算法里,因函數過于復雜,通過運算得出哈希值后,很難推算出原始數據給出的數值。
例如1的平方=1,但-1的平方也=1。所以不同的值通過同一重算法可能會獲得到相同的結果。就像1+4=5和2+3=5一樣,你現在知道我的結果是5,能知道我輸入的什么數字嗎?所以有結果不一定能推測到原始值。
加之,哈希值本身是一串復雜的數字,加大了反推原數值的難度。例如,數字“2”的哈希值為“c81e728d9d4c2f636f067f89cc14862c”
不僅如此數據上小小的改動也會使得哈希值大變樣:
“22222”的哈希值為“3d2172418ce305c7d16d4b05597c6a59”
“22221”的哈希值為“ 5a518783270523848f247fb126ac22fa”
所以說,哈希算法具有很強的加密性,很難通過哈希值反推出原始數據的值。這就是為什么區塊鏈具有很強的加密性,例如甲給乙轉了一個比特幣,全網都會知道這個比特幣的交易信息,卻不知道誰和誰交易了這個比特幣。
但也有人說可以通過“暴力”的方式破解哈希算法,一個一個的試,直到算出正確的結果為止。
但很大程度上這種說法是不可行的,為什么呢?
比如,如果一樣東西你知道在哪里,還算不算丟了。
答案肯定是“不算”。
那就說明你的東西沒有丟。
散列算法也一樣,好比在那個無邊無際的海底,有無數沉船,但只要打撈成本遠遠高于貨物價值,那么這些沉船就會一直呆在那。
【本文為投資家網原創文章,轉載或內容合作請聯系投資家網,違規轉載,法律必究。】
媒體一致認為,Consensus2024在區塊鏈和加密領域具有廣泛的影響力,是TRON展示其比較新進...
2025年清明小長假臨近,租車市場迎來春季首個出行高峰。據神州租車清明預訂大數據顯示,作為春節后首個...
投資家網(www.51baobao.cn)是國內領先的資本與產業創新綜合服務平臺。為活躍于中國市場的VC/PE、上市公司、創業企業、地方政府等提供專業的第三方信息服務,包括行業媒體、智庫服務、會議服務及生態服務。長按右側二維碼添加"投資哥"可與小編深入交流,并可加入微信群參與官方活動,趕快行動吧。