區塊雜湊競猜遊戲系統開發技術原理分析
區塊鏈中的雜湊到底是什麼?
什麼是雜湊?
雜湊是將任意長的輸入程式設計加密的固定長度輸出的過程。雜湊並不等同於加密方法,因為無法解密雜湊值來獲取原始資料。事實上雜湊是一種單向加密函式。
有了雜湊函式,就可以將網際網路上的資料以固定長度字串的形式來儲存。其中一種方法就是SHA-256(安全雜湊演算法-256位),SHA-256是SHA-1的後繼者,SHA-1的輸出是160位的。
幸運雜湊遊戲系統開發搭建,規則模式定製,歡迎隨時打擾小編薇芯:hkkf5566
雜湊是如何應用在區塊鏈中的?
在區塊鏈中,每個區塊中都有前一個區塊的雜湊值,前一個區塊叫作當前區塊的父區塊。由於每個區塊都有前一個區塊的雜湊值,當修改當前區塊的任意資料都會導致區塊的雜湊值發生變化,這會對前一個區塊產生影響,因為其中含有前一個區塊的地址。
比如,當前有兩個區塊,一個是當前區塊,一個是父區塊。當前區塊中有父區塊的地址,如果需要修改當前區塊的資料,就需要對父區塊鏈進行修改。如果只有兩個區塊就比較好修改資料,但事實上區塊鏈上有很多的區塊。
截至2020年1月24日12:32,一共有614272個區塊,第614272個區塊的雜湊值為00000000000000000007a6be31011560f1e3abe8f125e356a31db6051753334e。如果想要修改第614272個區塊的資料,那麼614271區塊的雜湊地址就會發生改變,但是修改所有614271個區塊的雜湊值是不可能的,因此區塊鏈中資料的不可篡改和可信賴的。區塊鏈的第一個區塊叫作Genesis(創始)區塊。
研究人員對該過程進行了視覺化:
如果對輸入產生小的修改,都可能會導致輸出產生大的改變。
雜湊是區塊鏈技術和不可篡改和潛力的核心基礎和最重要的方面。雜湊維護了記錄和檢視資料的真實性,區塊鏈的完整性也是這樣的。
這也是區塊鏈技術最重要的技術特徵的一部分,只有理解了雜湊才能瞭解區塊鏈不可篡改性的潛力和價值。
Merkle Tree(馬爾科夫樹)是什麼?
當有大量資料需要驗證時,就需要消耗大量的記憶體來儲存和確保安全,這個過程很難。但是有了馬爾科夫樹(Merkle tree),就可以輕易解決這些問題。
馬爾科夫樹是區塊鏈技術的基礎,在該結構中,可以很容易地在大量資料中找出哪些資料發生了變化,整個資料驗證的過程非常高效。比特幣和以太坊中都使用了馬爾科夫樹。
從上圖可以看出,所有的交易都在底部,最頂部的雜湊值叫作Root hash或Merkle root(馬爾科夫根)。
如上圖所示,有4個交易A、B、C、D。A和B雜湊後會形成一個雜湊值,C和D會形成另一個雜湊值,AB的雜湊結果和CD雜湊結果會組合來形成一個新的雜湊值——Root hash或Merkle RootABCD。
Root hash有所有交易的資訊。馬爾科夫樹會重複計算節點對的雜湊值,直到只剩下一個雜湊值,就是Root hash。
Merkle tree是一個二叉樹,所以需要偶數個葉子結點,如果交易數是奇數,那麼最後一個雜湊值會複製一次來建立偶數個葉子節點。
如上圖所示,可以看出奇數值的交易數中有複製的交易進行了雜湊,表明Merkle tree會計算奇數的葉子樹。
所有交易資料會總結成一個Root hash,儲存在區塊頭(block header)中。資料中有任何改變,整個雜湊值就會變化,如果雜湊值變化了,Merkle root就會發生變化。Merkle tree可以幫助維護資料的完整性。
Merkle tree的另一個好處是如果想要了解特定交易的狀態,無需下載整個區塊鏈,只需要請求豎直證明(vertical proof)和樹的特定分支,驗證一個特定的交易分支。
如何用雜湊來確保資料安全?
雜湊還增加了資料的安全性。因為沒有加密資料,所以無需也無法解密資料。因為雜湊函式是單向加密函式,加密雜湊函式需要滿足一些關鍵特徵才能保證是有用的,包括:
每個雜湊值都是不同的
相同的訊息會生成相同的雜湊值
無法根據雜湊值確定輸入值
輸入值的微小變化也會導致整個雜湊值的變化
雜湊可以幫助確定資料是否被修改過。比如,之前下載了一些重要資訊,為確定資料是否被修改過,可以對資料進行雜湊計算,並比較資料的雜湊值和接收到的資料的雜湊值。
如果雜湊值相同,就表明資料沒有被修改過,如果雜湊值不匹配,就表明資料在傳送後接收前被修改了。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70011332/viewspace-2885649/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 區塊雜湊競猜遊戲系統開發技術分析遊戲
- 雜湊競猜遊戲系統開發原理丨雜湊遊戲系統開發技術方案丨雜湊競猜遊戲開發原始碼搭建遊戲開發原始碼
- 雜湊競猜遊戲系統開發技術丨雜湊競猜遊戲開發原始碼部署遊戲開發原始碼
- 雜湊競猜遊戲系統開發DAPP丨雜湊競猜遊戲開發技術程式碼示例APP遊戲開發
- 區塊鏈雜湊遊戲競猜模式系統開發技術原始碼部署區塊鏈遊戲模式原始碼
- 雜湊遊戲競猜開發穩定版,雜湊遊戲競猜系統開發技術詳情及案例,雜湊遊戲競猜原始碼部署遊戲原始碼
- 雜湊競猜開發原理丨雜湊競猜遊戲原始碼丨雜湊競猜系統開發設計程式碼遊戲原始碼
- hash雜湊競猜遊戲開發模式丨雜湊遊戲競猜玩法系統開發技術功能遊戲開發模式
- 競猜雜湊遊戲系統開發程式碼詳情丨競猜hash雜湊遊戲開發技術詳情遊戲開發
- 雜湊競猜遊戲系統開發原理方案探究遊戲
- 雜湊競猜遊戲系統技術開發丨雜湊遊戲Solidity智慧合約遊戲Solid
- 雜湊競猜遊戲開發示例丨Hash雜湊遊戲系統開發丨雜湊競猜遊戲詳情遊戲開發
- 雜湊競猜遊戲系統開發技術邏輯(Demo方案)遊戲
- 雜湊遊戲系統技術開發丨雜湊單雙競猜遊戲原始碼丨雜湊遊戲程式設計技術遊戲原始碼程式設計
- 雜湊趣投競猜遊戲專案系統開發(技術說明分析)遊戲
- Hash雜湊遊戲原始碼丨雜湊競猜遊戲系統技術開發丨Hash雜湊遊戲講解遊戲原始碼
- 雜湊競猜遊戲系統搭建原理方案遊戲
- 雜湊競猜遊戲系統構造原理遊戲
- Hash雜湊競猜遊戲系統開發(詳細及分析)丨雜湊Hash競猜遊戲系統開發(原始碼專案)遊戲原始碼
- 雜湊競猜遊戲原始碼版丨雜湊競猜遊戲系統開發(邏輯及詳情)丨雜湊競猜遊戲開發穩定版原始碼遊戲開發
- 雜湊競猜遊戲的原理遊戲
- 關於Hash競猜遊戲開發技術方案丨雜湊競猜遊戲系統開發邏輯(原始碼部署)遊戲開發原始碼
- HASH雜湊遊戲競猜模式系統開發方案(原始碼部署)區塊鏈雜湊遊戲開發多種遊戲介紹模式原始碼區塊鏈遊戲開發
- 幸運雜湊單雙競猜遊戲開發技術丨雜湊遊戲系統程式設計開發(部署搭建)遊戲開發程式設計
- 雜湊競猜遊戲系統開發(詳情及案例)丨雜湊競猜遊戲開發原始碼正式版遊戲開發原始碼
- 雜湊競猜遊戲系統開發(方案及邏輯)丨雜湊競猜遊戲開發(原始碼及專案)遊戲開發原始碼
- 區塊鏈雜湊值演算法競猜遊戲開發原理方案詳解區塊鏈演算法遊戲開發
- 雜湊遊戲競猜系統開發原始碼(DEMO)hash遊戲競猜系統開發瞭解方案遊戲原始碼
- 雜湊競猜遊戲開發正式版丨雜湊競猜遊戲系統開發(開發詳細)及原始碼案例遊戲開發原始碼
- hash遊戲競猜系統開發方案丨雜湊HASH遊戲競猜系統開發方案/(原始碼部署)遊戲原始碼
- 專業開發雜湊競猜遊戲系統《定製》遊戲
- Hash幸運雜湊競猜遊戲系統設計開發丨雜湊單雙尾數大小競猜遊戲遊戲
- 雜湊遊戲原始碼開發搭建丨hash雜湊遊戲競猜原始碼搭建丨雜湊遊戲系統開發遊戲原始碼
- 雜湊競猜遊戲遊戲
- DAPP雜湊競猜遊戲hash系統設計開發方案APP遊戲
- Hash競猜雜湊遊戲鏈遊系統技術開發及程式設計示例詳情遊戲程式設計
- hash雜湊遊戲競猜系統合約開發解析丨defi丨雜湊遊戲原始碼遊戲原始碼
- 什麼是雜湊演算法?雜湊競猜遊戲開發原理詳解演算法遊戲開發