區塊鏈中的密碼學(下)

2022/05/30閱讀時間約 2 分鐘
我們在看眾多區塊鏈文章的時候,是不是常常看到「雜湊函數」和「雜湊值」或「哈希函數」和「哈希值」,其實他們在講同個東西,所以我習慣用英文來說,「Hash Function」和 「Hash Value」。
Hash Function = 雜湊函數 = 哈希函數
Hash Value = 雜湊值 = 哈希值

魔法盒 & 專屬標籤

我們先想像一下,有一個魔法盒,這個魔法盒會將每個丟進來的物品變成一個印著五個字的專屬標籤,隨著丟進來的物品不同,專屬標籤上的五個字也會不同。而這個專屬標籤是無法回推原本是什麼物品的。也就是說,一旦轉變成專屬標籤,你無從知道原本這個標籤對應到的是哪個物品。

這個魔法盒就是我們說的Hash Function。而印著五個字的專屬標籤就是Hash Value!(真正的雜湊值不會只有五個字呦^^)

Hash Function & Hash Value

「 Hash Function」就是可以將任何資料轉換成固定長度字串的方法。
「Hash Value」就是Hash Function產生的那串「固定長度的字串」。

從前面例子也不難發現,Hash Function有兩個特性:
1. 輸入不同,產生的Hash Value必不同
2. 無法回推原本內容
舉個例子,假設有三個句子"Paul 很帥"、"Cliff 很胖"、"Mary 給 Paul 10顆以太幣" 當作Hash Function的輸入值,Hash Function會將每個句子都變成一個長度相同的字串,這些相同長度的字串就是Hash Value了。這些Hash Value因為輸入字串不同,所以彼此也各不相同,且無法回推回原本的字串。

區塊鏈不可篡改性的幕後功臣

Hash Function & Hash Value主要是協助區塊鏈達到不可篡改的特性,那到底怎麼用Hash Function & Hash Value分辨資料是否被篡改呢?
尚未被篡改的資料放進Hash Function會產生一個Hash Value ,假設該Hash Value值為h1。當有人篡改資料後,送進Hash Function也會產生一個Hash Value,假設該Hash Value 值為h2。大家覺得h1和h2會相同嗎?
很顯然是不同的,因為Hash Function的特性1: 輸入不同,產生的Hash Value必不同,所以當有篡改區塊鏈中的資料,只要發現Hash Value與之前的不同,就可以知道資料被篡改了。
到這邊相信大家應該更加了解Hash Function和 Hash Value是什麼了~

喜歡我的文章可以到IG追蹤我們呦~
IG: @coin_theorem
也可以留言告訴我你想了解什麼區塊鏈知識喔~

幣識定理
幣識定理
大家好,我們是幣識定理,我們會和大家分享區塊鏈的知識以及投資上的大小事喔。我們希望透過最淺顯易懂的方式幫助現在的人們了解區塊鏈的概念、未來、投資、時事。我們深信區塊鏈在未來的發展潛力非常大,而且市場潛力驚人,希望大家能早點發現它的好。我們秉持持續學習,互相交流,一同進步的概念經營,有任何指教都歡迎喔
留言0
查看全部
發表第一個留言支持創作者!