國內最專業
盈幣寶資訊中心

獨特的數字指紋--哈希函數(Hash Function)

【硬塞科技字典】獨特的數字指紋--哈希函數(Hash Function)

密碼學在不同的層次為區塊鏈提供安全性,而區塊鏈建立在三個基本架構上:哈希函數、密鑰和數位簽名。

其中,哈希函數(Hash Function)又稱為 雜湊函式 或散列函數,是一個獨特的數字指紋,屬於只能加密無法解密的密碼學算法,可以把訊息或資料壓縮變小,並將資料的格式固定下來,就像所有的函數一樣。

在哈希函數中,給定一個輸入值 X ,它會算出相對應且固定的輸出值 H(X);並且不會出現輸入一個給定值卻得到兩個不同的結果。此外,哈希函數擁有很高效的計算速度,通過輸入一個定值,並不需要很長的時間就能計算出結果。

  1.  在哈希函數中,輸入的 X 可以是任意長度的字符串,但輸出值 H(X) 是長度固定且絕不雷同的,以 SHA-256 為例,輸出的實際長度必須是精確的 256 字節。除此之外,只要變動 X 的一個位元,就會引起雪崩效應,導致輸出的 H(X) 天差地別。
  2.  哈希函數雖然是屬於函數運算的一種,但輸入值 X 和輸出值之間是沒有規律的,也不是透過有邏輯的數學過程去計算得出,所以無法直接從 H(X) 反推回 X 。

因此,如果反過來要讓 H(X) 落在特定的範圍,唯有不斷更換輸入值 X ,一個一個去試出滿足條件的輸出值 H(X) ,大量的窮舉運算是最好且最快的方法,而 工作量證明 機制就是這找出一個特定格式 Hash 值的過程(以比特幣為例,即要求有一定數量的前導 0 為開頭,以保證每 10 分鐘左右只有一個人可以記帳)。

用一個現實中的例子來比喻甚麼是 Hash 值:就像是每張新台幣都有一個獨特且唯一的鈔票編碼,其中每個編碼的後四碼就是 Hash 值,而工作量證明機制就是要所有礦工一次一次地去猜測那指定鈔票上編碼的後四碼是甚麼,每個人都可以猜,第一個猜對的人即可得到所謂的挖礦獎勵。

在比特幣的系統中,每次記帳的時候會把上一個區塊的 Hash 值和當前的帳簿訊息一起作為原始訊息進行 Hash 。而且因為無論輸入 X 嘗試了幾次還是幾億次,只需對結果 H(X) 執行一次該過程即可驗證。

所以加密哈希函數的主要特徵就是它能夠在並不需要被真正看到的情況下,驗證某組交易訊息是否被竄改過。

本文轉貼自Inside 硬塞的網路趨勢觀察

直达链接
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

趕緊聯繫我們

facebook粉絲專頁點我聯繫LINE