編者按:本文來自
以太坊愛好者
,作者:RaulJordan,翻譯&校對:閔敏&阿劍,Odaily星球日報經授權轉載。
哈希值和哈希函數的概念是初次入門區塊鏈的人常聽到的兩個關鍵詞,而且似乎對安全性來說特別關鍵。對于像比特幣和以太坊這樣由成千上萬的節點通過P2P方法組成的去中心化網絡來說,“免信任性”和驗證效率無疑是關鍵。也就是說,這些系統需要找到方法把信息編碼成緊湊的形式,同時讓參與者能夠安全快速地進行驗證。
比特幣和以太坊網絡所處理的主要內容叫做“區塊”,指的是由交易、時間戳和其他重要元數據所組成的數據結構。比特幣和以太坊網絡的安全性的關鍵一環是:它能將表達網絡全局狀態的大塊信息壓縮成一個簡短的消息。在有需要之時,我們可以高效地驗證這個消息的真實性。這個過程就是用哈希函數來完成的,而得到的結果就是哈希值。
-即使只更改輸入中的一個字符,最后得出的哈希值也會完全不同-
密碼學哈希廣泛應用于口令存儲和文件驗證系統。簡單來說,密碼學哈希函數是一種確定性的算法,不論輸入什么值,都能得到一個固定長度的字符串。也就是說,同一個輸入值始終對應同一個輸出值。
歐科云鏈集團正式啟動區塊鏈科普行動“星途計劃”:歐科云鏈集團于4月26日,正式宣布啟動了區塊鏈科普行動——“星途計劃”,行動包括將在全國范圍展開系列沙龍,加大力度推進區塊鏈科普進機關、進國企、進校園等,聯合政府部門、行業協會等共同構建起更加完善和有效的區塊鏈科普教育生態,與此同時,直擊區塊鏈科普現存痛點,推出簡單易懂的“秒懂區塊鏈”公益短視頻課。
該計劃旨在全維度推動社會建立對產業更清晰的認知,與“鯤鵬計劃”一道助力數字經濟及區塊鏈產業本身健康發展夯實“人才”和“產業認知”兩大基礎。[2021/4/26 20:59:37]
對哈希函數來說,重要的不僅是確定性:即使只更改輸入中的一個比特位,也會導致最終得到的哈希值截然不同。
哈希算法有一個無可回避的問題叫碰撞可能性。因為哈希值是固定長度的字符串,同一個哈希有可能對應多個輸入。碰撞會造成很嚴重的后果。如果有人能夠按需要發起碰撞攻擊,他就可以用恰當的哈希值將惡意文件或數據偽裝成合法的、能夠通過驗證的文件。好的哈希函數的設計目標是讓攻擊者極難找到方法來找出對應同一個哈希的不同輸入。
哈希計算的效率不應過高,以免讓攻擊者可以更簡單地人為計算出碰撞。哈希算法必須能夠抵御“原像攻擊”。也就是說,對于特定哈希值,攻擊者很難通過確定性計算步驟倒推出輸入值。
動態 | 鏈客社區聯合北京交通廣播推出區塊鏈技術科普節目:12月11日15:15—16:00,區塊鏈技術社區——鏈客區塊鏈技術社區將聯合北京交通廣播FM103.9從零開始為大眾科普解碼區塊鏈技術,蜻蜓FM及北京廣播網同期進行全球直播。首期做客嘉賓為鏈客區塊鏈技術社區創始人郄建軍和百度區塊鏈產品負責人于雅楠。[2019/12/11]
假設s=hash(x),倒推x應該是近乎不可能的。
總的來說,“好的”哈希算法需要具備以下3個特性:
更改輸入中的一個比特位會產生雪崩效應,導致最后得出的哈希值截然不同
出現哈希碰撞的概率非常低
在無需犧牲抗碰撞性的前提下計算效率過得去
破解哈希算法
哈希算法的初始標準之一是MD5哈希。MD5哈希廣泛應用于文件完整性驗證,以及在網絡應用數據庫中存儲經過哈希計算的賬號口令。MD5的功能非常簡單,因為它會將每個輸入轉換成一個固定的128位字符串輸出,并通過多輪簡單的單向操作來計算確定性輸出。由于輸出值長度較短,操作又較為簡單,MD5很容易被破解,一種常見的攻擊方法叫生日攻擊。
現場 | 火幣中國推出數字經濟及區塊鏈產業科普新書:金色財經現場報道,12月6日,由海南省工業和信息化廳主辦,南南合作金融中心協辦,海南生態軟件園、火幣中國承辦的“海南自貿港數字經濟和區塊鏈國際合作論壇”在海口舉行,這是全球首次區塊鏈部長級論壇。
在本次論壇上,火幣中國舉行了“數字經濟及區塊鏈產業科普系列新書發布”儀式,希望通過教材、專業教育、培訓等多種方式,幫助從業者、高校、研究機構深入了解區塊鏈,從而建立起區塊鏈全局性知識模型,真正推動區塊鏈應用落地。火幣中國CEO袁煜明介紹,將聯合機械工業出版社面向普通高等教育推出《區塊鏈導論》、《區塊鏈系統設計與應用》和《區塊鏈新商業模式分析》系列教材,這是國內最早推動的區塊鏈教材之一;火幣中國還積極參與數字經濟的研究,由中信出版社出版的新書《讀懂Libra》已經上市;由火幣中國負責編寫的區塊鏈技術科普讀物《區塊鏈技術進階指南》將于12月面世;首本行業內最全的區塊鏈應用案例集《區塊鏈產業應用100例》在本次論壇進行了首次刊印。[2019/12/6]
“生日攻擊”是啥玩意?
你有沒有聽說過這樣一個事實?如果你將23個人放到一個房間里,其中兩個人生日相同的概率為50%。如果將70個人放到一個房間里,其中兩個人生日相同的概率高達99.9%。這就是我們所說的鴿籠原理,即,將100只鴿子裝進99個鴿籠,必然有兩只鴿子分享同一個鴿籠。也就是說,固定長度的輸出意味著所有輸入輸出組合中一定存在碰撞。
聲音 | 上海股交所總經理:區塊鏈想要大規模發展要做好社會科普工作:金色財經報道,上海股交所總經理張云峰表示,區塊鏈當前還處于一個“概念”的階段,距離成熟應用,影響到百姓的日常生活還有很長的路要走。對于“區塊鏈”和其會帶來的社會和經濟效果,沈陽應當持審慎的態度。區塊鏈想要大規模發展,一方面要做好這項復雜技術的社會科普工作,加快社會大眾對區塊鏈的了解。另一方面,要充分發揮市場的作用,讓企業用實實在在的技術創新,賦能實體經濟的發展。[2019/11/17]
-籠子不夠時,鴿子就會湊對-
事實上,MD5的抗碰撞性太差,以至于一臺家用2.4GHz奔騰處理器都能在幾秒內計算出哈希碰撞。此外,由于MD5在互聯網早期階段得到了廣泛應用,網絡上有大量MD5原像遭到泄漏,通過谷歌搜索它們的哈希值就能找到。
哈希算法的多樣性發展
源起:SHA1和SHA2
NSA是哈希算法標準的先驅。安全哈希算法是最早提出的標準,將輸出值的長度固定在160位。遺憾的是,SHA1只是在MD5的基礎上增加了輸出值長度、單向操作的次數和復雜度,但是并沒有作出能夠抵御更強大機器攻擊的根本性改進。
金色財經獨家分析 監管機構、媒體、業界提示詐騙風險 區塊鏈科普道阻且長:新華社今日發文表示,近來“區塊鏈”類詐騙案件頻發,不法分子以“投資虛擬貨幣周期短、收益高、風險低”為借口,騙取用戶信任并誘使其轉賬進行投資。無獨有偶,同日消息,騰訊手機管家安全專家也提醒此類風險,并從技術上提出防騙建議。在美國,監管機構警示加密貨幣欺詐現象普遍承諾高收益而不披露潛在風險。金色財經獨家分析,不法分子假借新技術之名進行詐騙,一方面是抓住民眾趨利的心理,一方面反映出區塊鏈科普的欠缺。區塊鏈是新興科技和底層技術并有改變社會生產關系的潛力,應該進行系統性的科普教育,當前,部分大學已經開始設置了區塊鏈課程,但對于普通民眾仍然有科普的需求,人們應該了解到系統和正確的知識,不僅要了解區塊鏈的好,也要明確局限和弊端,以在高收益的誘惑下,保持清醒客觀。[2018/4/11]
我們如何才能做得更好?
SHA3興起
在2006年,美國國家標準技術研究所舉辦了一場競賽,旨在找到一個本質上不同于SHA2的替代標準。因此,SHA3應運而生,它是KECCAK哈希算法的一種方案。
雖然SHA3在名稱上與SHA1和SHA2一脈相承,但是在本質上差異很大,因為它采用了一種名為海綿結構的機制。該機制使用隨機排列來吸收并輸出數據,同時為將來用于哈希算法的輸入值提供隨機性。
-KECCAK256海綿結構是如何進行輸入操作的-
SHA3的內部狀態相較于輸出值擁有更多信息,突破了以往算法的局限性。NIST于2015年正式認可了SHA3標準。
哈希計算和工作量證明
就整合進區塊鏈協議的哈希算法而言,比較早的比特幣選擇了SHA256,而以太坊采用了改進后的SHA3作為工作量證明算法。對于采用工作量證明的區塊鏈來說,選擇哈希函數的一大重要標準是哈希運算效率。
使用一類名為專用集成電路的硬件,我們可以大幅提高比特幣SHA256算法的哈希運算的效率。有很多文章已經闡述了礦池是如何利用ASIC的,以及ASIC是如何讓協議趨向于計算中心化的。也就是說,工作量證明會激勵計算效率較高的機器聚集成礦池,從而形成較大的哈希算力。
以太坊選擇的是改進后的SHA3算法。此外,以太坊的工作量證明算法Dagger-Hashimoto被設計成了內存密集型模式,計算硬件需要加大內存才能提高計算效率。
為什么比特幣采用雙重SHA256?
有趣的是,比特幣協議需要重復運行兩遍SHA256算法。請注意,這不是為了抵御生日攻擊,畢竟在hash(x)=hash(y)的情況下,hash(hash(x))=hash(hash(y))。雙重SHA256旨在抵御長度擴展攻擊。
從本質上來說,所謂的長度擴展攻擊,指的是如果惡意攻擊者知道了某個哈希輸入的長度,就可以在哈希值上添加一個秘密的字符串、欺騙哈希函數從其內部狀態的一個特定部分開始計算。作為SHA2算法家族的一員,SHA256也存在這一缺陷。因此,比特幣采取執行兩遍哈希計算的方式來解決這一缺陷。
Ethereum2.0和BLAKE
SHA3并非哈希算法競賽取得的唯一突破。雖然最終勝出的是SHA3,但是BLAKE算法緊隨其后,位居第二。對于以太坊2.0的分片實現來說,更高效的哈希算法可以說是一項功能性要求,研究團隊對此非常重視。BLAKE2b哈希算法是BLAKE算法的高度升級版本。與KECCAK256相比,BLAKE2b哈希算法在保持高度安全性的同時,在提升效率方面也進行了深入探索。
使用一臺現代CPU計算BLAKE2b的速度比計算KECCAK快了3倍。
哈希算法的前景展望
這么看來,無論我們做了什么,無非就是增加內部哈希操作的復雜度,或者增加哈希輸出值的長度,讓攻擊者的計算機無法足夠快地有效計算出碰撞。
我們依靠單向操作的原像模糊性來保護網絡的安全性。也就是說,哈希算法的安全性目標是在有無限多可能的沖突的情況下,讓找出哈希碰撞的難度盡可能高。
如果量子計算時代到來,哈希算法依然安全嗎?
就目前來看,答案是肯定的,哈希算法將經受時間的考驗,抵御量子計算。量子計算能夠解決的是那些嚴格按照某些小技巧或RSA加密理論打造底層結構的數學問題。另一方面,哈希算法的內部構造沒那么形式化。
量子計算機確實能夠提高哈希等非結構化問題的計算速度,但它們最終還是會像如今的計算機一樣采取暴力破解手段。
無論我們為協議選擇了哪種算法,我們顯然都在邁向計算高效化的未來。為此,我們必須慎重選擇最合適的工具,使之經受住時間的檢驗。
參考文獻
:
https:\u002F\u002Fbitcoin.stackexchange.com\u002F
:
https:\u002F\u002Fen.wikibooks.org\u002F
:
https:\u002F\u002Flearncryptography.com\u002F
:
https:\u002F\u002Fgithub.com\u002Fzcash\u002Fzcash\u002Fissues\u002F2233
:
https:\u002F\u002Fcrypto.stackexchange.com\u002F
:
https:\u002F\u002Fen.wikipedia.org\u002F
:
https:\u002F\u002Fkeccak.team\u002F
:
https:\u002F\u002Fen.wikipedia.org\u002F
:
https:\u002F\u002Fcrypto.stackexchange.com\u002F
自5月12日減半以來,比特幣價格已處于橫盤狀態一個多月。這很容易讓人聯想到2017年初比特幣第二次達到1180美金之后出現災難性拋壓,導致排名前幾的加密貨幣一天之內下跌近40%,當時比特幣被宣布.
1900/1/1 0:00:00編者按:本文來自巴比特資訊,作者:Kyle,星球日報經授權發布。Compound憑借著COMP分配的開始已經成為整個加密貨幣領域最亮眼的新興,即使是比特幣、ETH2.0這些以往最受關注的熱點也要.
1900/1/1 0:00:00數幣礦業經過10年的野蠻發展,已經成為了一個百億級,有很多細分行業的巨大產業,涉及能源、硬件、金融市場等的復雜的現象。在挖礦行業里面有很多難以量化的因素推動整個行業在朝著一些難以預測的方向發展.
1900/1/1 0:00:00(圖片來自:flickr.com)“我認為利率的作用是保持均衡,不是在新資本商品的需求和供給之間,而是在……對流動性的需求和滿足這種需求的手段之間.
1900/1/1 0:00:00編者按:本文來自鏈聞ChainNews,撰文:小毛哥,星球日報經授權發布。隨著區塊鏈市場對準確及可靠信息的需求呈現巨大增長,數字資產數據和基礎設施領域涌現出不少優質產品,有必要全面了解區塊鏈基礎.
1900/1/1 0:00:00吳說區塊鏈獲悉,17日凌晨3點20分許四川甘孜州丹巴縣半扇門鎮梅龍溝發生泥石流,多個當地礦場被毀。截至17日9時,當地已累計疏散5000余戶2萬余人,2人失聯.
1900/1/1 0:00:00