區塊鏈技術之一:hash在區塊鏈中的作用

一. hash 在區塊鏈中的作用

區塊鏈技術之一:hash在區塊鏈中的作用

1. 數據比對

區塊鏈中在涉及數據對比的過程進不需要一一去對照其中的具體內容,只需要對照它們生成的hash值是否相同,即可知道這兩部分數據是否相同

2. 檢測數據變化

如果想確定存在數據庫裡的數據是否發生了變化, 發給別人或收到別人的數據是否被改變,可以通過現有數據的hash值與原來數據的hash值是否相同來判斷。

3. 確保存入的數據不會被更改

將所存儲的數據的哈希值與存儲數據的物理載體信息結合在一起重新計算哈希值,如果相關的數據發生變化, 雙方的信息就無法保持一致。

4. 及時發現數據的改變

利用哈希引用存儲數據,每個哈希引用對應著一條數據, 形成一條長鏈,有任何的數據或哈希引用被修改,那麼其後的哈希引用都將改變,只要發現哈希引用不完整,就說明結構中的數據被修改。

5. 設計運算難題

創造一個需要大量計算資源的問題來讓計算機運算解決,而不是通過計算或推理。

二. 為什麼hash可以完成這些任務 hash的特性

1. 能夠為任意類型的數據快速創建hash值

2. 確定性

相同的數據內容產生相同的hash值

3. 偽隨機

數據發生一丁點的變化,hash值就會發生變化,且這種變化是未知的。比如10000的md5 hash值為B7A782741F667201B54880C925FAEC4B 10001 為D89F3A35931C386956C1A402A8E09941。

4. 單向函數

不提供任何方式來通過輸出值推導輸入值,換句話說不能通過hash值來推導出原有數據。

5. 防碰撞

很難找到兩個或兩個以上的數據塊來產生相同的hash值。雖然王小云院士的研究成果表明,MD4, MD5, HAVAL-128、RIPEMD和SHA-1,但hash還是在散列存儲方面是很安全的算法,

三. 潛在隱患

上篇文章

區塊鏈技術之一:hash在區塊鏈中的作用

--區塊鏈基礎知識25講 筆記


分享到:


相關文章: