看似是一部諜戰片,其背後卻有深刻的數學原理。Leslie Lamport 證明了在將軍總數n大於3m ,背叛者為m 或者更少時,忠誠的將軍可以達成命令上的一致。
BFT類演算法一般有完備的安全性證明,能在演算法流程上保證在群體中惡意節點數量不超過三分之一時,誠實節點的賬本保持一致。然而,這類演算法的協商輪次也很多,協商的通訊開銷也比較大,導致這類演算法普遍不適用於節點數目較大的系統。業界普遍認為,BFT演算法所能承受的最大節點數目不超過100。目前BFT演算法被廣泛用於以PoS為基礎的共識演算法組合中,代表基礎設施有以太坊2.0、PlatON等。
結合可信環境的共識演算法
可信計算是在計算和通訊系統中廣泛使用基於硬體安全模組支援下的可信計算平臺,以提高系統整體的安全性。
早期可信計算的研究主要以國際可信計算工作組TCG(Trusted Computing Group)為主。可信計算最核心的就是TPM硬體晶片,其TPM(Trusted Platform Module)1.2規範是比較經典的,大多數廠家的晶片都以TPM1.2為標準,該規範已經升級到TPM 2.0。
國內對應的是TCM(Trusted Computing Module)晶片,可以參考“可信計算密碼支撐平臺功能與介面規範”,而且已經成為國家標準,即GB/T 29829-2013。
隨著可信計算的發展,可信平臺模組不一定再是硬體晶片的形式,特別是在資源比較受限的移動和嵌入式環境中,可信執行環境(TEE,Trusted Execution Environment)的研究比較熱,如基於ARM TrustZone、智慧卡等可以實現可信計算環境。
2013年,Intel推出SGX(Software Guard Extensions)指令集擴充套件,旨在以硬體安全為強制性保障,不依賴於韌體和軟體的安全狀態,提供使用者空間的可信執行環境,透過一組新的指令集擴充套件與訪問控制機制,實現不同程式間的隔離執行,保障使用者關鍵程式碼和資料的機密性與完整性不受惡意軟體的破壞。
可信執行環境是一類能夠保證在該類環境中執行的操作絕對安全可信、無法被外界干預修改的執行環境,它與裝置上的普通作業系統(Rich OS)並存,並且能給Rich OS提供安全服務。可信執行環境所能夠訪問的軟硬體資源是與Rich OS完全分離的,從而保證了可信執行環境的安全性。利用可信執行環境,可以對區塊鏈系統中參與共識的節點進行限制,很大程度上可以消除惡意節點的不規範或惡意操作,從而能夠減少共識演算法在設計時需要考慮的異常場景,一般來說能夠大幅提升共識演算法的效能。但其也有劣勢,效能的提升會削弱隱私保護的能力。
關於共識演算法的知識就講到這裡啦,下節課我們繼續解析區塊鏈基礎技術,將登場的是對區塊鏈具有顛覆性的技術——智慧合約。敬請期待!同學們可以關注PlatON公眾號,持續學習哦。我們下節課見啦。