⑴ 什麼是哈希
我們先來講個故事哈。
有一個人每次打開區塊鏈文章,都意氣風發,暗暗下決心要發憤圖強,看了一會兒,發現很難看懂什麼,硬逼著自己學習,卻已是強弩之末,最後只能末學膚受,學了個皮毛而已。
那個人就是我哈,希望大家不要末學膚受,而能食髓知味,深刻理解區塊鏈知識。
這四個成語。
意氣風發~發奮圖強~強弩之末~末學膚受
每個成語的第一個字,是前一個成語的最後一個字,組成了一個成語鏈的鏈式結構。
我們來類比一下,區塊鏈的鏈式結構。
區塊鏈0,1,2,3的鏈式結構是靠什麼形成的呢?
是靠前一個區塊的哈希值,也叫做父區塊哈希值。
區塊0是區塊1的父區塊。
區塊1是區塊0的子區塊。
區塊0的哈希值對區塊1而言,就是父區塊的哈希值。
父區塊哈希值,就是上面成語鏈式結構里,把前後兩個成語連接起來的那個字。
要理解區塊鏈鏈式結構,還要理解什麼叫哈希。
再講個故事哈。
小黑同學要把一袋貓糧快遞給大白老師。
他讓哈希公司的快遞員上門取件,打包完成後,拿到了快遞單號。
這個寄快遞的過程中,有三個關鍵步驟。
1.選擇要寄送的物品。
2.選擇哈希快遞公司,對物品進行快遞打包。
3.拿到快遞單號。
哈希公司給的快遞單號就是哈希值。
大白老師對小黑選擇的哈希公司很滿意。
1.不論小黑寄的東西有多大,經過哈希公司打包後,拿到手的快遞包裹都一樣大。
2.哈希公司列印出來的快遞單號也就是哈希值,除了讓你查詢物流的實時狀況,還可以讓你知道包裹中的物品有沒有被人調包或撰改。
比如小黑寄給大白的貓糧,在運送過程中,哪怕袋子上的配料表,被人改了一個標點符號,哈希公司給的快遞單號,也就是哈希值都會實時發生變化,警示小黑快遞包裹發生了異常情況。
哈希公司確實很厲害哈。