哈希函數是
區塊鏈技術不可或缺的一部分,可用于多種用途。 它是一種數學函數,它接受任何給定長度的輸入并產生固定長度的輸出。 輸出通常稱為哈希值,(哈希)摘要或哈希。
有很多哈希函數,就像多個在線的“計算器”。 計算器允許您同時使用不同種類的算法對您喜歡的任何輸入進行哈希運算。 輸入的大小可以從單個數字到整個文件,但輸出的大小將始終相同。
加密哈希函數必須滿足以下一組標準才能在區塊鏈中使用:
單向性 - 必須很容易計算給定輸入的輸出,但不可能計算給定輸出的輸入。 當我們在本章后面討論
加密貨幣挖掘時,這將是一個不可或缺的部分。
偽隨機 - 輸入的變化將在輸出中產生不可預見的變化。 如果輸入“2”的散列值是“4”,則輸入“3”的散列最好不是6。
抗沖突 - 找到哈希函數的兩個輸入導致相同的輸出應該很難(不能讀取)。
確定性 - 相同的輸入總是需要產生相同的輸出。
目前最常用的哈希算法是SHA-256。 SHA是Secure Hash Algorithm的首字母縮寫。該數字表示以比特為單位的輸出長度,例如SHA系列中有四種不同的輸出長度:224,256,384或512位。與
區塊鏈技術相關的另一種算法是RIPEMD系列。 RIPEMD160經常用于許多加密貨幣中,因為您可能已經猜到產生160位的輸出。
哈希值在加密貨幣和區塊鏈中用于多種用途。最顯著的用途是將塊鏈接在一起,從而創建區塊鏈。我們將哈希值稱為數據指紋,因為它具有抗沖突性。如果您要將文件發送給其他人,則可以在發送文件之前對文件進行哈希處理時包含哈希摘要。收件人可以在收到文件后計算文件的哈希值,并將其與您提供的哈希值進行比較,以便檢查文件的完整性。
輸入的每組數據可以通過它生成的唯一哈希輕松識別。找到哈希函數的兩個輸入幾乎是不可能的,這會導致相同的輸出(導致沖突)。地球上的所有超級計算機需要數千年的時間才能產生沖突。這是因為沒有辦法“計算”沖突。找到一個的唯一方法是通過蠻力方法,在那里你嘗試不同的輸入,直到你偶然發生沖突。
總結
哈希函數是區塊鏈技術的第一個基石。文件的哈希就像指紋。通過比較它們的哈希值很容易檢測兩個文件是否相同。哈希將“區塊”連結在一起。如果不包含前一個塊的哈希,則無法更改過去的數據。如果您嘗試更改數據,引用或鏈接將不可行。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。