1
本文作者: 敖萌 | 2018-09-10 23:39 |
雷鋒網(wǎng)AI金融評論按:本文作者為騰訊云金融業(yè)務(wù)中心區(qū)塊鏈?zhǔn)紫軜?gòu)師敖萌博士,雷鋒網(wǎng)獨家特約文章。未來,敖萌博士原創(chuàng)的區(qū)塊鏈系列文章還將繼續(xù)刊出,敬請關(guān)注!
在本系列講區(qū)塊鏈共識的文章中(區(qū)塊鏈研習(xí) | 區(qū)塊鏈中的共識機制是什么? ),曾經(jīng)提過非公有鏈中的共識算法原則:“對于非公有鏈來說,情況簡單了很多:每個節(jié)點都知道總共的節(jié)點數(shù),我們只要簡單投票就可以了?!惫沧R機制變簡單了,攻擊也變得簡單了。在聯(lián)盟鏈中有一種特有的攻擊方式——女巫攻擊(Sybil Attack來源是70年代的一部叫做《Sybil》的美國系列片。片中的女主角人格混亂,扮演著16個角色)。女巫攻擊是在傳統(tǒng)P2P系統(tǒng)中一直存在的一種威脅。
在拜占庭容錯算法中(傳送門:區(qū)塊鏈研習(xí) | 看懂“拜占庭容錯”,也就看懂了區(qū)塊鏈的核心技術(shù) ),我們知道,PBFT算法能夠抵抗的拜占庭節(jié)點數(shù)是N≥3f+1。因此,在具有身份認(rèn)證的區(qū)塊鏈中,節(jié)點的數(shù)量的比例是非常重要的。而女巫攻擊就是直接針對這種特性——直接在節(jié)點的數(shù)量上做文章。
在絕對去中心化的系統(tǒng)中,是沒有上帝視角的。因此,任何節(jié)點都不能天然的知道在系統(tǒng)中到底有多少個節(jié)點參與進來:他們只能通過自己接收到的數(shù)據(jù),來判斷全局的情況。于是,攻擊的節(jié)點就利用到了這個特性。它把自己偽裝成多個節(jié)點,在P2P網(wǎng)絡(luò)中廣播。(怎樣偽裝?想象上課老師點名時一個同學(xué)幫助一個寢室的全部同學(xué)答到)
例如,在一個4節(jié)點的區(qū)塊鏈系統(tǒng)中,在有1個壞節(jié)點,剩余3個仍然能夠達(dá)成一致。但是如果這1個節(jié)點把自己偽裝成了4個節(jié)點,那么好節(jié)點會認(rèn)為整個系統(tǒng)中有7個節(jié)點,然后通過消息交叉驗證機制,對于1個好節(jié)點來說,它接收到的消息中,有2個是來自好節(jié)點,4個來自壞節(jié)點。根據(jù)PBFT原則,壞節(jié)點就可以精確控制好節(jié)點的數(shù)據(jù)了。壞節(jié)點可以精確控制3個好節(jié)點的區(qū)塊的內(nèi)容了。
這種情況是非常危險的。壞節(jié)點相當(dāng)于可以直接的把好節(jié)點給分叉了,壞節(jié)點可以直接對好節(jié)點雙花自己的代幣。例如在供應(yīng)鏈金融區(qū)塊鏈中,我們通過區(qū)塊鏈技術(shù)來防止企業(yè)用一份數(shù)字資產(chǎn)(例如海關(guān)的電子關(guān)單)在不同的機構(gòu)進行多次抵押。但是如果這家企業(yè)利用女巫攻擊,就可以實現(xiàn)把這一份數(shù)字資產(chǎn)在不同的銀行進行多次抵押,從而實現(xiàn)盈利。
可以看出,在公有鏈中的共識機制,由于其不依賴于節(jié)點數(shù)量,因此公有鏈中不存在女巫攻擊的風(fēng)險。而聯(lián)盟鏈中應(yīng)對女巫風(fēng)險的辦法,除了更換為公有鏈中的共識機制這種得不償失的辦法外,常用有幾種策略都是要重點保護身份認(rèn)證服務(wù)本身,確?!芭椎姆稚怼辈粫缓霉?jié)點認(rèn)為是區(qū)塊鏈中正常的節(jié)點,確保身份認(rèn)證服務(wù)能夠真的把現(xiàn)實世界中的實體與區(qū)塊鏈中的節(jié)點對應(yīng)起來。
除了這種通用型的策略外,我們還有一些針對垂直行業(yè)的解決方案:例如在防止企業(yè)用一份數(shù)字資產(chǎn)在不同金融機構(gòu)間進行多次抵押的業(yè)務(wù)場景,我們可以在智能合約中規(guī)定好:每個抵押必須有其他所有區(qū)塊鏈上的金融機構(gòu)的數(shù)字簽名,我們才認(rèn)為該抵押真正生效。利用智能合約的特性,在“平等的區(qū)塊鏈網(wǎng)絡(luò)中”建立“不平等的業(yè)務(wù)權(quán)限”,從而確保攻擊者無法通過攻擊獲利,最終保護整個聯(lián)盟鏈的安全。
從上面這個例子,我們可以看出,對于區(qū)塊鏈這種新型的技術(shù)體系,在使用它的時候,需要從技術(shù)、經(jīng)濟模型等多種角度去考慮系統(tǒng)的安全性。因此,相比于傳統(tǒng)的信息安全領(lǐng)域,區(qū)塊鏈安全由于系統(tǒng)的節(jié)點控制權(quán)分布在不同主體中,其安全策略是需要引入一些新的思想來進行設(shè)計的。當(dāng)然,還有最簡單的解決方式就是:使用區(qū)塊鏈云服務(wù)。區(qū)塊鏈云服務(wù)擁有完善的智能合約市場,事先已經(jīng)對很多安全威脅進行了業(yè)務(wù)蹭的預(yù)防。同時云服務(wù),可以提供完善的身份認(rèn)證機制,確?!芭椎姆稚怼辈粫霈F(xiàn),另外也由于云計算平臺賬號的統(tǒng)一性,在一定程度上防止企業(yè)出借(或者賣掉)賬號。
更多資訊,請關(guān)注雷鋒網(wǎng)AI金融評論
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。