當(dāng)前位置:首頁(yè) > 物聯(lián)網(wǎng) > 區(qū)塊鏈
[導(dǎo)讀] 在智能合約系統(tǒng)的設(shè)計(jì)中,一種常見(jiàn)的模式是要求客戶端在某個(gè)時(shí)間節(jié)點(diǎn)前采取某些行為;如果客戶端超過(guò)這個(gè)時(shí)間點(diǎn)(如,某個(gè)區(qū)塊高度)沒(méi)有響應(yīng),則智能合約會(huì)采取一些替代行動(dòng),而且通常來(lái)說(shuō)是對(duì)逾時(shí)的客戶端不

在智能合約系統(tǒng)的設(shè)計(jì)中,一種常見(jiàn)的模式是要求客戶端在某個(gè)時(shí)間節(jié)點(diǎn)前采取某些行為;如果客戶端超過(guò)這個(gè)時(shí)間點(diǎn)(如,某個(gè)區(qū)塊高度)沒(méi)有響應(yīng),則智能合約會(huì)采取一些替代行動(dòng),而且通常來(lái)說(shuō)是對(duì)逾時(shí)的客戶端不利的行動(dòng)。本文中,我的關(guān)注點(diǎn)是交互式 rollup 協(xié)議會(huì)用到的類似模式 —— 由某一方提出 “斷言(assertion)”,其他人如果覺(jué)得斷言有問(wèn)題,可以在 “挑戰(zhàn)窗口期” 內(nèi)提出挑戰(zhàn);如果挑戰(zhàn)期內(nèi)沒(méi)有人提出任何挑戰(zhàn),則這個(gè)斷言就會(huì)被視為有效的。

這種設(shè)計(jì)模式在實(shí)踐中會(huì)遇到的問(wèn)題是審查攻擊(censorship attack)—— 攻擊者阻撓其他人在時(shí)間窗口內(nèi)提出挑戰(zhàn)。在交互式 rollup 協(xié)議中,攻擊者可能會(huì)提出虛假的 “斷言”,同時(shí)阻止其他人在窗口期發(fā)起挑戰(zhàn),最終導(dǎo)致虛假的斷言反倒成為合法的。

我們也假設(shè),攻擊者必須先投入一筆資金,一旦攻擊失敗,它會(huì)失去這筆錢(qián);這樣一來(lái),我們不需要讓系統(tǒng)被成功攻擊概率為零,而只要確保攻擊成功概率足夠小,就不會(huì)有人愿意去嘗試攻擊整個(gè)系統(tǒng)。

下文,我會(huì)總結(jié)有關(guān)審查攻擊的知識(shí),以及如何對(duì)抗審查攻擊,最后給出我對(duì)這種風(fēng)險(xiǎn)的看法。

審查攻擊的類型

審查攻擊主要有四種:

分叉:礦工串通(或被賄賂)棄置包含正常挑戰(zhàn)的區(qū)塊,并通過(guò)分叉,使另一條沒(méi)有包含任何挑戰(zhàn)的區(qū)塊鏈被接受。

閃躲:礦工密謀(或被賄賂)在出塊時(shí)不打包正常的挑戰(zhàn)。

干擾:攻擊者通過(guò)傳統(tǒng)的拒絕服務(wù)攻擊(DoS),使得其他人無(wú)法提出挑戰(zhàn)(無(wú)法發(fā)出包含挑戰(zhàn)的交易)。

速攻:攻擊者在很短的時(shí)間內(nèi)提出大量的鏈上斷言,讓其他人來(lái)不及在時(shí)間窗口內(nèi)對(duì)所有斷言進(jìn)行檢查和挑戰(zhàn)。

我們一個(gè)一個(gè)分別討論。

分叉攻擊

分叉攻擊是指在工作量證明(PoW)區(qū)塊鏈上,攻擊者獲得大多數(shù)挖礦算力,并根據(jù)需求使用這些算力來(lái)孤立包含挑戰(zhàn)的區(qū)塊。

因?yàn)檫@類攻擊要求攻擊者控制絕大部分算力,所以很難發(fā)起——如果攻擊者能夠輕易獲得大部分算力,表示這條區(qū)塊鏈本身就有很大的問(wèn)題?;蛘邠Q個(gè)角度想,一個(gè)能夠控制絕大部分挖礦算力的卡特爾,一方面會(huì)導(dǎo)致大家不信任他們所在的區(qū)塊鏈,另一方面,可能也會(huì)有比審查攻擊能更快從系統(tǒng)中榨出油水來(lái)的辦法。

你可能會(huì)說(shuō),慢著!算力壟斷者可能并不會(huì)高調(diào)地聲張,只是偷偷摸摸地搞審查;如果攻擊者有能力這么做,他們可能會(huì)在避免整個(gè)區(qū)塊鏈信譽(yù)受損的前提下,通過(guò)分叉進(jìn)行審查攻擊。

這里引出第一個(gè)問(wèn)題:審查攻擊對(duì)于旁觀者來(lái)說(shuō),是否易于察覺(jué)?為了證明分叉攻擊是顯而易見(jiàn)的,我模擬了分叉。假設(shè)攻擊者控制了 60% 的算力,在前三十個(gè)區(qū)塊中,出現(xiàn)三條分叉鏈,長(zhǎng)度分別是 1、6、5;這和一般的區(qū)塊鏈完全不同。我又做了一次模擬,這次攻擊者控制 55% 的算力,這時(shí)候一個(gè)較早期的分叉可長(zhǎng)達(dá) 48 個(gè)塊。根據(jù)簡(jiǎn)單的數(shù)學(xué)模型預(yù)測(cè),當(dāng)壟斷了 60% 的算力,則每 2.5 塊會(huì)發(fā)生一次分叉,分叉導(dǎo)致的孤鏈平均長(zhǎng)度為 5 ;當(dāng)壟斷了 55% 的算力,則每 2.2 塊會(huì)發(fā)生一次分叉,分叉導(dǎo)致的孤鏈平均長(zhǎng)度為 10。

可以看到,隨著壟斷的算力下降,分叉發(fā)生的頻率及孤鏈長(zhǎng)度反而增加了;但無(wú)論分叉長(zhǎng)短,它們的共同之處是(首塊共性):在孤立分支上的首個(gè)區(qū)塊一定包含有效挑戰(zhàn),而最終成為主鏈的分支則絕對(duì)不會(huì)包含這個(gè)挑戰(zhàn) —— 提出該挑戰(zhàn)的人一定會(huì)發(fā)現(xiàn)這點(diǎn)?。ü粽呖赡軙?huì)試圖在更遠(yuǎn)處進(jìn)行分叉來(lái)避免首塊共性,但這會(huì)導(dǎo)致分支過(guò)長(zhǎng),而最終孤立的分支仍包含該挑戰(zhàn)。)所以審查攻擊一旦發(fā)生,就一定會(huì)被人發(fā)現(xiàn)。

我不知道你會(huì)怎么想,但如果我發(fā)現(xiàn)區(qū)塊鏈中存在算力壟斷現(xiàn)象,而且壟斷者會(huì)時(shí)不時(shí)使用算力干擾應(yīng)用層協(xié)議,我會(huì)感到非常擔(dān)憂。如果其他人也有這種疑慮,整個(gè)區(qū)塊鏈將不再被用戶所信任——任何 51% 算力攻擊皆會(huì)導(dǎo)致這個(gè)結(jié)果。

換言之,這種攻擊的問(wèn)題并不是有人會(huì)審查你的應(yīng)用層的交易,而是你所處的區(qū)塊鏈存在算力壟斷者,它可以為了利益不受約束地破壞規(guī)則。對(duì)于任何區(qū)塊鏈應(yīng)用來(lái)說(shuō),不論 TA 是否采用窗口期設(shè)計(jì)模式,只要出現(xiàn)了這種算力壟斷,就是毀滅性的打擊。

如果你所在的區(qū)塊鏈可能出現(xiàn)分叉攻擊,你應(yīng)考慮轉(zhuǎn)移到其他區(qū)塊鏈。

閃躲攻擊

如果算力壟斷者不采用容易被發(fā)現(xiàn)的分叉攻擊,還有別的詭計(jì)嗎?有的,就是閃躲攻擊。惡意礦工只要在出塊時(shí),拒絕打包包含挑戰(zhàn)的交易就行了;只要確保挑戰(zhàn)窗口期內(nèi)所產(chǎn)的區(qū)塊,都由惡意礦工產(chǎn)出,攻擊就能成功。

閃躲攻擊成功的可能性有多大?可以這么解釋:當(dāng)壟斷者控制的算力比例為?f?,挑戰(zhàn)窗口期為?n?個(gè)區(qū)塊,則攻擊成功率為?f?n?。舉例來(lái)說(shuō),壟斷者控制了 90% 的算力,挑戰(zhàn)窗口期為 50 個(gè)區(qū)塊,則攻擊成功率為 0.5 %(如果控制了 95% 的算力,攻擊成功率還要維持在 0.5 %,則窗口期要增加為 100 個(gè)區(qū)塊)。如果攻擊者要為攻擊失敗支付大量罰金 —— 就像 rolluo 協(xié)議所設(shè)計(jì)的那樣 —— 他們就不會(huì)肆無(wú)忌憚地攻擊;而且如果罰沒(méi)的錢(qián)能返給受害者,大家還會(huì)喜聞樂(lè)見(jiàn)這些未遂的攻擊。

所以應(yīng)對(duì)閃躲攻擊的辦法是確保挑戰(zhàn)窗口期足夠長(zhǎng),使得攻擊成功概率低至用戶能接受的范圍;假設(shè)你能接受的攻擊成功率為?r?,攻擊者至多能控制?f?的算力,則安全的挑戰(zhàn)窗口期為?log(r)/log(f)?個(gè)區(qū)塊。

這個(gè)建議在現(xiàn)實(shí)中也是合理的;假設(shè)攻擊者能夠壟斷 99% 的算力,要保證攻擊成功率低至 0.1%,則挑戰(zhàn)窗口期至少要等于 log(0.001)/log(0.99) = 687 個(gè)區(qū)塊,對(duì)于以太坊來(lái)說(shuō)只需要不到三小時(shí)。

干擾攻擊

在干擾攻擊情況下,攻擊者通過(guò)“傳統(tǒng)的拒絕服務(wù)攻擊”,來(lái)阻止其他人發(fā)出挑戰(zhàn);也就是“以 DoS 進(jìn)行審查攻擊”。

干擾攻擊的問(wèn)題是,攻擊者必須阻止 “所有” 可能提交挑戰(zhàn)的參與方,如果這些參與方足夠多,則干擾攻擊就很難成功。

對(duì)于攻擊者來(lái)說(shuō)還有個(gè)壞消息是,其他利益相關(guān)方可能會(huì)暗中雇用監(jiān)視者 —— 一個(gè)暗中觀察協(xié)議運(yùn)行的中間方,在參與者來(lái)不及或難以發(fā)出挑戰(zhàn)時(shí)介入,對(duì)無(wú)效的斷言發(fā)起挑戰(zhàn)。攻擊者沒(méi)辦法辨別這些潛伏的監(jiān)視者,也就沒(méi)辦法對(duì)他們發(fā)起 DoS 。

綜上,對(duì)于攻擊者來(lái)說(shuō),干擾攻擊似乎不是個(gè)好選擇。

速攻

速攻指的是,攻擊者發(fā)布大量的斷言,使得其他人來(lái)不及在挑戰(zhàn)窗口期內(nèi)檢查所有斷言。

任何的 rollup 協(xié)議都需要有防御速攻的機(jī)制,其中一種方法是對(duì)提出斷言的頻率進(jìn)行限制,保證協(xié)議在設(shè)定的挑戰(zhàn)窗口期內(nèi)的任何時(shí)間點(diǎn),全網(wǎng)都有足夠的能力去檢查待處理的斷言或挑戰(zhàn)。

這類機(jī)制會(huì)在一條rollup區(qū)塊鏈上,針對(duì)智能合約的處理能力實(shí)施一種 “速限手段” ——即使存在某個(gè)能快速提出大量斷言的人,他最終也不得不慢下來(lái),確保其他正常參與者能跟上。

所以要衡量一個(gè) rollup 系統(tǒng)的可擴(kuò)展性,其中一個(gè)很重要的指標(biāo)就是它在保證安全的前提下的最大速度限制;速限指的是一個(gè)系統(tǒng)能安全處理事務(wù)的速率,而不是某個(gè)參與者能夠產(chǎn)出斷言的極限速率。

總結(jié)

綜上所述,有三種審查攻擊能夠通過(guò)合理的設(shè)計(jì)或?qū)嵺`來(lái)避免。

防范閃躲攻擊:評(píng)估攻擊者的資源和風(fēng)險(xiǎn)承受能力,制定合理的挑戰(zhàn)窗口期。

防范干擾攻擊:自行雇用(或通過(guò)可信的權(quán)威方雇用)潛伏的監(jiān)視者,當(dāng)你出差池的時(shí)候這些監(jiān)視者能夠代替你發(fā)起挑戰(zhàn)。

防范速攻:更細(xì)致的設(shè)計(jì) rollup 協(xié)議。

關(guān)于分叉類型的審查攻擊則很難分析;因?yàn)槟撤N程度上來(lái)說(shuō),成功的分叉攻擊會(huì)留下明顯的證據(jù),證明該鏈上存在算力壟斷者,而這些算力壟斷者會(huì)更愿意采取其他更快獲得收益的攻擊 —— 比如雙花。任何存在算力壟斷的區(qū)塊鏈都已經(jīng)病入膏肓,那又何必為這種情況下的審查攻擊而操心呢?

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉