有哪些區(qū)塊鏈網(wǎng)絡(luò)中需要使用非對稱密鑰加密
區(qū)塊鏈技術(shù)使用非對稱密鑰加密(也稱為公鑰加密)。非對稱密鑰密碼術(shù)使用一對密鑰:公鑰和私鑰,它們在數(shù)學(xué)上彼此相關(guān)。在不降低進程安全性的情況下公開公鑰,但如果數(shù)據(jù)要保留其加密保護,則私鑰必須保密。即使在兩個密鑰之間存在關(guān)系,也不能基于公鑰的知識有效地確定私鑰??梢允褂盟借€加密,然后使用公鑰解密?;蛘撸梢允褂霉€加密,然后使用私鑰解密。
非對稱密鑰加密通過提供一種機制來驗證交易的完整性和真實性,同時允許交易保持公開,從而在彼此不了解或彼此不信任的用戶之間實現(xiàn)信任關(guān)系。為此,交易是“數(shù)字簽名”。這意味著私鑰用于加密事務(wù),以便具有公鑰的任何人都可以解密它。由于公鑰是免費的,因此使用私鑰加密事務(wù)證明了事務(wù)的簽名者可以訪問私鑰?;蛘?,可以使用用戶的公鑰對數(shù)據(jù)進行加密,以便只有具有私鑰訪問權(quán)限的用戶才能對其進行解密。缺點是非對稱密鑰加密通常計算緩慢。
這與對稱密鑰加密形成對比,其中單個密鑰用于加密和解密。使用對稱密鑰加密,用戶必須已經(jīng)建立了彼此建立的信任關(guān)系以交換預(yù)共享密鑰。在對稱系統(tǒng)中,可以使用預(yù)共享密鑰解密的任何加密數(shù)據(jù)確認它是由具有對預(yù)共享密鑰的訪問權(quán)限的另一用戶發(fā)送的; 沒有訪問預(yù)共享密鑰的用戶將無法查看解密數(shù)據(jù)。與非對稱密鑰密碼術(shù)相比,對稱密鑰密碼術(shù)的計算速度非???。因此,當(dāng)聲稱使用非對稱密鑰加密來加密某些內(nèi)容時,通常使用對稱密鑰加密對數(shù)據(jù)進行加密,然后使用非對稱密鑰加密對對稱密鑰進行加密。
以下是在許多區(qū)塊鏈網(wǎng)絡(luò)中使用非對稱密鑰加密的總結(jié):
· 私鑰用于對交易進行數(shù)字簽名。
· 公鑰用于派生地址。
· 公鑰用于驗證使用私鑰生成的簽名。
· 非對稱密鑰加密提供了驗證向另一個用戶傳輸值的用戶是否擁有能夠簽署事務(wù)的私鑰的能力。
一些許可的區(qū)塊鏈網(wǎng)絡(luò)可以利用企業(yè)現(xiàn)有的公鑰基礎(chǔ)設(shè)施進行非對稱密鑰加密,以提供用戶憑證 - 而不是讓每個區(qū)塊鏈網(wǎng)絡(luò)用戶管理自己的非對稱密鑰。這是通過利用現(xiàn)有的目錄服務(wù)并在區(qū)塊鏈網(wǎng)絡(luò)中使用該信息來完成的。利用現(xiàn)有目錄服務(wù)的區(qū)塊鏈網(wǎng)絡(luò)可以通過現(xiàn)有協(xié)議(如輕量級目錄訪問協(xié)議(LDAP)[10])訪問它,并本地利用目錄中的信息,或?qū)⑵鋵?dǎo)入?yún)^(qū)塊鏈網(wǎng)絡(luò)內(nèi)的內(nèi)部證書頒發(fā)機構(gòu)。
地址和地址推導(dǎo)
一些區(qū)塊鏈網(wǎng)絡(luò)利用地址,該地址是使用加密散列函數(shù)從區(qū)塊鏈網(wǎng)絡(luò)用戶的公鑰導(dǎo)出的短的字母數(shù)字字符串,以及一些附加數(shù)據(jù)(例如,版本號,校驗和)。大多數(shù)區(qū)塊鏈實現(xiàn)都使用地址作為事務(wù)中的“到”和“從”端點。地址比公鑰短,并不是秘密。生成地址的一種方法是創(chuàng)建公鑰,對其應(yīng)用加密哈希函數(shù),并將哈希轉(zhuǎn)換為文本:
公鑰≥哈希函數(shù)≥地址
每個區(qū)塊鏈實現(xiàn)可以通過不同的方法來導(dǎo)出地址。對于允許匿名帳戶創(chuàng)建的無權(quán)限區(qū)塊鏈網(wǎng)絡(luò),區(qū)塊鏈網(wǎng)絡(luò)用戶可以生成盡可能多的非對稱密鑰對,并因此根據(jù)需要進行尋址,從而允許不同程度的偽匿名性。地址可以充當(dāng)用戶的區(qū)塊鏈網(wǎng)絡(luò)中面向公眾的標(biāo)識符,并且通常地址將被轉(zhuǎn)換為QR碼(快速響應(yīng)代碼,可以包含任意數(shù)據(jù)的二維條形碼)以便于移動使用設(shè)備。
區(qū)塊鏈網(wǎng)絡(luò)用戶可能不是區(qū)塊鏈網(wǎng)絡(luò)中唯一的地址來源。一旦在區(qū)塊鏈網(wǎng)絡(luò)中部署了智能合約,就必須提供一種訪問智能合約的方法。對于以太坊,可通過稱為合同賬戶的特殊地址訪問智能合約。部署智能合約時會創(chuàng)建此帳戶地址(合同帳戶的地址是根據(jù)智能合約創(chuàng)建者的地址確定計算的)。該合同賬戶允許合同在收到交易時執(zhí)行,并依次創(chuàng)建額外的智能合約。
私鑰存儲
對于一些區(qū)塊鏈網(wǎng)絡(luò)(特別是使用無權(quán)的區(qū)塊鏈網(wǎng)絡(luò)),用戶必須管理并安全地存儲他們自己的私鑰。他們經(jīng)常使用軟件來安全地存儲它們,而不是手動記錄它們。該軟件通常被稱為錢包。錢包可以存儲私鑰,公鑰和相關(guān)地址。它還可以執(zhí)行其他功能,例如計算用戶可能擁有的數(shù)字資產(chǎn)的總數(shù)。
如果用戶丟失私鑰,則與該密鑰相關(guān)聯(lián)的任何數(shù)字資產(chǎn)都將丟失,因為重新生成相同的私鑰在計算上是不可行的。如果私鑰被盜,攻擊者將可以完全訪問由該私鑰控制的所有數(shù)字資產(chǎn)。私鑰的安全性非常重要,許多用戶使用特殊的安全硬件來存儲它們?;蛘撸脩艨梢岳眯屡d的私鑰托管服務(wù)行業(yè)。除了存儲私鑰之外,這些密鑰托管服務(wù)還可以滿足KYC法律,因為用戶在創(chuàng)建帳戶時必須提供其身份證明。
私鑰存儲是區(qū)塊鏈技術(shù)的一個極其重要的方面。當(dāng)新聞中報道“加密貨幣XYZ從。..中被盜”時,幾乎可以肯定地發(fā)現(xiàn)一些私鑰被用來簽署將錢匯入新賬戶的交易,而不是區(qū)塊鏈網(wǎng)絡(luò)本身被泄露。請注意,由于區(qū)塊鏈數(shù)據(jù)通常無法更改,一旦犯罪分子竊取私鑰并將相關(guān)資金公開轉(zhuǎn)移到另一個帳戶,該交易通常無法撤消。