簡言之,哈希算法是將任意長度的字符串映射為較短的固定長度的字符串。
比特幣則是使用SHA-256摘要算法對任意長度的輸入給出的是256bit的輸出。那么,
加密貨幣中哈希算法的應用有哪些?
加密哈希函數
數據結構
挖礦
加密哈希函數:
一個加密哈希函數有如下特性:
確定性 :無論在同一個哈希函數中解析多少次,輸入同一個A總是能得到相同的輸出h(A)。
高效運算 :計算哈希值的過程是高效的。
抗原像攻擊(隱匿性) :對一個給定的輸出結果h(A),想要逆推出輸入A,在計算上是不可行的。
抗碰撞性(抗弱碰撞性) :對任何給定的A和B,找到滿足B≠A且h(A)=h(B)的B,在計算上是不可行的。
細微變化影響 :任何輸入端的細微變化都會對哈希函數的輸出結果產生劇烈影響。
謎題友好性 :對任意給定的Hash碼Y和輸入值x而言,找到一個滿足h(k|x)=Y的k值在計算上是不可行的。
數據結構:
有兩種數據結構對于理解區塊鏈非常重要:鏈表和哈希指針。
鏈表:鏈表是依次按順序連接而成的數據區塊,如下圖所示:
在鏈表中的每個區塊都通過一個指針指向另一個區塊。
指針:指針是包含其他變量地址的變量。因此,正如其名,指針就是指向其他變量的變量。
哈希指針:哈希指針不僅有其他變量的地址,還有該變量中數據的哈希值。那么,這對區塊鏈而言有何幫助呢?
區塊鏈的構成如下圖所示:
區塊鏈本質上是一個鏈表,其中的每個新區塊都包含一個哈希指針。指針指向前一區塊及其含有的所有數據的哈希值。借此特性,區塊鏈擁有了不可更改性(immutability)的偉大特質。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。