哈希運算在區(qū)塊鏈中的作用究竟是什么?
哈希是一種使用哈希函數將鍵和值映射到哈希表中的技術或過程,哈希運算在區(qū)塊鏈中主要用于數據加密。其中哈希指針不僅要保存結構體在內存中的位置還要保存結構體的哈希值,區(qū)塊鏈和普通鏈表的主要區(qū)別就在于用哈希指針代替了普通的指針。區(qū)塊鏈的哈希值能夠唯一而精準地標識一個區(qū)塊,把各個區(qū)塊串聯成區(qū)塊鏈,每個區(qū)塊都包含上一個區(qū)塊的哈希值和下一個區(qū)塊的值。很多投資者還不知道哈希運算在區(qū)塊鏈中的作用究竟是什么?下面就讓小編來為大家介紹一下。
哈希運算在區(qū)塊鏈中的作用究竟是什么?
哈希運算在區(qū)塊鏈中主要用于數據加密,哈希加密算法,SHA256,是由美國國 家 安 全 局研發(fā),由美國國家標準與技術研究院(NIST)在2001年發(fā)布。
將任何一串數據輸入到SHA256將得到一個256位的Hash值(散列值)。
其特點:相同的數據輸入將得到相同的結果。輸入數據只要稍有變化(比如一個1變成了0)則將得到一個千差萬別的結果,且結果無法事先預知。
具體來說就是哈希算法將數據打亂混合,壓縮成摘要,使得數據量變小,重新創(chuàng)建一個叫做哈希值的指紋。
區(qū)塊鏈使用的是單向哈希。哈希樹的頂部為頂部哈希(top hash),亦稱根哈希(root hash)或主哈希(master hash)。它是通過并聯兩個子哈希來往樹上爬直到找到根哈希。它的作用就是作用快速定位每筆交易;核實交易數據是否被篡改。
區(qū)塊頭中有個參數叫隨機數Nonce,尋找這個隨機數的過程就叫做”挖礦“。比特幣挖礦過程使用SHA256哈希函數不斷運算。挖礦就是重復計算區(qū)塊頭的哈希值,不斷修改Nonce值,直到符合目標哈希值過程。哈希函數的結果無法預知,也沒有特定模式快速算出哈希值。
區(qū)塊鏈的哈希算法
哈希算法是區(qū)塊鏈中用得最多的一種算法,它被廣泛地使用在構建區(qū)塊和確認交易的完整性上。它是一類數學函數算法,又被稱為散列算法,需具備三個基本特性:其輸入可為任意大小的字符串、它產生固定大小的輸出、能在合理的時間內就能算出輸出值。
哈希算法有很多,區(qū)塊鏈主要使用的哈希算法是SHA-256算法:將任意數據串作為輸入值代入公式,可以得到一個獨一無二的64位輸出值,但是用輸出值無法倒推出輸入值。
對于同一個哈希算法來說,相同的輸入必定會得到相同的輸出,不同的輸入必定會得到不同的輸出。區(qū)塊鏈就是利用哈希函數為區(qū)塊生成簽名的,將區(qū)塊中的數據作為輸入,得到的輸出就是區(qū)塊的簽名。
哈希在區(qū)塊鏈中用于表示世界的當前狀態(tài)。輸入是區(qū)塊鏈的整個狀態(tài),這意味著到目前為止發(fā)生的所有交易和生成的輸出哈希代表區(qū)塊鏈的當前狀態(tài)。第一個哈希是使用該塊內的交易為第一個塊或創(chuàng)世塊計算的,初始交易的序列用于計算創(chuàng)世塊的塊哈希。對于之后生成的每個新塊,還使用前一個塊的哈希值以及它自己的交易作為輸入來確定其塊哈希值,這就是區(qū)塊鏈的形成方式。
以上就是哈希運算在區(qū)塊鏈中的作用究竟是什么?的詳細內容,更多關于區(qū)塊鏈的哈希算法的資料請關注腳本之家其它相關文章!
你可能感興趣的文章
-
哈希率越高越好嗎?哈希率越高代表什么分析
這篇文章主要介紹了哈希率越高越好嗎?哈希率越高代表什么分析的相關資料,需要的朋友可以參考下本文詳細內容介紹…
2022-12-06 -
一文讀懂什么是哈希算法原理和用途
這篇文章主要介紹了一文讀懂什么是哈希算法原理和用途的相關資料,希望這篇關于什么是哈希算法原理和用途的文章,能夠幫助到各位投資者對哈希算法有一個更加全面深入的了解…
2021-11-30 -
哈希函數是什么意思?哈希函數應用在區(qū)塊鏈的哪些地方?
這篇文章主要介紹了哈希函數是什么意思?哈希函數應用在區(qū)塊鏈的哪些地方?的相關資料,對本文感興趣的朋友,不妨查看下詳細內容,一起來看看吧!…
2021-08-19 -
區(qū)塊鏈中的哈希值是什么意思?如何在區(qū)塊鏈中使用哈希值?
這篇文章主要介紹了區(qū)塊鏈中的哈希值是什么意思?如何在區(qū)塊鏈中使用哈希值?的相關資料,區(qū)塊鏈通過哈希算法對一個交易區(qū)塊中的交易信息進行加密,并把信息壓縮成由一串數字…
2021-08-02 -
狗狗幣挖礦最佳的哈希速率是多少呢?狗狗幣挖礦哈希值多少最好
這篇文章主要介紹了狗狗幣挖礦最佳的哈希速率是多少呢?狗狗幣挖礦哈希值多少最好的相關資料,需要的朋友可以參考下本文詳細內容介紹…
2023-03-03