區(qū)塊鏈中的交易安全往往與區(qū)塊的最終性問題相互關(guān)聯(lián)。
墊江網(wǎng)站建設(shè)公司創(chuàng)新互聯(lián)公司,墊江網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為墊江數(shù)千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站建設(shè)要多少錢,請找那個售后服務(wù)好的墊江做網(wǎng)站的公司定做!交易接收者必須確保交易不會被撤消,并且發(fā)送者無法執(zhí)行兩次消費(fèi)。就法定貨幣而言,終局性受到法律的約束,即使貨幣成為法定貨幣。在基于PoW(工作量證明)的設(shè)計中,區(qū)塊是永遠(yuǎn)不會有最終性的。中本聰(Satoshi Nakamoto)表明,在N個區(qū)塊內(nèi)發(fā)生自發(fā)分叉的可能性可以忽略不計,因此人們可以聲稱比特幣具有概率上的終結(jié)性。但是,研究人員表明,區(qū)塊最終性確定實際上是經(jīng)濟(jì)確定:當(dāng)交易逆轉(zhuǎn)所需的成本大于雙花攻擊的潛在利潤時,那么交易就是最終性的。
有時一些區(qū)塊鏈專家聲稱,基于PoS(權(quán)益證明)的區(qū)塊鏈不存在區(qū)塊最終性的問題,因為其中的區(qū)塊是“即時最終”。這種說法是錯誤的。
無論選擇哪種共識規(guī)則,分叉都是任何區(qū)塊鏈不可避免的問題。
最近關(guān)于Steem區(qū)塊鏈的報道就是一個很好的例子。網(wǎng)絡(luò)社區(qū)分裂成兩個互相敵對的陣營。盡管有共識規(guī)則,區(qū)塊鏈還是分叉了。每個小組維持自己的分叉鏈,并在凍結(jié)對方的錢包中余額。顯然,遵循原始協(xié)議規(guī)則的原鏈已經(jīng)輸?shù)袅诉@場決斗,因為它的市值已經(jīng)低于分叉鏈的市值。因此,我們可以得出結(jié)論,與PoW區(qū)塊鏈類似,PoS區(qū)塊鏈中的終結(jié)性具有經(jīng)濟(jì)基矗以太坊2.0的開發(fā)人員有著相同的愿景。
然而,他們聲稱Casper協(xié)議的slashing機(jī)制不僅可以防止任何危險的攻擊,而且會使雙花的攻擊更加昂貴。顯然復(fù)雜的協(xié)議邏輯為更復(fù)雜的雙花攻擊打開了大門。
簡化的雙花攻擊
對PoS區(qū)塊鏈的雙花出攻擊的最簡單形式是惡意攻擊者鎖定的抵押數(shù)量是誠實參與者的兩倍。如果惡意行為者B在類似于Ethereum 2.0的網(wǎng)絡(luò)中成功做到了這一點(diǎn),那么在這個特別的分片委員會中,他可能會獲得誠實驗證者兩倍的抵押。
因此,惡意行為者控制分片委員會中2/3的選票。在以太坊2.0中,此票數(shù)足以“最終確定”該區(qū)塊。
假設(shè)他想在分片上實現(xiàn)雙花攻擊。他發(fā)布一項交易,B用戶向用戶A發(fā)送代幣。該交易進(jìn)入誠實驗證者簽名的區(qū)塊中。B用戶增加了一部分選票,使該區(qū)當(dāng)眩在基于PoS的協(xié)商一致意見中,委員會的票數(shù)必須是贊成票,才能“最終確定”該區(qū)塊。
根據(jù)我們的假設(shè),攻擊者的選票中有一半是委員會中的五分之一。那么與誠實的驗證者的加在一起,它就等于2/3的選票。這也是“最終確定”區(qū)塊所需的閾值。因此,A用戶了解到該交易已“完成”,并向B用戶釋放商品。然后B用戶通過創(chuàng)建一個分叉并使用他在委員會中的所有投票來驗證交易,從而還原該交易。根據(jù)Casper協(xié)議,B用戶在兩個分叉中使用的分片的一半抵押應(yīng)該被削減。Casper協(xié)議的設(shè)計者聲稱這是攻擊的代價。
在這種簡化的情況下,攻擊者失去了分片中一半的抵押。同樣,此數(shù)量等于誠實驗證者在此分片中所占的份額。假設(shè)網(wǎng)絡(luò)中有N個分片,然后,攻擊者損失了他的總權(quán)益的1/2N或誠實利益相關(guān)方的總權(quán)益的1/N。因此網(wǎng)絡(luò)中的分片越多,那么攻擊者的雙花攻擊就越便宜。如果將這一值視為衡量網(wǎng)絡(luò)安全性的標(biāo)準(zhǔn),那么安全性將下降N倍。請注意,這不是被認(rèn)為是可伸縮性難題的可能解決方案的屬性。但是以太坊2.0的開發(fā)人員聲稱,這種攻擊的代價如此之大,以至于1/N的因素都不會對其造成影響。
復(fù)雜的雙花攻擊
上一節(jié)中描述的攻擊場景不是唯一的。惡意攻擊者可能會執(zhí)行更復(fù)雜的雙花攻擊。Casper協(xié)議的作者聲稱,攻擊者的部分抵押會被削減。真的嗎?答案是不”。網(wǎng)絡(luò)中發(fā)生的一切都會記錄到區(qū)塊鏈中。如果區(qū)塊鏈不包含任何惡意行為的記錄,那么如何指控某人從事惡意行為?
在接下來的的雙重攻擊中,惡意的參與者可以抵御系統(tǒng)對其抵押的削減。為了減少風(fēng)險,誠實節(jié)點(diǎn)應(yīng)在特定鏈上包括用于協(xié)調(diào)利益相關(guān)者的相應(yīng)記錄。它稱為信標(biāo)鏈。如果信標(biāo)鏈遵循未經(jīng)許可的PoS共識,則需要確認(rèn)者的三分之二的投票才能將該記錄包含在區(qū)塊鏈中。因此,只要惡意行為體控制信標(biāo)鏈委員會的1/3數(shù)量,他就可以避免大刀闊斧!如果他直到他的抵押被解鎖之前一直不斷攻擊,那么他的進(jìn)攻幾乎是免費(fèi)的!問題是:他應(yīng)該將抵押鎖定多長時間?
在目前的以太坊2.0規(guī)范中,這個抵押鎖定周期是半年。但是攻擊者可以在抵押鎖定間隔結(jié)束時發(fā)起攻擊。一個可能的解決方法是在發(fā)布前設(shè)置一個時間間隔,在此期間,抵押不能被選入分片委員會,然后用于雙花攻擊。但是這種對策降低了抵押的成本效益。在此時間間隔內(nèi),所有受影響的利益相關(guān)者都應(yīng)為其鎖定資金獲得補(bǔ)償。但是這些資金已“停用”,因此不參與區(qū)塊驗證。此外,惡意的參與者可以使用此修復(fù)來為自己的利益服務(wù),因為他可以謹(jǐn)慎地選擇攻擊的時間。他可以同時鎖定自己的抵押,以便同時“激活”和“停用”他的抵押。相比之下,誠實的利益相關(guān)者通常會有一部分利益被停用,因此被排除在驗證過程之外。因此,在委員會中獲得2/3選票變得更加容易。
有人可能會爭辯說,在此版本的攻擊中,誠實節(jié)點(diǎn)可以觀察到信標(biāo)鏈委員會中的1/3抵押用于完成攻擊。首先,他們可以采取Casper協(xié)議中未列出的措施來懲罰攻擊者。第二種選擇是嘗試將更多資金鎖定在抵押中,甚至開始新的分叉。第一種選擇不是可行的情況,因為攻擊者可以進(jìn)行“審查”。
他可以在信標(biāo)鏈委員會中使用其選票來阻止分配新抵押。因此,他可以根據(jù)需要在分片委員會中保留1/3的選票。第二種選擇是可行的,但是,它一開始就濫用了參與者接受的網(wǎng)絡(luò)協(xié)議。如果一個獨(dú)立的觀察者試圖根據(jù)區(qū)塊鏈中記錄的數(shù)據(jù)找出網(wǎng)絡(luò)中發(fā)生了什么,那么他將無法區(qū)分惡意行為者和誠實的驗證者。
在結(jié)束討論之前,我們考慮一下上次攻擊的修改版本。新版本結(jié)合了遠(yuǎn)程攻擊和無風(fēng)險攻擊。惡意行為者再次使用其部分抵押分叉一條新的分片鏈。然而在本例中,他沒有向誠實節(jié)點(diǎn)透露新的分叉鏈。然后他就等著,直到他被受損的抵押被解鎖?,F(xiàn)在他出售了自己受損的抵押,魯莽的參與者,停止使用他的票委員會誠實分片鏈,然后向其他分片參與者透露他新的分叉鏈。根據(jù)該協(xié)議,應(yīng)放棄由誠實驗證者維護(hù)的鏈,因此攻擊的修改版本成功。請注意,用于分叉鏈的抵押保證金已售出。因此,惡意行為者避免了再次被大幅削減。此外,在這次襲擊中,他在信標(biāo)鏈上的抵押并未受到損害。
可以根據(jù)使用檢查點(diǎn)的情況,建議對修改后的攻擊進(jìn)行修復(fù)。根據(jù)這個修正,這個鏈包含了“無法恢復(fù)”的檢查點(diǎn)區(qū)塊,但是這個修正是有爭議的,因為“檢查點(diǎn)”的概念在區(qū)塊鏈的設(shè)置中不起作用。眾所周知,區(qū)塊鏈中的區(qū)塊永遠(yuǎn)不會不分叉。分叉是區(qū)塊鏈的自然屬性,任何分叉都會有自己的“完全確定的檢查點(diǎn)”。因此使用“檢查點(diǎn)”的概念通常會造成混淆和誤導(dǎo)。如果節(jié)點(diǎn)必須依靠檢查點(diǎn),那么它必須依靠“檢查點(diǎn)提供者”。這要求將信任元素引入所謂的無信任網(wǎng)絡(luò)中。
我們的結(jié)論是,攻擊者以抵押形式分配大量權(quán)力,可以在網(wǎng)絡(luò)中發(fā)起毀滅性攻擊,同時避免大幅削減機(jī)制。這種攻擊形式非常類似于51%攻擊,這可能是在基于PoW的區(qū)塊鏈中進(jìn)行的。
----------------------------------------------------
原文作者:Jax.Network
譯者:鏈三豐
譯文出處:http://bitoken.world
----------------------------------------------------