新聞中心

EEPW首頁 > 業(yè)界動(dòng)態(tài) > 詳解區(qū)塊鏈背后的技術(shù):什么是哈希和電子簽名?

詳解區(qū)塊鏈背后的技術(shù):什么是哈希和電子簽名?

作者: 時(shí)間:2018-06-11 來源:網(wǎng)絡(luò) 收藏

  今天,我們就來把拆分開,詳細(xì)聊聊到底什么是。我們知道,背后的技術(shù)其實(shí)主要就是加密算法,其中主要包含兩塊,一個(gè)是哈希,另一個(gè)就是電子簽名。

本文引用地址:http://2s4d.com/article/201806/381393.htm


詳解區(qū)塊鏈背后的技術(shù):什么是哈希和電子簽名?


  哈希和電子簽名是什么?

  哈希的意思就是引入隨機(jī)數(shù)量的輸入數(shù)據(jù),將其加密,然后得出一個(gè)固定輸出數(shù)據(jù),就叫做哈希。輸入可以是任何數(shù)據(jù),只要能代表單個(gè)字節(jié),一個(gè)MP3文件,整本小說,你的銀行賬單,甚至是整個(gè)互聯(lián)網(wǎng)。關(guān)鍵在于輸入可以無限大。哈希算法可以根據(jù)你的需求來進(jìn)行選擇,現(xiàn)在公開的也有很多種算法。關(guān)鍵點(diǎn)在于,這些算法會(huì)將無限的輸入,轉(zhuǎn)換成固定數(shù)量的字節(jié)。例如,256字節(jié)。

  那么這個(gè)哈希有什么用呢?現(xiàn)在哈希通常的用處就在于指紋識(shí)別,同時(shí)也被稱為檢測(cè)區(qū)域。這意味著一個(gè)哈希被用來驗(yàn)證一個(gè)文件沒有被任何人更改。假設(shè)WikiLeaks發(fā)布了使用MD5哈希的文件,任何人下載這些文件,都可以通過MD5哈希驗(yàn)證文件的來源。如果哈希和WikiLeaks發(fā)布的不符合,那么你就知道這個(gè)文件肯定是被改過的。

  那么區(qū)塊鏈?zhǔn)侨绾问褂霉5哪?區(qū)塊鏈?zhǔn)褂霉?,來表現(xiàn)整個(gè)區(qū)塊鏈網(wǎng)絡(luò)現(xiàn)在的狀態(tài)。輸入則是區(qū)塊鏈的整個(gè)狀態(tài),也就是說近期完成的所有轉(zhuǎn)賬,輸出就是哈希代表的區(qū)塊鏈現(xiàn)在的狀態(tài)。哈希就被用來在區(qū)塊鏈網(wǎng)絡(luò)中讓各方相信,整個(gè)狀態(tài)都是相同的。但是這些哈希是怎么算出來的呢?

  首個(gè)哈希是為第一個(gè)區(qū)塊或者是創(chuàng)世區(qū)塊所計(jì)算的,通過區(qū)塊內(nèi)部的轉(zhuǎn)賬數(shù)據(jù)得出。初始轉(zhuǎn)賬的順序被用來計(jì)算創(chuàng)世區(qū)塊的區(qū)塊哈希。后來每挖出的新區(qū)塊,之前的區(qū)塊哈希也會(huì)被使用,同時(shí)還有這個(gè)區(qū)塊的轉(zhuǎn)賬信息,作為輸入值,來確定區(qū)塊的哈希。這就是區(qū)塊鏈的形成方式,每個(gè)新區(qū)塊哈希指向地是之前區(qū)塊的哈希。 這種哈希系統(tǒng)保證了任何轉(zhuǎn)賬記錄都不會(huì)被改變,因?yàn)槿绻魏尾糠值霓D(zhuǎn)賬記錄改變,那么歸屬于這個(gè)區(qū)塊的哈希值也會(huì)改變,那么任何接下來的區(qū)塊哈希也會(huì)被改變。那么你可以簡(jiǎn)單地將哈希對(duì)比,就很容易去分辨出哪兒發(fā)生了改變。這就非常棒了,因?yàn)閰^(qū)塊鏈上的每個(gè)人只需要對(duì)這256個(gè)字節(jié)達(dá)成共識(shí),就可以代表區(qū)塊鏈的狀態(tài)。以太坊區(qū)塊鏈現(xiàn)在是10MB,但是區(qū)塊鏈狀態(tài)只有256字節(jié)代表的哈希。


詳解區(qū)塊鏈背后的技術(shù):什么是哈希和電子簽名?


  那么電子簽名又是什么呢?電子簽名,和真實(shí)簽名一樣,為了證明某人的身份,但是使用加密算法,會(huì)使得簽名更加安全,不像手寫的那種,可以很容易地修改。數(shù)字簽名可以證明這個(gè)信息是從某個(gè)特定的人那兒來的,而且不是任何其他人,比如黑客。

  電子簽名在現(xiàn)今互聯(lián)網(wǎng)中也有所應(yīng)用。不論何時(shí)你通過ACTPS訪問網(wǎng)站,你都是在使用SSL,這就是通過電子簽名來保證你和服務(wù)器之間的安全性。這意味著當(dāng)你訪問Facebook.com時(shí),你的瀏覽器可以檢查跟隨頁面的數(shù)字簽名,來驗(yàn)證者確實(shí)是從Facebook網(wǎng)頁傳來的,而不是從黑客。

  在非對(duì)稱的加密系統(tǒng)中,用戶可以獲得秘鑰對(duì),這是由使用某種算法的公鑰和私鑰組成的。公鑰和私鑰是通過數(shù)學(xué)關(guān)系相互連接的。公鑰的意思是公開發(fā)布的,作為從其他用戶處接受信息的地址,就類似IP地址或者是家庭住址。私鑰意味著隱秘的信息,用來將簽署電子信息,并發(fā)送給別人。簽名包含在信息中,以至于接受者可以驗(yàn)證發(fā)送者的公鑰。這樣地話,接收者就可以保證只有發(fā)送者可以發(fā)送這條消息。在區(qū)塊鏈上創(chuàng)造賬號(hào),就可以獲得秘鑰對(duì),但是并不需要在任何地方進(jìn)行注冊(cè)。而且區(qū)塊鏈上的任何交易都是由發(fā)送者使用私鑰進(jìn)行電子簽名后才行。這個(gè)簽名保證了只有賬戶擁有者可以轉(zhuǎn)移其中的資產(chǎn)。

  總結(jié)來看,區(qū)塊鏈不能沒有哈希和電子簽名。哈希使得區(qū)塊鏈上的人對(duì)現(xiàn)在的整體狀態(tài)達(dá)成共識(shí),電子簽名卻保證了所有交易都只由正確的人發(fā)出。我們依賴于這兩個(gè)特性,來保證區(qū)塊鏈不會(huì)存在任何欺詐和貪污現(xiàn)象。



關(guān)鍵詞: 區(qū)塊鏈

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉