2022年3月國家科技管理信息系統(tǒng)發(fā)布了2022年度國家重點(diǎn)研發(fā)專項申報指南(征求意見稿),其中就包含《“區(qū)塊鏈”重點(diǎn)專項2022年度項目申報指南建議》(下稱《建議》)。
與2021年區(qū)塊鏈重點(diǎn)專項申報放在區(qū)塊鏈體系構(gòu)架的情況不同,今年的《建議》文件將區(qū)塊鏈的發(fā)展建議指向了加密技術(shù)。
提到區(qū)塊鏈加密技術(shù),很多人首先聯(lián)想到的就是加密貨幣,廣義上來講,加密貨幣也被稱為區(qū)塊鏈通證,是可流通的加密數(shù)字權(quán)益證明。前段時間俄烏沖突中,烏克蘭政府便是開啟加密貨幣賬戶接受網(wǎng)絡(luò)捐贈捐款。
眾所周知區(qū)塊鏈的不可篡改性是基于“修改區(qū)塊鏈中的信息,必須征得半數(shù)以上節(jié)點(diǎn)的同意并修改所有節(jié)點(diǎn)中的信息”這一點(diǎn)。而這些節(jié)點(diǎn)通常掌握在不同的主體手中,因此篡改極其困難的事。但這只是操作上的難度,真正的核心還是源于區(qū)塊鏈加密技術(shù)。
現(xiàn)今的區(qū)塊鏈?zhǔn)褂昧撕芏嗉用芩惴ǎüK惴ǎ℉ash)、對稱加密技術(shù)、非對稱加密技術(shù)等等。今天簡單為維公鏈會員們科普一下這幾種加密算法的原理和在區(qū)塊鏈中的運(yùn)用。
01
哈希算法
哈希算法是一種常見的單向加密算法,它將一串?dāng)?shù)據(jù)加密生成一串固定長度的二進(jìn)制字符串,這段二進(jìn)制字符串就是哈希值,但不能由哈希值還原為原來的輸入數(shù)據(jù)。密碼學(xué)中的哈希函數(shù)有3個重要的性質(zhì),即抗碰撞性、原像不可逆、難題友好性。
碰撞性:是指兩個不同的數(shù)據(jù)在同一哈希函數(shù)作用下,生成相同的哈希值。首先,兩個不同的輸入產(chǎn)生相同哈希值答案是肯定的,但在于它需要像十億年后的所有計算機(jī)一樣來尋找碰撞,以目前計算機(jī)的運(yùn)算能力可以忽略不計。在區(qū)塊鏈中,哈希函數(shù)的抗碰撞性可以用來做區(qū)塊和交易的完整性驗證。
原像不可逆:是指根據(jù)輸出的二進(jìn)制字符串很難計算出輸入的數(shù)據(jù)。因為輸出的哈希值長度遠(yuǎn)遠(yuǎn)小于輸入的長度,所以在運(yùn)算過程中會丟棄大量的信息,由于缺失了很多信息,所以根本無法逆向出任何一個輸入值。
難題友好性:是指沒有便捷的方法去產(chǎn)生一個滿足特殊要求的哈希值。是什么意思呢,通俗地講,就是沒有捷徑,需要一步一步算出來。假如要求得到的哈希結(jié)果以若干個0開頭,那么計算找到前3位均為0的哈希值和找到前6位均為0的哈希值,其所需的哈希計算次數(shù)是呈一定數(shù)量關(guān)系。
常用的哈希算法有MD5、SHA256和RIPEMD。在區(qū)塊鏈中很多地方用了哈希算法,比如對區(qū)塊計算哈希值、區(qū)塊和交易的完整性驗證等等。
02
對稱加密技術(shù)
對稱加密技術(shù),是采用同一個混淆因子(也叫密碼),然后使用混淆算法對輸入進(jìn)行混淆,得到加密后的數(shù)據(jù)。之后,采用相同的混淆因子(密碼)進(jìn)行逆運(yùn)算,可以得到原始的輸入值。它的特點(diǎn)是:使用的密鑰只有一個,發(fā)收信雙方都使用這個密鑰對數(shù)據(jù)進(jìn)行加密和解密,要求解密方事先必須知道加密密鑰。
在這里給大家做個簡單的圖解:
如果有人在傳輸過程中截取了密文和密鑰,就一樣能解密出明文,這就導(dǎo)致了安全性問題。目前區(qū)塊鏈領(lǐng)域最常用的對稱加密算法是AES、PBKDF2和SCRYPT。
03
非對稱加密技術(shù)
非對稱加密算法也是我們維公鏈采用的加密技術(shù)。非對稱加密技術(shù)需要兩個密鑰:公鑰(publickey)和私鑰(privatekey)。公鑰與私鑰是一對,私鑰可以推導(dǎo)出公鑰而公鑰不可以推導(dǎo)出私鑰,如果用公鑰對數(shù)據(jù)進(jìn)行加密,只有用對應(yīng)的私鑰才能解密;如果用私鑰對數(shù)據(jù)進(jìn)行加密,那么只有用對應(yīng)的公鑰才能解密。簡單的說是“公鑰加密,私鑰解密;私鑰加密,公鑰解密”。
在區(qū)塊鏈中,數(shù)字簽名就是基于上述非對稱加密技術(shù),不同點(diǎn)在于數(shù)字簽名使用私鑰生成一個簽名,接收方使用公鑰進(jìn)行校驗。比如上面用私鑰解密得到明文后,用私鑰進(jìn)行簽名進(jìn)行回復(fù),收到回復(fù)后用公鑰解密得到的內(nèi)容與數(shù)據(jù)相同即可證明簽名正確。
因為公鑰和私鑰是成對的,唯一對應(yīng)的,私鑰只有對方擁有,所以對方也不能對簽名進(jìn)行抵賴。
在區(qū)塊鏈技術(shù)中常見的簽名算法是橢圓曲線加密技術(shù)。其算法用對橢圓曲線上的點(diǎn)進(jìn)行加法或乘法運(yùn)算來表達(dá)。區(qū)塊鏈中私鑰是一個隨機(jī)數(shù),通過橢圓曲線簽名算法生成公鑰。但反向從公鑰計算出私鑰幾乎是不可能的。橢圓曲線簽名算法還具有安全性高和存儲空間占用小的特點(diǎn)。
區(qū)塊鏈的技術(shù)在不斷革新,行業(yè)的發(fā)展也絕不僅僅限于金融方面,隨著國家對區(qū)塊鏈前沿技術(shù)的發(fā)展重視,區(qū)塊鏈行業(yè)也將獲得突破性的地位。