區塊鏈公鏈“三元悖論”專題系列之安全性(Security)

上兩期我們講了區塊鏈公鏈系統“三元悖論”中的【可擴展性】【去中心化】,本期我們結合區塊鏈公鏈系統中所存在的安全問題和挑戰,以及一些實際案例,來講一下這個系列文章的壓軸話題:安全性(Security)

在很多人看來,對於一個系統來說,安全性是必要條件,而非充分條件;甚至有人說,“去中心化”和 “可擴展性” 是“二元悖論”的說法反而比“三元悖論”更爲精準,僅僅二元即可說明一個區塊鏈公鏈系統的性能狀況。但實際情況真的是這樣嗎?

首先,我想引用BTC系統在白皮書中對安全性的描述,來對區塊鏈公鏈系統的安全性進行一個範圍上的定義:以密碼學爲基礎,基於工作量證明(POW)的共識機制,使得整個系統中只要惡意節點的總算力不超過50%,系統就能保證大概率上的安全,並且不會發生致命的“雙花”( double spending雙重花費問題)欺詐。

從這段文字中可以看出,區塊鏈公鏈系統的安全範圍有兩個方面,一是系統自身的安全性(防崩潰機制)方面,二是系統參與者的數據、交易安全性(隱私保護)方面。

區塊鏈公鏈系統區別於中心化系統的很重要的一部分,就是“安全性”是作爲系統中一種性能指標(通過密碼學和共識機制等技術作爲保障),可根據系統的整體需要,進行彈性選擇,甚至在系統迭代過程中可以進行更換。

另外,從本質上講,區塊鏈技術是一種在信息不對稱的情況下,無需相互擔保信任或第三方中介參與,採用技術手段,實現節點間“普遍通過即爲認可”的信任機制。

所以,在我看來,安全性對於區塊鏈系統來說,既不能粗略的以充要條件的方式來定義,也不能脫離去中心化、可擴展性等場景需求而單獨評價;這也是區塊鏈安全技術中最有魅力的地方。

▲BTC系統全節點分佈圖(數據來源:京東智聯雲BDS區塊鏈數據服務)▲

說到區塊鏈安全技術,就不得不提一下針對區塊鏈系統的各種攻擊手段,目前來看,根據區塊鏈的技術特性,具體的技術攻擊手段主要分爲以下三種:

(一)以共識機制爲目標的針對性攻擊:共識機制是維持區塊鏈系統有序運行的基礎,相互間未建立信任關係的區塊鏈節點通過共識機制,共同驗證寫入新區塊中的信息的正確性。區塊鏈中使用的共識機制有很多,包括PoW、PoS、BFT等(之前兩篇文章中均有所提及)。目前,PoW、PoS和DPoS(DelegatedProof of Stake,委託權益證明)機制已經過大規模長時間的實踐檢驗,發展較爲成熟。但在區塊鏈共識機制的長期發展應用中,也衍生出了算力攻擊、分叉攻擊、女巫攻擊等大量針對性的攻擊手段,造成鏈上記錄被篡改等後果,如下圖所示:

▲區塊鏈典型攻擊策略表▲

 

(二)對區塊嵌入惡意代碼,利用分佈式存儲機制進行快速傳播:區塊鏈通過構建開源的共享協議,實現數據在所有用戶側的同步記錄和存儲。與傳統中心式數據庫在一個或幾個中心集中存儲數據的方式不同,在區塊鏈系統中,所有用戶側均有可能存放完整的數據拷貝,因此,單個或多個節點被攻擊均不會對全網數據造成毀滅性的影響,提高了存儲的可容錯性。但是這種分佈式的存儲機制也在一定程度上擴大了安全威脅面,最典型的是惡意節點可在新區塊中嵌入病毒、木馬等惡意代碼,利用分佈式機制自發向全網傳播,伺機發起網絡攻擊,如下圖所示:

利用區塊鏈分佈式存儲機制進行惡意代碼攻擊示意圖

 

(三)針對密碼學機制固有安全風險的各類攻擊:非對稱算法、哈希函數等密碼學機制在區塊鏈中的應用解決了消息防篡改、隱私信息保護等問題,但這些密碼學機制的固有安全風險仍將面臨各類攻擊,主要有兩點,一是ECC、RSA等複雜加密算法本身以及在算法的工程實現過程中都可能存在後門和安全漏洞,進而危及整個區塊鏈系統和其上承載的各種應用的安全性。二是隨着量子計算等技術的飛速發展,當計算機算力達到一定級別後,即可在秒級時間內破解非對稱密碼算法中的大數因子分解問題(例如通過量子計算機破解1024位密鑰的RSA算法只需數秒),這也成爲區塊鏈公鏈系統未來很大的安全隱患。

所以,儘管區塊鏈的防篡改、分佈式存儲、用戶匿名等技術優勢爲其發展應用提供了大量的創新空間,但目前區塊鏈技術在各領域的應用模式仍處於大量探索階段,其深入應用仍需漫長的整合和發展過程;在《信通院區塊鏈安全白皮書》中,就對區塊鏈技術在應用中的安全問題進行了描述,總結後如下所示:

區塊鏈典型應用架構對應的安全風險

上圖中,對於四個層級的安全風險歸納如下:

存儲層:主要風險來源於環境的安全威脅,如基礎設施的安全風險、網絡攻擊威脅、數據丟失和泄露等,最終影響區塊鏈數據文件的可靠性、完整性及存儲數據的安全性,具體包括以下三點:基礎設施安全風險、網絡攻擊威脅、數據丟失和泄露。

協議層:主要風險來源於核心機制(共識機制、P2P網絡機制、密碼學技術)的設計缺陷,前兩章我們對這些核心機制做過介紹,當這些核心機制的規則設計被惡意節點利用,則很容易使系統的自身安全和交易安全遭到破壞,具體包括以下三點:協議漏洞、流量攻擊以及惡意節點的威脅。

擴展層:主要風險來源於代碼實現中的安全漏洞,由於這一層較典型的實現是智能合約(或稱可編程合約),但智能合約的應用起步相對較晚,很多開發人員尚缺乏對智能合約的安全編碼能力,從而造成代碼中存在大量的安全漏洞,具體包括以下兩點:合約開發漏洞、合約運行安全。

應用層:這一層由於直接面向用戶,涉及不同行業領域的應用場景和用戶交互,因此也成爲攻擊者實施攻擊、破壞系統的重點目標層,具體包括以下5點:私鑰管理安全、賬戶竊取、應用軟件漏洞、DDoS攻擊、環境漏洞。

而綜上所述,目前應對以上風險的措施簡單總結如下圖所示:

區塊鏈風險應對框架

這裏我們列出幾個具體方法作爲參考:

(一)提升參與同步與驗證節點的數量:在區塊鏈公鏈系統中,公鏈網絡的正確性與安全性依賴於一些節點的背書。例如,在比特幣或以太坊中,根據協議,每一個礦工挖出區塊時,要保證新區塊和歷史上的每一個區塊每筆交易都是正確的。也就是說,比特幣礦工出塊時,在爲之前所有的區塊進行正確性背書;在 EOS 中,超級節點通過簽名對區塊的正確性背書。我們這裏稱爲“參與共識的節點”。所以,如果每一個被確認的交易,都得到過更多參與共識節點(攻擊者除外)的同步與驗證,這樣就能夠提高系統整體的安全性。

(二)提高節點參與系統的門檻:上一篇我們講到,降低用戶參與門檻即可提升系統去中心化程度,所以,當提升系統參與門檻時,就可以相應的提升系統的安全性以及可擴展性;在一些共識機制中,普通用戶不參與對交易的同步與驗證,而是通過一些方式選出少數特殊的節點來進行共識;這時,我們可以假設每一個參選的節點都準備了足夠的計算機資源,例如更好的 CPU, 更大的硬盤, 更大的網絡帶寬;這時,也就沒必要將“最低配置要求”設的很低了;相應的,系統整體安全性就會高一些。

(三)攻擊應對監測:在區塊鏈中創建某種“交易配置文件”,監控特定區塊鏈上的交易,檢測包括51%攻擊,Sybil攻擊等惡意攻擊。

(四)項目安全管理:智能合約代碼的安全審計和法律合規方案的制定。

總之,區塊鏈系統安全設計的挑戰,是保障該系統不能被壞人破壞;在一個開放並與經濟利益掛鉤的區塊鏈系統中,不僅會有好人加入這個系統,也會有更多的壞人企圖希望通過破壞該系統獲利;那麼,如何在系統內部存在壞人的情況下,保證系統的安全性,這已不僅是傳統意義上安全架構的技術挑戰,也是安全機制設計的挑戰。

區塊鏈在網絡安全領域的典型應用

最後,如上圖所示,我們講一下如何利用區塊鏈技術的特性,來對傳統網絡安全領域的安全性進行加固。

由於區塊鏈分佈式、點對點的通信具有易連接、大協作的特點,基於哈希加密的匿名性也能夠很好保護用戶隱私和證明唯一性,依託公私鑰的權限控制方式更是賦予數字資產豐富的管理權限,因此,這些技術特性使得區塊鏈可以成爲解決網絡和數據安全存儲、傳播和管理問題的有效手段,在攻擊發現和防禦、安全認證、安全域名、信任基礎設施建立、安全通信和數據安全存儲等方面得到了積極的探索。

下面列舉幾個區塊鏈網絡安全的具體應用案例:

(一)Guardtime攻擊發現和防禦案例:爲數據或系統的狀態創建時間戳哈希,根時間戳哈希對狀態持續監測,以發現文件、系統或程序是否受到未授權訪問,目前已在英國核電站、防洪系統等國家關鍵基礎設施應用。

(二)Startup Filament安全通信認證案例:將物聯網傳感器數據直接編碼到區塊鏈中,爲分散交互和交換提供安全的基礎。

(三)Blockstack安全域名:將域名基礎設施建立在區塊鏈之上,建立域名哈希映射,在每個網絡節點處進行域名註冊、轉移等操作,存儲域名所有人的公私鑰對並記錄解析後的域名,分散了原本集中的域名服務,由於不存在可被黑客攻擊或修改的中心化記錄,也防止了域名劫持、緩存投毒等傳統攻擊行爲。

區塊鏈系統安全性的核心:共識

作爲這個系列文章的結尾,筆者認爲,無論從可擴展性、去中心化、還是安全性來說,區塊鏈技術最核心的屬性都是“共識”這兩個字;因爲有了“共識”這個屬性,一個系統才得以從“管理者”轉變爲“組織者”;參與系統搭建的各節點通過共同的努力,來維護一個區塊鏈系統的正常運轉,這樣即能達到系統自治的目的,也能夠很大程度上抵禦各種外部攻擊,最終保證了系統的整體安全性。

“不可能三角”並不是一個嚴格經過論證而得出的結論,它只是業內對各公鏈的實際運行狀況作出的一個總結;不可能三角的意義,是在告訴設計者,在進行區塊鏈系統架構設計時,必須根據具體的應用場景做出取捨,而無需過多的花精力研究如何兼顧這三要素。

另外,需要特別強調的是,不可能三角並不是一種限制,它反而在正確的道路上開拓了設計師的思路,讓他們在多樣化的取捨方案下設計出了各式各樣的系統。

最後的最後,衷心的希望這個系列文章能夠幫您從更多的角度出發,去認識並理解區塊鏈技術,以及區塊鏈系統能夠爲我們帶來的實際價值。

在之後的文章中,我們會對京東智臻鏈等區塊鏈具體應用項目進行解讀與分享,歡迎大家繼續支持哦!

來~插播一條小廣告

關於BDS

京東智聯雲區塊鏈數據服務【BDS】(產品傳送門):京東智聯雲將區塊鏈的鏈式、非結構化數據通過技術手段進行結構化存儲,實時同步到高性能數據庫中,並據此推出了一款可視化的區塊鏈數據查詢服務(BDS),幫助用戶完成簡單的條件查詢和複雜的SQL原生查詢。

產品特點:

  • 涵蓋了 BTC、ETH、EOS、LTC、XRP、BCH 等幾十個知名區塊鏈項目,自定義了涉及用戶、交易、區塊等 100+ 獨家數據指標,聯網即可查詢鏈上實時數據,即開即用,方便快捷。

  • 支持標準 SQL查詢語句,可輕鬆實現複雜的查詢邏輯;依託京東雲的軟硬件及架構支持,同時具備查詢速度快、查詢效率高的特點。

  • 支持圖形化、可視化界面,通過點擊和拖拽的交互方式進行數據查詢,可實時生成各類BI圖表,定製專屬與您的區塊鏈數據儀表盤。

產品示例:

點擊閱讀原文】,註冊京東智聯雲賬號,即可獲取區塊鏈主流公鏈最新數據。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章