AICoin小課堂丨哈希算法:區塊鏈不可篡改的重要保障

2年前
标签:哈希算法07650
文章来源: AICoin信息君

AICoin小課堂丨哈希算法:區塊鏈不可篡改的重要保障_aicoin_图1

 

區塊鏈系統中,當一筆數據產生後,會由共識機制進行數據維護,通過分佈式儲存記錄在鏈上,然後交由智能合約去執行,最後由密碼學保障整個體系的安全。而密碼學,簡單來說,就是一種特殊的加密和解密技術。

 

區塊鏈中涉及到的密碼學主要有兩種——哈希算法與非對稱加密技術。

 

哈希算法是一種特殊的函數,不論編寫代碼的開發者輸入多長的一串字符,只要通過這個函數,都可以得到一個固定長度的輸出值(即哈希值)。就好比我們的身份證號碼一樣,無論你是上海人,還是北京人,身份證號碼都是18位且是全國唯一的。

 

(一)哈希算法具有以下三個特征:

 

1、單向性:哈希算法是一種常見的單向性加密算法,就是指在哈希函數中,由輸入可以得到輸出,但通過輸出卻幾乎不可能反推回輸入。

 

2、不可篡改性:對於任意一個輸入,哪怕是很小的改動,比如一個標點符號,其哈希值的變化也會非常大。

區塊鏈的每一個區塊,都會以上一個區塊的哈希值作為標識,通過哈希算法再進行加工,這樣後面區塊不僅可以查找到前面的所有區塊,也可以驗證前面區塊數據有沒有被更改。數據一旦記錄在鏈上,除非整條鏈上的所有哈希值都被破解,否則,鏈上數據是不可能被篡改的(區塊鏈的不可篡改性)。

 

3、抗碰撞性:碰撞是與哈希函數相關的重要概念,反映哈希算法的安全性。所謂碰撞,就是指輸入兩個不同的數據,最後得到了一個相同的輸出結果,就跟我們日常撞衫一樣。一般情況下,如果哈希算法的“抗碰撞性”條件不滿足,那麼此哈希算法就會被認為不安全。

 

哈希算法的抗碰撞性主要應用在區塊鏈的帳戶地址中,在區塊鏈系統中,任何一筆交易或者帳戶的位址都是完全依託于哈希算法生成的,這樣就保證了交易或者帳戶地址在區塊鏈網路中的唯一性。無論交易者要轉多少錢或者轉給多少個人,他的每一筆交易和要轉帳的帳戶位址都是唯一的存在。

 

(二)哈希算法(函數)需要滿足以下條件:

 

1.確定性:哈希算法是確定性的算法,算法執行過程不引入任何隨機量。這就意味著相同字串的哈希結果一定相同;

 

2.高效性:給定任意一個數據m,可以快速計算Hash(m) ;

 

3.目標抗碰撞性:給定任意一個數據m1,很難找到另一個數據m2,使得Hash(m1)= Hash(m2);

 

4.抗碰撞性:很難找到m1≠m2的兩個數據,使得Hash(m1)= Hash(m2)。

 

因哈希算法可以快速驗證、並防止數據或交易在傳遞過程中被篡改,在網路數據和區塊鏈技術應用中起著重大作用,也是區塊鏈具備安全可信特徵的重要因素。

 

 

 

【僅供參考,若信息有誤,請聯繫更改】

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

评论

暂时没有评论,赶紧抢沙发吧!