導讀

當前,區塊鏈和分佈式賬本技術(DLT)已有了長足發展並廣泛應用與多種場景中,原因在於其提供透明性,冗餘性和問責性的能力。就區塊鏈而言,此類特徵是通過公鑰加密和哈希函數提供的。但是,隨着量子計算的飛速發展,基於Grover和Shor(格羅弗和舒爾)算法對公鑰密碼學和散列函數構成了重要威脅,迫使我們重新設計具有量子抗性的區塊鏈密碼系統,以承受潛在的量子攻擊。

基於此,我們需要研究後量子密碼系統的最新技術,以及如何將其應用於區塊鏈和DLT,以及後量子時代區塊鏈系統及其面臨的主要挑戰。本章節主要介紹了當前的區塊鏈密碼學技術特徵,對比分析了公鑰系統及散列函數應對量子攻擊的安全性能,探討了後量子區塊鏈計劃和後量子區塊鏈方案的理想特徵。

1.概述

區塊鏈能夠提供安全的通信,數據隱私,彈性和透明度,基於哈希算法和塊鏈數據結構組成了一個分佈式賬本,允許在靈信任環境下的對等多方之間共享信息。區塊鏈系統的用戶通過公鑰/非對稱加密技術和哈希函數進行安全交互,這對於用戶的身份認證和安全交易至關重要。

如今,隨着量子計算機的快速發展,量子信息技術正對公鑰密碼系統和哈希函數構成了重要威脅。

對於公鑰密碼系統,量子攻擊會影響最受歡迎的公鑰算法,包括RSA(Rivest,Shamir,Adleman),ECDSA(橢圓曲線數字簽名算法),ECDH(橢圓曲線Diffie-Hellman),或DSA(數字簽名算法)等,運用 Shor算法 可在 多項式時間 內打破。

另外,量子計算機可以利用Grover算法來加速哈希的生成,從而重新創建整個區塊鏈;同時,Grover算法可用來檢測哈希衝突,在替換區塊鏈上的塊數據結構的同時,保留其完整性。

2.從量子前到量子後的區塊鏈

2.1 區塊鏈的公鑰安全

我們一般常用安全位級別,來評估公鑰密碼系統抵抗經典計算攻擊的強度。此級別定義爲經典計算機執行暴力攻擊所需的工作量。表1列出了一些最通用的對稱和非對稱密碼系統的安全級別。

儘管當前還沒有出現非常強大的量子計算機,但在未來的20年中,量子計算機將能夠輕易破解當前強大的公鑰密碼系統。實際上,諸如NSA之類的組織已經警告了量子計算對IT產品的影響,並建議提高某些密碼套件的ECC(橢圓曲線密碼學)安全級別。

表2列出了受量子威脅影響的最相關的公鑰密碼系統及其他相關密碼系統的主要特徵,這些特徵將受到與Shor和Grover算法有關的量子攻擊的破壞或嚴重影響。

2.2散列函數安全

與公鑰密碼系統相反,傳統的哈希函數被認爲能夠抵抗量子攻擊,因爲開發用於 NP難題 的量子算法似乎不太可能。儘管學者們最近提出了新的哈希函數來抵抗量子攻擊,但通常建議增加傳統哈希函數的輸出大小。該建議與量子攻擊有關,通過Grover算法以二次因子來加速蠻力攻擊。

2.3後量子區塊鏈計劃

當前已有不少項目開展了量子後區塊鏈計劃的相關研究,包括NIST等。比特幣後量子是一個主要的實驗分支,它使用量子後數字簽名方案。另一個是以太坊3.0,它計劃應用包括諸如zk-STARKs(簡潔化的全透明零知識證明)之類的抗量子組件。其他區塊鏈平臺,例如Abelian ,則建議使用基於晶格的後量子密碼系統來防止量子攻擊,而某些區塊鏈(例如Corda)正在嘗試使用SPHINCS之類的後量子算法。

2.4區塊鏈後量子方案的理想特徵

爲了提高效率,後量子密碼系統將需要爲區塊鏈提供以下主要功能:

小祕鑰。與區塊鏈交互的設備在理想情況下需要利用小型公鑰和私鑰,以減少所需的存儲空間。另外,小密鑰在管理時涉及較少複雜的計算操作。對於需要物聯網(IoT)終端設備交互的區塊鏈而言,這一點尤其重要,因爲後者通常在存儲和計算能力方面受到限制。值得指出的是,與其他新興技術如深度學習一樣,物聯網在過去幾年中經歷了顯着增長,但物聯網設備仍然面臨一些重要挑戰,主要是關於安全性問題,在某種程度上限制了它與區塊鏈的聯合使用以及其廣泛採用。

小簽名和哈希長度。區塊鏈本質上是存儲數據交易,包括用戶簽名和數據/塊哈希。因此,如果簽名/哈希長度增加,則區塊鏈大小也將增加。

快速執行。後量子方案需要儘可能快,以便允許區塊鏈每秒處理大量交易。此外,快速執行通常涉及較低的計算複雜性,這對於不將資源受限的設備從區塊鏈交易中排除是必需的。

低計算複雜度。此功能與快速執行有關,但必須注意,使用某些硬件進行快速執行並不意味着後量子密碼系統的計算簡單。例如,某些方案可以在使用高級矢量擴展(AVX2)指令集的Intel微處理器中快速執行,但是當在基於ARM的微控制器上執行時,相同的方案可能被認爲是慢速的。因此,有必要在計算複雜度,執行時間和支持的硬件設備之間尋求折衷方案。

能耗低。諸如比特幣之類的一些區塊鏈應用被認爲是耗電大戶,主要是因爲執行其共識協議所需的能量消耗。還有其他影響功耗的因素,例如使用的硬件,已執行的通信事務的數量,以及所實施的安全方案,由於所執行的操作的複雜性,它們可能會消耗大量的電流。

註釋

1.多項式時間(Polynomial time):在計算複雜度理論中,指的是一個問題的計算時間m(n)不大於問題大小n的多項式倍數。

2.秀爾算法(Shor’s algorithm):一種常見的量子算法,可以在多項式時間內完成大整數質因數分解。

3.NP問題(Nondeterministic Polynomially):是指一個複雜問題不能確定是否在多項式時間內找到答案,但是可以在多項式時間內驗證答案是否正確。NP類問題有完全子圖問題、圖着色問題、旅行商(TSP)問題等。

4.zk-SNARKs:指簡潔化的非交互式零知識證明。Zcash是zk-SNARKs的首個廣泛應用。

5.zk-STARKs:指簡潔化的全透明零知識證明。zk-STARK不需要進行初始化可信設置(字母“T”代表了透明性),zk-STARKs是作爲zk-SNARK協議的替代版本而創建的,被認爲是該技術的更快和更便捷的實現方式。

相關文章