日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 物聯網 > 區(qū)塊鏈
[導讀] 比特幣是世界上第一種成功的加密貨幣,之前的嘗試都沒有像比特幣這樣有效解決有關貨幣的各種問題。 比特幣本身是密碼學發(fā)展的產物,利用了密碼學中的很重要的“單向散列函數”以及數字簽名

比特幣是世界上第一種成功的加密貨幣,之前的嘗試都沒有像比特幣這樣有效解決有關貨幣的各種問題。

比特幣本身是密碼學發(fā)展的產物,利用了密碼學中的很重要的“單向散列函數”以及數字簽名兩大技術來構建,今天我們來集中精力講解單向散列函數的5種重要的特性,以及比特幣挖礦相關的技術原理。

下面我們先講哈希函數的特性:

單向散列函數(one-wayhash function),也就是通俗叫的哈希函數。

第一個特點:輸入可以任意長度,輸出是固定長度

哈希函數不用知道輸入信息代表的是什么意思,也無所謂信息的長度有多長,只要輸入hash函數出來的都是固定長度的比特值。比如非常有名的SHA256 哈希函數,輸入任何值出來的都是256比特的0和1. 輸入一本《三國演義》或者僅僅輸入一個字母a,出來的都是256位比特長度的數據。

第二個特點:計算hash值的速度比較快

這一點經常被大家所忽略,似乎是習以為常的東西就不去在意,其實這一點同樣重要,因為單向哈希的計算很快,才能保證加密或者驗證的速度。

第三個特點,防碰撞特性(Collisionresistance)

X≠y,H(x)=H(y) 輸入空間遠遠大于輸出空間,比如256位的哈希值指的就是輸出空間是2^256這么多,輸入是無限可能的,輸出是固定長度。

但是,目前沒有找到沒有好的方法去找出一個x能得到H(x)等于右邊的值。

遍歷所有輸入的可能能去找到這個值,叫做brute-force暴力破解嗎,也就是現在礦機所謂的“哈希碰撞”這個詞的來源。

哈希防碰撞用處是保證上傳和下載的數據是一樣的,就是改一點點出來的結果差很多。舉個例子,你輸入的信息是一部《紅樓夢》(當然電腦識別出來就是0和1),然后你在紅樓夢的第100頁的第五句話把一個逗號改成句號,然后輸出的hash值就完全不同了。這就是哈希函數一個非常重要的特性。

但是collision resistance目前沒有數學證明這個碰撞不會發(fā)生,MD5就是最好的例子,之前是很安全的,但是后來找到了破解方法。

第四個特點:隱藏性(Hiding)或者叫做單向性(one-way)

哈希函數的計算過程是單向不可逆的。x推出H(x),但是反推沒有法子(單向性),也就是說,哈希值沒有泄露輸入的x的信息。也就是說x的信息被隱藏了起來,這也就就是隱藏性。

輸入空間要足夠大,取值是均勻的,這樣就很難暴力破解。

利用第三和第四個特性可以做出很有趣的應用場景。

比如預測一個事情?,F實世界中預測和結果很多時候是有微妙的關系的,比如三國時期,曹操專門去找當時的人物品鑒專家許劭,讓他看看自己是什么材料,許劭評價曹操是“治世之能臣,亂世之奸雄”,這個很難說他評的準不準,或許因為這個評語,影響了曹操的心理,他就朝這個方向發(fā)展了,就成了自我驗證的預言了。所以,很難判斷預測是否真的準。

更簡單例子是,有影響力的股評師,今天預測一下明天的股價是不是增長,那么,他如果公開表明幣價,可能會影響幣價。

所以如何表明他確實很準確呢?讓他把股評信息寫到紙上,或者存到電腦里,但是要求是第二天開盤后,不能偷偷修改內容,這樣就不用擔心預測影響股價了。那么現在需要做的只是一件事兒:保證他沒有篡改自己已經寫好的內容。

那么,可以用hash算法,預測的結果(信息)是x,對x 哈希函數一下,公布hash值,第二天收盤再把x放出來,如果你改了昨天的數據,hash就變了。所有人都可以用hash算一下這個x和昨天公布的hash值進行對比。

實際情況下,實際的輸入空間不是很大,輸入不夠隨機,擔心有人對上升下跌這樣的詞匯語句進行組合排列,找到這個x,為了保證安全性,會加入一個nonce隨機數,公式表達如下。

H(x丨丨nonce) nonce是一個隨機數

意思就是預測的結果信息x后面加個隨機數,一起得到hash。

第五點:謎題友好(puzzlefriendly)

就是說看x不知道H(x)是什么?這個無法從輸入數據,判斷到底輸出是什么樣子。就是說,知道輸入的信息,無法一眼看出來輸出的hash值是什么,謎題友好性值得就是這一點:你無法通過控制輸入值x來獲得想要的輸出值H(x)

所以,綜合隱藏性和謎題友好性兩個特點,知道輸入信息也不知道哈希值是什么,可以很快算出來,但是無法預先判斷;知道哈希值也不能知道輸入值是什么,反向計算是非常非常困難的,只能暴力破解。

所以如果你想要輸出的值落在某一個范圍里,比如小于某個數值,計算機只能一個一個去試去猜答案,看哪個輸入算出來的輸出值正好是落在你想要的范圍內。

你要得到一個hash值前面K位是0。你無法知道怎么得到前面是這么多0的x。

挖礦就是找nonce,就是這個隨機數。

H(block header + nonce)≤target

這就是比特幣挖礦的基本原理,就是哈希碰撞去找到這個nonce,讓他小于一個target(比如32個0等等)。Block header(或者block head)就是區(qū)塊頭包括的信息都是所有礦工都知道的信息(比如version,prehash,merkle root,nTImenbits等等信息),所以大家競爭的是誰先猜出來nonce。

備注:在二進制的世界里,因為每一位比特都是0或者1,所以比大小,就是比前面的0的數量,前面32位是0,自然小于前面31位是0(第32位是1),這個target的所謂比大小也就是限定個范圍,因為sha256出來的數字都是256位的二進制數字(哈希函數輸出值長短固定的特性),比誰前面的0多是很方便的劃定結果值的區(qū)域的方式。這一點大家忽略的人很多,其實是一個很基礎的數學知識,值得注意。

挖礦的基本思想就是來自上述的信息。在比特幣中的挖礦的過程里實際上就是去找nonce也就是確定了輸出范圍后,去找輸入的值。H(block header + nonce)≤target

當輸入的值(各種信息+nonce)進行hash運算后得到的值符合target的范圍,比如說前面35個0就可以了,你猜出來的值輸入后得到hash值前面40個都是零,那么肯定符合要求,實際上前面35個0就滿足條件了嘛。

然后你把這個信息公布出去,別的礦工看到你的nonce值,也去hash一下,很快就知道你這個nonce是合適的,可以滿足target的要求。這里就用到了哈希函數的計算速度快的特性(第二個特性)。

本文總結了單數散列函數也就是哈希函數的特性,這就是很多區(qū)塊鏈應用的基礎以及比特幣加密挖礦的基本原理。文章開頭說過,比特幣運用的密碼學除了函數函數,還有一個非常重要的內容是:數字簽名。這個我們很快就會講到。

目前世界上所謂的區(qū)塊鏈落地應用,其實有時候用的是比特幣的數據結構(默克爾樹等),有時候用的是UTXO模型來結算。有的時候說是溯源,有的時候說是合約。很多的應用出來,不管是什么樣的概念,多數都要用到哈希函數,利用哈希函數5種特性中的一部分。

隨著文章講解的深入,關于比特幣,關于行業(yè)的信息都在展開,慢慢的大家更能明白,為什么說哈希函數是比特幣和區(qū)塊鏈行業(yè)的基礎了。
來源: 加密二鍋頭?

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

LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅動電源的性能直接關系到整個系統的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅動性能的關鍵。

關鍵字: 工業(yè)電機 驅動電源

LED 驅動電源作為 LED 照明系統的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅動電源 照明系統 散熱

根據LED驅動電源的公式,電感內電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅動控制系統,而絕緣柵雙極型晶體管(IGBT)作為電機驅動系統中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅動電源

在現代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質量和效率直接關系到城市的公共安全、居民生活質量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅動電源 功率因數校正

在LED照明技術日益普及的今天,LED驅動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現在的LED驅動電源

關鍵字: LED 驅動電源 開關電源

LED驅動電源是把電源供應轉換為特定的電壓電流以驅動LED發(fā)光的電壓轉換器,通常情況下:LED驅動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅動電源
關閉