當前位置:首頁 > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 當新人在學(xué)區(qū)塊鏈技術(shù)的時候,都會聽到哈希和哈希算法,這似乎是無處不在的安全性保證。例如比特幣或者以太坊這種運行去中心化網(wǎng)絡(luò)和共識的機器,都會有上萬個節(jié)點通過P2P連接,并且需要“無需可信”和可驗

當新人在學(xué)區(qū)塊鏈技術(shù)的時候,都會聽到哈希和哈希算法,這似乎是無處不在的安全性保證。例如比特幣或者以太坊這種運行去中心化網(wǎng)絡(luò)和共識的機器,都會有上萬個節(jié)點通過P2P連接,并且需要“無需可信”和可驗證的效率。這些系統(tǒng)需要將信息寫入緊湊的格式,從而通過參與者進行保證安全和快速驗證。

比特幣和以太坊主要的primitive是區(qū)塊的noTIon,這是包含轉(zhuǎn)賬信息,時間戳和其他重要數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)。他們安全性的重要部件,就是能夠壓縮網(wǎng)絡(luò)全部的狀態(tài)信息,變成很短,并且標準的信息,在需要的時候可以進行有效驗證,這就被稱之為哈希。

到處都會使用加密哈希,從密碼存儲到文件驗證系統(tǒng)。使用確定性算法的基本原理,就是使用一個輸入,并且每次都產(chǎn)生一個固定長度的字符串。也就是說,使用同樣的輸入總是會導(dǎo)致同樣的輸出。

確定性不僅對哈希很重要,而且可以改變輸入的單個字符會產(chǎn)生完全不同的哈希。

哈希算法的問題是碰撞(collisions)的必然性。哈希是固定的字符串,意味著對于每個輸入,不同的輸入都會產(chǎn)生同樣的輸出。碰撞(collisions)是不好的。這意味著如果有攻擊者能夠根據(jù)需求創(chuàng)建這種collisions,那么他就可以讓欺詐文件或者數(shù)據(jù)看起來像正確的,合適的哈希,并且冒充合法。優(yōu)質(zhì)哈希功能的目標是讓攻擊者很難找到,獲得輸入數(shù)據(jù)的方法。

計算哈希不應(yīng)該太簡單,因為這會讓對于攻擊者來說,計算collisions也變得很容易。哈希算法需要對“預(yù)攻擊”有抵抗性。也就是說,給定哈希,應(yīng)該很難計算追溯確定性的步驟來重新產(chǎn)生由哈希創(chuàng)建的數(shù)值。

Given s= hash(x), finding x should be near impossible.

概括來看,“好的”哈希算法會有以下3種特性:

-在輸入中改變一個字符,應(yīng)該會創(chuàng)建雪崩效應(yīng),從而導(dǎo)致完全不同的哈希

-很低的概率會產(chǎn)生collisions

-提高效率,但是不會犧牲collision的對抗性

破散哈希

其中一個初始哈希算法標準是MD5哈希,這是被廣泛用來進行文件整合驗證,而且存儲哈希密碼在網(wǎng)頁應(yīng)用數(shù)據(jù)庫。這個功能非常簡單,因為輸出是固定的,128個字符串對于每個輸入,并且使用幾輪微不足道的單向運算來計算其確定性輸出。它的輸出長度短,操作簡單,使得MD5徹底易碎,被稱為生日攻擊。

“生日攻擊”是什么?

我們曾經(jīng)聽過,如果你把23個人放在一個房間,就會有50%的概率,其中的2人會有同樣的生日?將這個數(shù)字提升到70人在一個房間,就會有99.9%的概率。這就是我們所說的鴿巢原理,也就說如果把100個各自放到99個箱子,你就必須在1個盒子里面放2個鴿子。換句話說,固定的輸出意味著collisions 可能會找到固定的排序。

其實,MD5對于collision的抵抗是很脆弱的,家庭使用的2.4GHz處理器就可以在幾秒鐘算出哈希collision。而且,對于現(xiàn)在網(wǎng)頁的早期使用,還可以在網(wǎng)絡(luò)上創(chuàng)建很多MD5的預(yù)圖形,如果搜索哈希,就可以在谷歌上很容易找到。

哈希算法的多樣化和革新

開始:SHA1 &SHA2

NAS被稱為哈希算法標準的先驅(qū),最初的想法是安全哈希算法或者SHA1,創(chuàng)建了160固定長度的輸出。不幸地是,SHA1通過增加了輸出長度,單向操作的數(shù)量,還有單向操作的復(fù)雜性,從而形成了MD5算法,但是這不會提供任何基礎(chǔ)的提升,來對抗更有力量的機器來嘗試不同的攻擊。

我們怎么才能做得更好呢?

進入SHA3時代

在2006年,國家標準和技術(shù)研究院提出了一個比賽,來找到SHA2的替代,這在本質(zhì)上九不同,從而形成了標準。因此,SHA3作為現(xiàn)在所知的KECCAK哈希算法一部分,就這樣誕生了。

盡管表面看起來是相同的,SHA3通過一個被稱為海綿結(jié)構(gòu)的機制,讓內(nèi)部變得非常不同,這使用了隨機的排列來輸入和輸出數(shù)據(jù),同時也為未來的輸入提供了隨機的來源,這會進入到哈希算法中。

SHA3維持了內(nèi)部的狀態(tài)并且有和輸出相關(guān)的更多信息,這可以防止之前算法的限制。在2015年,通過NIST成為了標準。

哈希算法和工作量證明

當考慮到整合哈希算法到區(qū)塊鏈協(xié)議中的時候,比特幣使用了比較舊的SHA256算法,但是以太坊使用了修改后的SHA3算法,作為工作量證明的算法。選擇工作量證明區(qū)塊鏈的哈希功能是很重要的部分,但是計算的效率稱為哈希。

比特幣SHA256算法通過特定的硬件ASIC,進行有效計算。在礦池中,很多都是在ASIC上寫入的算法,但是這也會使得整個協(xié)議往中心化計算發(fā)展。也就是說,工作量證明激勵了有效計算機器來聚集成礦池,同時也增加了哈希力?;蛘咭环N機器可以計算每個時間間隔的哈希數(shù)量。

以太坊,使用的是被稱為KECCAK256的改進SHA3。而且,以太坊的工作量證明算法,Dagger-Hashimoto意味著意味著內(nèi)存難以計算硬件。

為什么比特幣使用雙重SHA256算法?

比特幣通過SHA256算法,會有很有趣的方式來獲得哈希數(shù)據(jù),因為它會在協(xié)議中運行算法的2次迭代。需要注意地是,這并不是生日攻擊的對策,因為很明顯如果hash(x) = hash(y),那么hash(hash(x)) = hash(hash(y))。但是,雙重SHA256算法是被使用來減輕長度擴展攻擊。

本質(zhì)上來說,這類攻擊包括,惡意欺詐的人知道哈希輸入的長度,可以用來欺騙哈希來開始內(nèi)部狀態(tài)的某個部分,通過附加一個私密字符串到哈希值。SHA256,是SHA2算法大家庭中的一個,逃離這個陷阱,比特幣通過計算哈希兩次來減輕它。

以太坊2.0和BLAKE算法

SHA3并不是來自2006年NIST哈希比賽的唯一突破。盡管SHA3獲得勝利,稱為BLAKE的算法獲得第二。對于以太坊2.0分片技術(shù)的部署,更有效的哈希幾乎是個特性要求,研究團隊非常重視。BLAKE2b哈希算法,這是BLAKE的更新版本,在和KECCAK256算法相比的時候,它由于效率很高正在被廣泛使用,同時也保證了很高的安全性。

BLAKE2b的計算速率實際上是比KECCAK在現(xiàn)代CPU上要快3倍。

哈希算法的未來

不論我們怎么做,我們只能(1)提高內(nèi)部哈希操作的復(fù)雜性,或者(2)提高哈希輸出的長度,希望攻擊者的計算機不會足夠快到能夠有效地計算collision。

我們依賴于網(wǎng)絡(luò)安全單向操作前圖像的模糊性。也就是說,哈希算法的安全目標是讓所有人盡可能困難地找到能夠獲得同樣哈希輸出的數(shù)值,盡管對于可能的collision,其數(shù)值是有限的。

未來有量子計算機了?哈希算法還安全嗎?

根據(jù)現(xiàn)在的理解,答案是肯定的。哈希算法將經(jīng)受量子計算機的考驗。量子計算能夠打破的東西,是嚴密的,用巧妙的技巧和理論建立的底層數(shù)學(xué)架構(gòu),例如RSA加密。另個方面來看,哈希算法在內(nèi)部的框架中,有更少的形式結(jié)構(gòu)。

量子計算機確實加快了計算的速度,例如哈希算法,但是最后,它們也會被利用來進行如同現(xiàn)在計算機的攻擊。

不論我們?yōu)閰f(xié)議選擇了什么算法,很清楚地是我們都處于有效計算的未來,而且我們必須要使用最好的方式來獲得正確的工具,以及那些希望能經(jīng)受時間考驗的人。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉