比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads
首頁 > DYDX > Info

EMO:5個emoji表情包,讓你秒懂哈希函數!

Author:

Time:1900/1/1 0:00:00

編者按:本文來自CSDN,作者:PatrickWoodhead,譯者:Shawn,星球日報經授權轉載。區塊鏈的發展史,實質上是開發者與哈希函數之間長達十年的情史。事實上,如果你理解哈希函數,那么理解區塊鏈的挖礦模式和不可篡改性便是一件輕而易舉的事情!哈希函數的應用很廣泛,比如每當你在網站上輸入密碼時,都會用到哈希函數。雖然哈希函數的用途雖然非常簡單,但是它的性能卻非常強大,在所有與版本控制、安全性和真實性有關的軟件中無處不在。但要明白什么是哈希函數并不容易,雖然解釋的資料很多,但要么過于專業晦澀難懂,要么枯燥無味。因此,在這篇文章中,營長會用一種大白話的方式讓你理解哈希函數的本質,并且通過emoji表情,形象的讓你秒懂哈希函數背后的內含。哈希函數是什么?哈希函數在近年來的技術進步中發揮著非常重要的作用。哈希函數是什么?它的工作原理是什么?我認為我們都應該至少有個基本的了解。網上有很多關于哈希函數的解釋,這些解釋要么晦澀難懂,要么枯燥無味。其實,我們可以把哈希函數想象成一個emoji工廠,工廠接收一行一行的emoji,但它接受的emoji只有獼猴桃、菠蘿、茄子、辣椒、胡蘿卜和玉米。emoji工廠接受和輸出的6種emoji輸入的emoji被工廠處理后,輸出的也只是一行行上述emoji。這個emoji工廠之所以特別,有以下幾個原因。1.工廠返回的emoji要比它接收的emoji少每次,工廠都會從以上6個emoji選項中選出8個emoji。然后,處理這些emoji并返回一行emoji,這些emoji也是從上面的6種emoji中選出來的。重點是,它輸出的emoji比接收的emoji少。Emoji哈希工廠2.對于相同的輸入,工廠總是返回相同的輸出如果你把8個emoji以相同的排列順序送入工廠兩次,那么工廠兩次都將以相同的順序返回3個emoji。也就是說,這個工廠具有確定性。這一點,從上面的動圖中也可以看出,對于相同的輸入,工廠每次都會返回相同的輸出。3.emoji工廠是一條單向通道如果你輸入一行8個emoji,工廠就會立即返回一個輸出。但是,如果我將工廠輸出的3個emoji告訴你,但是不告訴你對應的輸入是什么,你是無法通過分析工廠和輸出來推導出輸入的。實際上,要想找出輸入,最快的方法是試錯。換句話說,要想找出某個輸出對應的輸入,最快的方式就是隨機輸入不同的emoji組,直到找到正確的那組。而且,你甚至可以在工廠里走一走,觀察它的實際運作方式,但你仍然不能根據輸出求解或逆向推導出輸入。這是一個嚴謹的單向工廠。也許你還是有點云里霧里,那么我們不妨以做蛋糕為例,如果我給你制作蛋糕所需的配料和一個詳細的配方,你只要依照配方使用這些配料,馬上就能做出一個蛋糕。假如我讓你用同樣的配料和配方再做一次,你很快就會做出一個相同的蛋糕。蛋糕的烘焙同理。但是,如果我給你的是蛋糕和配方,而配方不包含配料用量,只包含烘培步驟,你就很難計算出這個蛋糕的確切配料用量。這種情況下,用不同的蛋糕配料用量進行試錯或許是最好的方法。這樣,我們再來看一下emoji的屬性。4.只改變輸入中的一個emoji,也會得到完全不同的輸出在做蛋糕這個類比中,通過一次又一次的試錯,你可能會越來越接近正確的配料用量。但是對于emoji表情工廠來說,哪怕只對輸入作出細微的改變,就會得到完全不同的輸出。以上面的動圖為例,如果將輸入中第一個茄子換成胡蘿卜,那么得到的輸出就會是完全不同的3個emoji。這就意味著在給定輸出的情況下,無法通過不斷試錯「逐步逼近」正確的輸入。只能隨機嘗試不同的emoji組合,直到碰巧發現正確的輸入為止。區塊鏈挖礦本質上就是通過計算機不斷地進行試錯來找到輸入,這個輸入經過emoji工廠的處理能夠返回帶有某個特性的輸出,例如,以兩個茄子開頭的輸出。5.要找到某個輸出所對應的兩個輸入,最快的方法就是試錯看到這,你一定會問:等等,如果輸出比輸入短,那么每個輸出肯定會對應多個輸入吧?說的很對。如果你將8個emoji放入工廠,只得到3個emoji,那么一個輸出必定對應多個輸入。但是,emoji工廠的設計太妙了,即使你知道某個輸出對應的輸入之一,找出其余輸入的最快方法仍然是試錯法。換句話說,要找到一個輸出對應的兩個輸入,最快的方法就是試錯,直到發生「碰撞」為止。哈希函數的應用在說哈希函數的實際應用之前,我們先簡單對上面提到的五個哈希函數的屬性做個總結。工廠接收8個emoji并且返回3個emoji;相同的輸入總是返回相同的輸出;輕微改變輸入會導致輸出完全不同;給定一個輸出,試錯是計算對應輸入的最快方法;試錯是找到同一個輸出對應的兩個不同輸入的最快方法。在哈希函數中,這些特性之所以很重,我們不妨通過實際的應用來看看。假設你的密碼由8個emoji組成。每當你在網站輸入密碼時,網站存儲的不是你的密碼,而是你密碼的“哈希值”。這樣一來,如果出現數據泄露或者有人竊取到該網站存儲的個人數據,那么竊取者得到的只是一堆哈希值,而非實際的密碼!由于工廠是單向的,如果竊取者想根據哈希值逆向計算出實際的密碼,唯一的方法就是試錯。由于你的密碼由8個emoji組成,竊取者可能不用花很長時間就可破解你的密碼。但在實際生活中,可選作密碼的字符串集合要大得多,這就意味著可能的輸入也要多得多。而且,實際生活中哈希工廠/函數的輸出的長度也遠遠長于3個字符。因此在現實中,竊取者要花費很多很多年的時間才能根據哈希值算出對應的密碼!雖然這依然存在數據泄露的風險,但并不影響你重新登錄網站,你知道自己的密碼,直接輸入就好。這時,你輸入的密碼會立即由哈希工廠轉化成一個哈希值。網站可以立刻檢查這個哈希值是否與你的賬戶名所對應的哈希值匹配,因為哈希工廠總是返回相同的輸出,然后網站就會允許你登陸。但是密碼長度不一定都是8個emoji那么長,如果我想對一行更長的emoji表情進行哈希計算呢?沒有問題!通過這項由RalphMerkle和IvanDamg?rd兩位密碼學專家提出的簡單技術,任意長度的emoji組合經過「哈希計算」都可以被轉化成僅由3個emoji表情組成的哈希值。Merkle-Damg?rd架構具體怎么實現呢?如果給定一個長度更長的emoji組合,我們可以創建一組工廠來處理它。具體步驟如下:先對這行emoji進行分段,前8個emoji作為第一段,之后每5個emoji為一段來進行分段;將第一段emoji輸入第一個工廠;得到一個由3個emoji組成的輸出,將這個輸出與第二段emoji放在一行一起輸入第二個工廠;不斷重復這個過程,直到這行emoji表情組全部經過工廠處理。將最后一個工廠的輸出返回。這樣我們就把更長的emoji組轉化成3個emoji了!那么,既然現在輸入的長度問題解決了,那么找到輸出相同的兩行輸入會容易得多嗎?你可能直覺上會這么認為。但是,實際上并非如此。就像在一家工廠中找到「一次碰撞」一樣困難。原因在于,假設除了試錯之外,還有某種方法可以找到輸出相同的兩行較長的emoji組合輸入。那么,在某個實行Merkle-Damg?rd架構的工廠中,你輸入兩行不同的emoji組合,這個工廠將返回相同的輸出。但是,這意味著你使用試錯法之外的方法找到了一次碰撞,這就與上文中的假設相矛盾了,因為我們假設每個工廠都具有抗碰撞性!所以,通過增設工廠和數學推理,我們創造了一種方法,可以將任意長度的emoji組合處理成3個emoji。更重要的是,即使某人知道一個由3個emoji組成的輸出,也沒有比試錯法更快的方法可以用來計算出任意長度的對應輸入。鑒于現實世界的哈希計算存在太多組合,試錯可能會花費許多年!有了這個簡單的原理,你就可以將自己的emoji密碼設置成任意長度,其安全性不會受影響。哈希函數與區塊鏈那么哈希函數是怎樣應用在區塊鏈上的呢?想象一下,你有一個文檔,里面描述的可能是關于一筆金融交易。你要向人們證明這個文檔在某個確切的時刻處于某個確切的狀態。你可以將整個文檔放入使用Merkle-Damg?rd架構的哈希工廠中,將輸出結果通過電子郵件發送給100個人。由于這個工廠是單向的,所以郵件接收者無法讀出文檔的原始內容。如果未來有人聲稱你的文檔是假的,或者你篡改了文檔,你就可以證明在你把這個文檔發送給去中心化的社區時,這個文檔處于某個確切的狀態。因為哈希工廠是抗碰撞的,人們自然會相信你不是騙子!了解真正的哈希函數哈希函數的「單向性」和「抗碰撞性」是非常強大的,這兩個特性正在隨著區塊鏈的發展改變整個技術世界。但是emoji工廠/哈希函數內部到底是如何運作呢?這就要牽扯到很多技術細節了。實際上,如果你確信上述特性成立,那么工廠的內部運作就無關緊要了。哈希函數的特性比它們的內部運作更有趣。真正的哈希函數接受的是十六進制字符串。十六進制字符串僅由“0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f”十六個字符組成。哈希函數接受任意長度的輸入,并且返回64個十六進制字符。有時,為了增強安全性,會返回128個十六進制字符。SHA-256是一種普遍使用的哈希函數。

社交媒體平臺Reddit凌晨起宕機5個多小時,現已修復:3月15日消息,社交媒體平臺Reddit在確定并修復了一次“重大宕機”后重新上線,該宕機導致桌面和移動用戶無法瀏覽近5個半小時。Reddit Status頁面顯示,宕機出現于北京時間3月15日03:18,該問題于08:41解決。

當該網站處于離線狀態時,訪問該網站的用戶會在一些正常顯示帖子和評論的地方看到空白框。截至寫作網站頁面現在顯示內容,它似乎正常運作。[2023/3/15 13:05:45]

高盛:維持美聯儲將在5月、6月和7月加息25個基點的預期不變:金色財經報道,高盛表示,鑒于近期銀行系統的壓力,不再期望美聯儲在3月22日的會議上加息。維持美聯儲將在5月、6月和7月加息25個基點的預期不變,現在預計終端利率為5.25-5.5%。(金十)[2023/3/13 13:00:04]

高盛:預計3月、5月和6月美聯儲還將加息3次25個基點:金色財經報道,高盛:預計2023年3月、5月和6月美聯儲還將加息3次25個基點,聯邦基金利率峰值將達到5.25-5.5%。[2023/2/17 12:13:16]

比特幣閃電網通道數量為36295個:金色財經報道,據1ML數據,當前比特幣閃電網絡節點數為12163個,過去30天內增加2.33%;通道數量為36295個,過去30天內增加1.2%;網絡容量達到955.79個BTC,過去30天內增加6%。[2020/4/17]

動態 | 5個ICO退出共斂財1億美元、:根據區塊鏈情報公司Diar的數據,在過去兩年中,共有五個ICO公司退出騙局,導致投資者損失超一億美元。[2018/8/15]

Tags:EMOEMOJI區塊鏈MERPEPEMOONEMOJI價格區塊鏈工程專業學什么及就業方向Mercury

DYDX
ZRX:被Coinbase看好的0x(ZRX)究竟是什么?

最近,加密貨幣0x吸引了很多關注。2018年10月11日,0x被添加到CoinbasePro,成為該交易所上線的第6個加密貨幣,也是其上線的首個ERC-20代幣.

1900/1/1 0:00:00
區塊鏈:區塊鏈的五大挑戰以及AI帶來的四大機遇

編者按:本文來自:鏈捕手,作者:鄧仰東,清華大學副教授、MATRIX首席人工智能科學家,Odaily星球日報經授權轉發.

1900/1/1 0:00:00
比特幣:星球日報 | 委內瑞拉欲從加密貨幣匯款中收費;?上交所研究所所長:比特幣挖礦業務不太適合上市;菲律賓銀行將推出加密資產ATM

頭條 上交所資本市場研究所所長:比特幣挖礦業務不太適合上市在2019年度“陸家嘴資本夜話”高峰論壇上,上海證券交易所資本市場研究所所長施東輝表示,注冊制還是要審的.

1900/1/1 0:00:00
ETH2.0:它會是什么?(一)

編者按:本文來自藍狐筆記,作者:JamesPrestwich,來源于hackernoon,由“藍狐筆記”公眾號社群的“Sien”翻譯,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
ETH:一月、二月區塊鏈安全事件盤點

導語:在整理近兩個月發生的安全事件時,筆者不禁想起互聯網的早期,也曾走過安全事件頻發的階段。即使到現在,互聯網行業的安全事故也沒有完全杜絕。其實,任何新生的事物,都會存在安全隱患.

1900/1/1 0:00:00
比特幣:2019區塊鏈將走向何方?硅谷知名投資大咖如是說

本文作者是硅谷知名投資公司聯合廣場風投聯合創始人FredWilson,他也是投資界最具影響力的人物之一.

1900/1/1 0:00:00
ads