每日最新頭條.有趣資訊

區塊鏈研習 | 聯盟鏈中的特有安全問題——女巫攻擊

雷鋒網AI金融評論按:本文作者為騰訊雲金融業務中心區塊鏈首席架構師敖萌博士,雷鋒網獨家特約文章。未來,敖萌博士原創的區塊鏈系列文章還將繼續刊出,敬請關注!

在本系列講區塊鏈共識的文章中(區塊鏈研習 | 區塊鏈中的共識機制是什麽? ),曾經提過非公有鏈中的共識算法原則:“對於非公有鏈來說,情況簡單了很多:每個節點都知道總共的節點數,我們只要簡單投票就可以了。”共識機制變簡單了,攻擊也變得簡單了。在聯盟鏈中有一種特有的攻擊方式——女巫攻擊(Sybil Attack來源是70年代的一部叫做《Sybil》的美國系列片。片中的女主角人格混亂,扮演著16個角色)。女巫攻擊是在傳統P2P系統中一直存在的一種威脅。

在拜佔庭容錯算法中(傳送門:區塊鏈研習 | 看懂“拜佔庭容錯”,也就看懂了區塊鏈的核心技術 ),我們知道,PBFT算法能夠抵抗的拜佔庭節點數是N≥3f+1。因此,在具有身份認證的區塊鏈中,節點的數量的比例是非常重要的。而女巫攻擊就是直接針對這種特性——直接在節點的數量上做文章。

在絕對去中心化的系統中,是沒有上帝視角的。因此,任何節點都不能天然的知道在系統中到底有多少個節點參與進來:他們只能通過自己接收到的數據,來判斷全局的情況。於是,攻擊的節點就利用到了這個特性。它把自己偽裝成多個節點,在P2P網絡中廣播。(怎樣偽裝?想象上課老師點名時一個同學幫助一個寢室的全部同學答到)

例如,在一個4節點的區塊鏈系統中,在有1個壞節點,剩餘3個仍然能夠達成一致。但是如果這1個節點把自己偽裝成了4個節點,那麽好節點會認為整個系統中有7個節點,然後通過消息交叉驗證機制,對於1個好節點來說,它接收到的消息中,有2個是來自好節點,4個來自壞節點。根據PBFT原則,壞節點就可以精確控制好節點的數據了。壞節點可以精確控制3個好節點的區塊的內容了。

這種情況是非常危險的。壞節點相當於可以直接的把好節點給分叉了,壞節點可以直接對好節點雙花自己的代幣。例如在供應鏈金融區塊鏈中,我們通過區塊鏈技術來防止企業用一份數字資產(例如海關的電子關單)在不同的機構進行多次抵押。但是如果這家企業利用女巫攻擊,就可以實現把這一份數字資產在不同的銀行進行多次抵押,從而實現盈利。

可以看出,在公有鏈中的共識機制,由於其不依賴於節點數量,因此公有鏈中不存在女巫攻擊的風險。而聯盟鏈中應對女巫風險的辦法,除了更換為公有鏈中的共識機制這種得不償失的辦法外,常用有幾種策略都是要重點保護身份認證服務本身,確保“女巫的分身”不會被好節點認為是區塊鏈中正常的節點,確保身份認證服務能夠真的把現實世界中的實體與區塊鏈中的節點對應起來。

除了這種通用型的策略外,我們還有一些針對垂直行業的解決方案:例如在防止企業用一份數字資產在不同金融機構間進行多次抵押的業務場景,我們可以在智能合約中規定好:每個抵押必須有其他所有區塊鏈上的金融機構的數字簽名,我們才認為該抵押真正生效。利用智能合約的特性,在“平等的區塊鏈網絡中”建立“不平等的業務權限”,從而確保攻擊者無法通過攻擊獲利,最終保護整個聯盟鏈的安全。

從上面這個例子,我們可以看出,對於區塊鏈這種新型的技術體系,在使用它的時候,需要從技術、經濟模型等多種角度去考慮系統的安全性。因此,相比於傳統的資訊安全領域,區塊鏈安全由於系統的節點控制權分布在不同主體中,其安全策略是需要引入一些新的思想來進行設計的。當然,還有最簡單的解決方式就是:使用區塊鏈雲服務。區塊鏈雲服務擁有完善的智能合約市場,事先已經對很多安全威脅進行了業務蹭的預防。同時雲服務,可以提供完善的身份認證機制,確保“女巫的分身”不會出現,另外也由於雲計算平台账號的統一性,在一定程度上防止企業出借(或者賣掉)账號。

更多資訊,請關注雷鋒網AI金融評論

獲得更多的PTT最新消息
按讚加入粉絲團