前言:bZx事件發(fā)生之后,加密社區(qū)開(kāi)始重視閃貸攻擊。本文作者Haseeb認(rèn)為閃貸用于套利不是其最大的用例,它最大的用例在于釋放了閃貸攻擊。閃貸攻擊無(wú)法消失,且很難阻止。有些阻止攻擊的措施看似合理,但成本很高,不切實(shí)際。而當(dāng)前改進(jìn)主要集中在價(jià)格預(yù)言機(jī)和治理代幣機(jī)制上。比如價(jià)格采用通過(guò)TWAP或VWAP使用最后X個(gè)區(qū)塊的加權(quán)平均值的機(jī)制。治理代幣采用時(shí)間鎖機(jī)制等。此外,如果閃貸攻擊的利益足夠高,礦工也可能會(huì)參與作惡??傊?,面臨閃貸攻擊,DeFi還需要更好的應(yīng)對(duì)。
閃貸最近成為加密社區(qū)關(guān)注的焦點(diǎn)。最近發(fā)生了兩次使用閃貸對(duì)保證金交易協(xié)議bZx的攻擊,第一次是35萬(wàn)美元的攻擊,第二次是60萬(wàn)美元的模仿攻擊。
用一句話來(lái)總結(jié),這些攻擊非常“華麗”。每次攻擊中,攻擊者不用花費(fèi)一分錢立即借到數(shù)十萬(wàn)美元的ETH,然后通過(guò)一系列脆弱的鏈上協(xié)議,賺取數(shù)十萬(wàn)被盜資金,最后歸還借來(lái)的數(shù)額巨大的ETH貸款。所有這些都是瞬間發(fā)生的。也就是說(shuō),在單個(gè)以太坊交易中完成。
我們不知道這些攻擊者是誰(shuí)或他們來(lái)自哪里。他們進(jìn)來(lái)時(shí)兩手空空,離開(kāi)時(shí)拿走數(shù)十萬(wàn)美元的價(jià)值,且都沒(méi)有留下痕跡。
在這些攻擊之后,我一直在思考閃貸及其對(duì)DeFi安全的影響。我認(rèn)為這值得公開(kāi)思考。簡(jiǎn)言之,我認(rèn)為閃貸對(duì)DeFi是巨大的安全威脅。但是,閃貸并不會(huì)消失,我們需要仔細(xì)思考它們對(duì)未來(lái)DeFi安全的影響。
什么是閃貸
閃貸的概念最初由Marble 協(xié)議的創(chuàng)建者M(jìn)ax Wolff于2018年提出。Marble在市場(chǎng)上將自己宣稱為“智能合約銀行”,其產(chǎn)品非常簡(jiǎn)單,但極具DeFi創(chuàng)新:通過(guò)智能合約進(jìn)行零風(fēng)險(xiǎn)貸款。(藍(lán)狐筆記:關(guān)于什么是閃貸,可以參考之前的文章《加密閃貸:互聯(lián)網(wǎng)貨幣的神奇新發(fā)明》《閃貸策略:攻擊者能取走M(jìn)aker的7億美元抵押品嗎?》《bZx事件的啟示》)
怎么可能有零風(fēng)險(xiǎn)的貸款?
傳統(tǒng)的貸方承擔(dān)兩種形式的風(fēng)險(xiǎn)。首先是違約風(fēng)險(xiǎn):如果借款人卷款跑了,很糟糕。貸方的第二個(gè)風(fēng)險(xiǎn)是流動(dòng)性不足的風(fēng)險(xiǎn):如果貸方在錯(cuò)誤時(shí)間貸出太多資產(chǎn),或者沒(méi)有及時(shí)收回還款,貸方可能會(huì)意外地缺乏流動(dòng)性,且無(wú)法履行其義務(wù)。
閃貸減輕了這兩種風(fēng)險(xiǎn)。閃貸基本上是這樣運(yùn)作的:我在單個(gè)交易中借給你想要數(shù)額的錢。但是,在這筆交易結(jié)束之前,你必須至少償還我借給你的錢。如果你無(wú)法執(zhí)行此操作,我會(huì)自動(dòng)回滾你的交易。是的,智能合約可以做到這一點(diǎn)。
簡(jiǎn)言之,你的閃貸具有原子性:如果你無(wú)法償還貸款,整個(gè)事情就會(huì)還原,就像是借貸從未發(fā)生過(guò)一樣。這樣的事情只能發(fā)生在區(qū)塊鏈。例如,你無(wú)法在BitMEX上閃貸。這是因?yàn)橹悄芎霞s平臺(tái)一次只能處理單個(gè)交易,因此,在單個(gè)交易發(fā)生的所有事情都是作為批處理按次序執(zhí)行。你可以將其看作為交易執(zhí)行期間的“凍結(jié)時(shí)間”。另一方面,中心化交易所可能會(huì)出現(xiàn)競(jìng)爭(zhēng)狀況,以致于你的訂單無(wú)法履行。在區(qū)塊鏈上,可以確保的是,你的所有代碼都是按次序運(yùn)行。
因此,讓我們思考一下這里的經(jīng)濟(jì)學(xué)。傳統(tǒng)的放貸人在兩個(gè)方面得到補(bǔ)償:他們承擔(dān)的風(fēng)險(xiǎn)(違約風(fēng)險(xiǎn)和流動(dòng)性風(fēng)險(xiǎn)),以及他們借出資本的機(jī)會(huì)成本(例如,如果我能在其他地方獲得2%的利息,那么,借款人必須向我支付高于2%的無(wú)風(fēng)險(xiǎn)費(fèi)用)。
而閃貸不同。從字面意義上說(shuō),閃貸沒(méi)有風(fēng)險(xiǎn),且沒(méi)有機(jī)會(huì)成本。這是因?yàn)榻杩钊嗽谄溟W貸期間“凍結(jié)了時(shí)間”,因此,在其他人眼中,系統(tǒng)的資本從未有風(fēng)險(xiǎn)且無(wú)負(fù)擔(dān),它也無(wú)法在其它地方賺取利息(即,它沒(méi)有機(jī)會(huì)成本)。
在某種意義上,這意味著成為閃貸的放貸人沒(méi)有成本。這是非常反直覺(jué)的。那么,均衡時(shí)的閃貸成本應(yīng)該是多少?(藍(lán)狐筆記:這里說(shuō)的均衡時(shí),是指經(jīng)過(guò)充分競(jìng)爭(zhēng)且發(fā)展成熟穩(wěn)定時(shí))
基本上,閃貸應(yīng)該是免費(fèi)的?;蛘吒‘?dāng)?shù)淖龇ㄊ?,支付小額費(fèi)用,以分?jǐn)偘ㄊ沟觅Y產(chǎn)可實(shí)現(xiàn)閃貸的額外三行代碼的成本。
閃貸無(wú)法收取傳統(tǒng)意義上的利息,因?yàn)檫@種貸款有效期為零(任何APR*0=0)。當(dāng)然,如果閃貸放貸人收取更高的費(fèi)用,他們很容易就被其他收取較低利率的閃貸池所超越。
閃貸使得資本變成真正的商品。這種競(jìng)爭(zhēng)不可避免地會(huì)導(dǎo)致零費(fèi)用或微不足道的象征性費(fèi)用。dYdX當(dāng)前對(duì)閃貸收取零費(fèi)用。另一方面,AAVE對(duì)閃貸收取本金0.09%的費(fèi)用。我懷疑這是不可持續(xù)的,確實(shí),他們社區(qū)中的一些人呼吁將費(fèi)用消減至零。(請(qǐng)注意,這兩次攻擊都沒(méi)有使用AAVE作為他們的閃貸池)
閃貸有何用處?
閃貸最初的宣傳是它們基本上用于套利。Marble的公告聲稱:
“通過(guò)閃貸,交易者可以從Marble銀行借錢,隨后在一個(gè)DEX上買入代幣,并以更高的價(jià)格在另外一個(gè)DEX上賣出代幣,然后將錢還給銀行,并且在單個(gè)原子交易中獲得套利收益?!?/p>
的確如此——就交易量來(lái)說(shuō),迄今為止,大多數(shù)閃貸都用于此類套利。
不過(guò)交易量較小。AAVE的閃貸業(yè)務(wù)開(kāi)展以來(lái),其借貸額僅為1萬(wàn)美元。與DeFi的套利和清算市場(chǎng)相比,這是微不足道的。
這是因?yàn)榇蠖鄶?shù)套利都由運(yùn)行復(fù)雜機(jī)器人的競(jìng)爭(zhēng)套利人執(zhí)行。他們從事鏈上優(yōu)先gas拍賣,并使用gas代幣來(lái)優(yōu)化交易費(fèi)用。這是非常有競(jìng)爭(zhēng)力的市場(chǎng),這些人非常樂(lè)意在其資產(chǎn)負(fù)債表上保留一些代幣,以優(yōu)化其收益。
另一方面,在AAVE上借錢花費(fèi)80kgas成本,且收取本金0.09%的費(fèi)用,這對(duì)競(jìng)爭(zhēng)微薄差額的套利者來(lái)說(shuō),付出的價(jià)格很高。實(shí)際上,在大多數(shù)AAVE的套利中,借款人最終向借貸池支付的費(fèi)用高于他們套利賺取的收益。
從長(zhǎng)遠(yuǎn)看,除非情況特殊,否則套利者不太可能使用閃貸進(jìn)行套利。但閃貸在DeFi中存在其他更引人注目的用例。其中一個(gè)例子是貸款再融資。例如,假設(shè)我有一個(gè)Maker小金庫(kù)(藍(lán)狐筆記:也就是抵押債務(wù)頭寸),其中鎖定了100美元的ETH,我從中借出了40 DAI的貸款,也就是說(shuō),除去債務(wù),我還有60美元的凈頭寸?,F(xiàn)在,假設(shè)我想在Compound再融資以獲得更好的利息。通常,我需要回購(gòu)40 Dai來(lái)關(guān)閉我的CDP,這需要一些前期資金。而現(xiàn)在的可替代方法是,我可以通過(guò)閃貸借出40 Dai,關(guān)閉100美元的CDP,然后將解鎖的價(jià)值60美元的ETH存入Compound,通過(guò)Uniswap將剩余的價(jià)值40美元的ETH換成Dai,然后用它償還閃貸。Boom!原子性的0資本再融資。
這真是太神奇了。這是貨幣樂(lè)高運(yùn)作的很好例子。1x.ag實(shí)際上構(gòu)建了一個(gè)保證金交易匯聚器,該匯聚器使用閃貸自動(dòng)執(zhí)行這一切。但是閃貸可以很酷,bZx攻擊者向我們展示了它們不僅是好玩和游戲。
閃貸攻擊對(duì)安全性有重大影響
我越來(lái)越相信,閃貸真正解鎖的是閃貸攻擊,一種由閃貸提供資金的資本密集型攻擊。在最近的bZx攻擊事件中,我們第一次看到這一現(xiàn)象,而我懷疑這只是冰山一角。
閃貸對(duì)攻擊者尤其有吸引力的主要原因有兩個(gè):
· 很多攻擊需要大量前期資金(例如預(yù)言機(jī)操縱攻擊)。如果你在賺取價(jià)值1000萬(wàn)美元ETH的正向投資回報(bào),則可能不是套利——你可能會(huì)說(shuō)這是在扯淡。
· 閃貸可以最小化攻擊者的污點(diǎn)。如果我有個(gè)用1000萬(wàn)美元ETH操縱預(yù)言機(jī)的想法,即便是我擁有這么多ETH,我也可能不會(huì)用自己的資本進(jìn)行冒險(xiǎn)。我的ETH將會(huì)有污點(diǎn),交易所可能會(huì)拒絕我的存入,且它很難洗白。這有風(fēng)險(xiǎn)。不過(guò),如果我借來(lái)1000萬(wàn)美元的ETH,那么,誰(shuí)會(huì)在乎呢?全都是好處。dYdX抵押池不太可能會(huì)被認(rèn)為有污點(diǎn),因?yàn)檫@是我貸款的來(lái)源——dYdX的污點(diǎn)只會(huì)消失。
你可能不太喜歡交易所黑名單是如今區(qū)塊鏈安全模型的一部分。這是非常黏糊且中心化的。但這是一個(gè)重要的現(xiàn)實(shí),它為這些攻擊提供演算信息。
在比特幣的白皮書中,中本聰宣稱比特幣有免遭攻擊的安全,因?yàn)椋骸肮粽邞?yīng)該會(huì)發(fā)現(xiàn),遵守規(guī)則。..比破壞系統(tǒng)和其財(cái)富的有效性更有利可圖?!?/p>
有了閃貸,攻擊者不再需要有利益參與其中。(藍(lán)狐筆記:也就是說(shuō),破壞系統(tǒng)不會(huì)影響攻擊者的自身利益,因?yàn)楣粽邲](méi)有利益相關(guān))。閃貸實(shí)質(zhì)上改變了攻擊者的風(fēng)險(xiǎn)。請(qǐng)記住,閃貸可以累積!受制于gas limit,實(shí)際上,你可以在單個(gè)交易中(最高可達(dá)5000萬(wàn)美元 )匯聚各個(gè)閃貸池,并將所有資金集中涌入一個(gè)脆弱的合約中。這是一個(gè)5000萬(wàn)美元的攻城錘,現(xiàn)在任何人都可以猛擊任何鏈上的彩陶罐。這實(shí)在恐怖。
當(dāng)然,僅憑你很有錢還無(wú)法攻擊協(xié)議。如果DeFi堆棧如它宣稱的那樣安全,所有這些都不是問(wèn)題——什么類型的協(xié)議對(duì)巨鯨來(lái)說(shuō)是不安全的?你可能會(huì)說(shuō),沒(méi)有考慮這一點(diǎn)就是過(guò)失。
但是,我們承認(rèn)以太坊自身也可能會(huì)遭受51%的攻擊,當(dāng)前的攻擊成本是每小時(shí)不到20萬(wàn)美元。這不算非常多的資金。如果以太坊自身的安全模型都基本上是構(gòu)建在資本限制上,那么,為什么我們要如此快地去嘲笑可以被1000萬(wàn)美元成功攻擊的DeFi應(yīng)用?(明確地說(shuō),我不認(rèn)為這些數(shù)字——這一數(shù)字方便地忽略了滑點(diǎn)和供應(yīng)不足——加上共識(shí)層安全和應(yīng)用層安全是兩碼事。但你明白這個(gè)意思。)
那么,如何減輕閃貸攻擊?
假設(shè)我是DeFi協(xié)議,我想避免被閃貸攻擊。自然的可能問(wèn)題是,我能否檢測(cè)到與我交互的用戶是否在使用閃貸?
簡(jiǎn)單答案是:不。
EVM并不允許你從任何其他合約中讀取存儲(chǔ)。因此,如果你想知道其他合約正在發(fā)生什么,則可以通過(guò)該合約告訴你。因此,如果你想知道是否閃貸合約在被使用,你必須直接詢問(wèn)合約。如今,很多借貸協(xié)議并沒(méi)有對(duì)這種查詢做出響應(yīng)(而且一般來(lái)說(shuō),也沒(méi)有辦法強(qiáng)迫閃貸借貸者的行為)。另外,即便你試圖檢查,通過(guò)使用代理合約或通過(guò)串聯(lián)閃貸池也容易誤導(dǎo)此類查詢。簡(jiǎn)單來(lái)說(shuō),通常很難辨別一個(gè)存儲(chǔ)用戶是否在使用閃貸。
簡(jiǎn)言之,如果有人拿著1000萬(wàn)美元敲你合約的前門,你無(wú)法判斷這是否是他們自己的錢。那么,我們有什么真正的選擇可以防止閃貸攻擊?我們可以考慮如下幾種方法。
說(shuō)服閃貸借貸池停止提供服務(wù)。
哈,開(kāi)玩笑。這是加密世界,你們懂的!
認(rèn)真地說(shuō),試圖讓借貸池停止提供閃貸就像是試圖停止噪音污染——這是典型的公地悲劇。提供閃貸符合每個(gè)協(xié)議的自身利益,且出于合理原因,它們的用戶也希望使用這一功能。因此,我們盡可忽視這一條。閃貸并不會(huì)消失。
強(qiáng)制關(guān)鍵交易跨兩個(gè)區(qū)塊進(jìn)行
請(qǐng)注意,閃貸允許你在單個(gè)交易時(shí)間段內(nèi)借入資金。如果你需要一個(gè)資本密集型交易跨越兩個(gè)區(qū)塊,那么,用戶必須取出至少兩個(gè)區(qū)塊的貸款,由此擊敗任何閃貸攻擊。(注意:為此,用戶必須將其資產(chǎn)鎖定在兩個(gè)區(qū)塊之間,以防止他們償還貸款。如果你沒(méi)有正確地考慮設(shè)計(jì),則用戶可能只是在這兩個(gè)區(qū)塊中實(shí)施閃貸攻擊)
顯然,這會(huì)帶來(lái)巨大的UX權(quán)衡:它意味著交易不再是同步的。它對(duì)普通用戶來(lái)說(shuō)極其糟糕,這是很難下決心采取的措施。(藍(lán)狐筆記:為了防止閃貸攻擊,導(dǎo)致用戶體驗(yàn)糟糕,顯然是下策)
很多開(kāi)發(fā)者對(duì)異步智能合約操作感到煩惱,例如,與layer 2的交互,以及以太坊2.0的跨分片通信。具有諷刺意味的是,異步其實(shí)讓這些系統(tǒng)在應(yīng)對(duì)閃貸時(shí)更安全,因?yàn)槟銦o(wú)法在單個(gè)原子交易中橫跨分片或layer 2。這意味著不會(huì)有跨ETH2.0分片或在layer 2針對(duì)DEX的閃貸攻擊。
要求提供鏈上證明,以證明用戶的先前余額并沒(méi)有因?yàn)殚W貸而改變
如果能有方法檢測(cè)出用戶真實(shí)的余額多少(也就是他們獲得借款之前的余額),我們就可以擊敗閃貸攻擊。
無(wú)法在EVM中本地執(zhí)行此操作,不過(guò),你可以做點(diǎn)帶有黑客意味的事情。這就是你要做的:
在用戶與你的協(xié)議交互之前,你要求提供可以證明之前區(qū)塊末尾的Merkle證明,他們有足夠的余額來(lái)解釋他們當(dāng)前使用的資金。你需要對(duì)每個(gè)區(qū)塊上的每位用戶跟蹤這一點(diǎn)。(Ari Juels向我概述了此方法)
這種方法可能有些效果。當(dāng)然,它也存在棘手問(wèn)題:在鏈上驗(yàn)證這些鏈上證明非常昂貴,并且沒(méi)有用戶會(huì)想要生成這些證明以及為此支付gas費(fèi)用。另外,出于完全正當(dāng)理由,用戶有可能在早些時(shí)候在同一區(qū)塊中已更改了余額。因此,從理論上它有一些優(yōu)點(diǎn),但這不是一個(gè)切實(shí)的解決方案。
以上提到的三個(gè)解決方案沒(méi)有一個(gè)有特別的希望。我相信,沒(méi)有針對(duì)閃貸攻擊的全面防御措施。但是,有兩個(gè)特定的應(yīng)用確實(shí)可以緩解閃貸攻擊:基于市場(chǎng)價(jià)格的預(yù)言機(jī)和治理代幣。
對(duì)于像Uniswap或OasisDEX這樣的基于市場(chǎng)的價(jià)格預(yù)言機(jī),閃貸攻擊使得你在任何情況下都不能將當(dāng)前的中間市場(chǎng)價(jià)格用作為預(yù)言機(jī)。對(duì)于攻擊者來(lái)說(shuō),在單個(gè)交易中移動(dòng)中間市場(chǎng)價(jià)格并制造閃崩、破壞價(jià)格預(yù)言機(jī),這是孩子的玩法。
這里最好的解決方案是通過(guò)TWAP或VWAP使用最后X個(gè)區(qū)塊的加權(quán)平均值。Uniswap v2將原生提供這一點(diǎn)。還有Polaris,這是通用的方法,可以為DeFi協(xié)議提供移動(dòng)平均值。具有諷刺意味的是,Polaris也是由Marble的創(chuàng)始人Max Wolff構(gòu)建的。(Polaris現(xiàn)在已經(jīng)被拋棄,但Max看到了這一角落的東西,值得贊)
鏈上治理本身就是自己罐頭里的蠕蟲。鏈上治理通常由治理代幣持有者之間的代幣加權(quán)投票決定。但是,如果這些治理代幣出現(xiàn)在閃貸借貸池中,那么,任何攻擊者可以撿起大量的治理代幣并搞出任何他們想要的結(jié)果。
當(dāng)然,大多數(shù)治理協(xié)議都要求在投票期間鎖定這些代幣,以防止閃貸攻擊。但是,有些形式的投票并不要求這些,例如carbon投票,或Maker的執(zhí)行合約。如今,隨著閃貸攻擊的出現(xiàn),這些形式的投票應(yīng)該認(rèn)為完全遭到破壞。
理想情況下,如果治理代幣不可用來(lái)閃貸,這就很好。但是,這不取決于代幣的發(fā)行方,而是取決于市場(chǎng)。因此,所有治理行為應(yīng)該要求鎖定,以防止閃貸攻擊。Compound的新COMP代幣更進(jìn)一步,它對(duì)所有協(xié)議投票都要求基于時(shí)間的加權(quán),甚至削弱針對(duì)其治理代幣的常規(guī)貸款攻擊。
更廣泛地說(shuō),所有治理代幣必須有時(shí)間鎖。時(shí)間鎖要求所有治理決定必須等待一段時(shí)間才能生效(Compound的時(shí)間鎖是兩天)。這使得系統(tǒng)可以從任何意料之外的治理攻擊中恢復(fù)。盡管MKR還無(wú)法被大量閃貸,MakerDAO最近因?yàn)橐资艽祟惞舳惶?hào)召實(shí)施措施。它最近實(shí)施了24小時(shí)的時(shí)間鎖,關(guān)閉了此類攻擊向量。
從長(zhǎng)遠(yuǎn)看,這一切意味著什么?
我相信bZx攻擊改變了這一切。
這不會(huì)是最后一次閃貸攻擊。第二次bZx攻擊是對(duì)第一次的模仿,而且我懷疑在未來(lái)幾個(gè)月會(huì)掀起一波攻擊浪潮。現(xiàn)在,來(lái)自世界最遙遠(yuǎn)角落的成千上萬(wàn)名聰明少年正在嘲笑所有這些DeFi樂(lè)高,他們?cè)陲@微鏡下觀察,試圖發(fā)現(xiàn)可以實(shí)施閃貸攻擊的方法。如果他們?cè)O(shè)法成功利用漏洞,那么,他們就可以賺取幾十萬(wàn)美元,這在世界上的大部分地區(qū)都是可以明顯改變生活的。
有人稱閃貸并不會(huì)改變?nèi)魏螙|西,因?yàn)槿绻粽哂凶銐蛸Y金,這些攻擊總是可能的。這既正確又相當(dāng)不正確。大多數(shù)鯨魚都不知道如何黑智能合約,而大多數(shù)聰明的攻擊者也沒(méi)有數(shù)百萬(wàn)美元的資產(chǎn)。(藍(lán)狐筆記:此處是說(shuō),兩者的交集不大。同時(shí)具備兩者的是最可怕的攻擊者。但閃貸到來(lái)讓攻擊者獲得了免費(fèi)的利器)現(xiàn)在,任何人僅花費(fèi)幾分錢就可以租用一個(gè)價(jià)值5000萬(wàn)美元的毀滅球。從現(xiàn)在開(kāi)始這改變了每個(gè)建筑被構(gòu)建的方式。
在bZx攻擊之后,被閃貸攻擊就像是在DAO攻擊后被重入攻擊一樣令人尷尬:你不會(huì)得到人們的同情。你應(yīng)該了解這一點(diǎn)。
最后,這些事件讓我想到加密貨幣的一個(gè)古老的概念:礦工可提取的價(jià)值。礦工可提取的價(jià)值是礦工可以從區(qū)塊鏈系統(tǒng)中提取的價(jià)值。這包括區(qū)塊獎(jiǎng)勵(lì)和交易費(fèi)用。但它也包括更多惡意形式的價(jià)值提取。例如對(duì)交易重新排序或?qū)o(wú)賴交易插入?yún)^(qū)塊。
從根本上講,你應(yīng)該將所有這些閃貸攻擊都視為是在內(nèi)存池中可以賺取大量金錢的單個(gè)交易。例如,第二次bZx攻擊產(chǎn)生了價(jià)值64.5萬(wàn)美元ETH的收益。如果你一位礦工,你打算開(kāi)始挖新區(qū)塊,請(qǐng)想象一下,查看先前的區(qū)塊交易,并對(duì)自己說(shuō):“等等,那是什么?當(dāng)最后一個(gè)區(qū)塊包含64.5萬(wàn)美元的利潤(rùn)時(shí),我為什么還要打算為區(qū)區(qū)500美元左右的收益挖新區(qū)塊呢?”你不會(huì)選擇去擴(kuò)展區(qū)塊鏈,而是回去并試圖重寫歷史,以使自己成為閃貸攻擊者。想想看:僅此一筆交易就比4小時(shí)誠(chéng)實(shí)地開(kāi)采以太坊來(lái)得多!
這與包含1000倍于常規(guī)區(qū)塊獎(jiǎng)勵(lì)的特殊超級(jí)區(qū)塊是同構(gòu)的,正如你預(yù)期的那樣,這樣的超級(jí)區(qū)塊的理性結(jié)果應(yīng)該是礦工競(jìng)相競(jìng)爭(zhēng)以孤立鏈的打賞并為自己偷取該區(qū)塊。
在均衡狀態(tài)下,所有閃貸攻擊應(yīng)該最終會(huì)被礦工提取。(請(qǐng)注意,他們也應(yīng)該會(huì)最終竊取所有鏈上套利和清算)具有諷刺意味的是,這會(huì)阻止閃貸攻擊的發(fā)生,既然它會(huì)導(dǎo)致攻擊者無(wú)法利用這些漏洞來(lái)獲利?;蛟S最后礦工會(huì)通過(guò)私人渠道征集攻擊代碼,并向潛在的攻擊者支付發(fā)現(xiàn)者費(fèi)用。從技術(shù)上講,可以使用零知識(shí)證明無(wú)須信任地完成此類操作。
但這一切現(xiàn)在都還是科幻小說(shuō)。顯然礦工今天還沒(méi)有這么做。
他們?yōu)槭裁床荒兀?/p>
有大量的原因。它很難,需要很多工作。EVM很難模擬,它有風(fēng)險(xiǎn),可能會(huì)有漏洞導(dǎo)致?lián)p失資金或孤塊,流氓礦池可能會(huì)面臨PR危機(jī),被人們冠以“以太坊敵人”的烙印。就目前來(lái)看,相對(duì)于這么做的收益,礦工可能會(huì)在業(yè)務(wù)、R&D以及孤塊上損失更多。
今天是如此。未來(lái)不一定永遠(yuǎn)如此。
這為以太坊提供了另外一個(gè)動(dòng)力,以加速并過(guò)渡到ETH2.0。盡管以太坊上的DeFi總是很有趣,但它是絕對(duì)和不可撤銷的。DeFi在PoW鏈上不穩(wěn)定,因?yàn)樗懈邇r(jià)值交易都受制于礦工的重新分配(也稱時(shí)間劫匪攻擊)。
為了讓這些系統(tǒng)大規(guī)模運(yùn)行,你需要最終性——讓礦工無(wú)法重寫已確認(rèn)的區(qū)塊。這將保護(hù)先前區(qū)塊的交易免遭重新分配。此外,如果DeFi協(xié)議存在于單獨(dú)的ETH2.0分片中,它們不容易遭到閃貸攻擊。
據(jù)我估計(jì),閃貸攻擊給我們一個(gè)小的但有用的提醒,那就是現(xiàn)在還很早期。我們還遠(yuǎn)沒(méi)擁有可持續(xù)的架構(gòu),一個(gè)可為未來(lái)金融系統(tǒng)構(gòu)建的架構(gòu)。
目前,閃貸會(huì)是新常態(tài)。也許從長(zhǎng)期看,所有以太坊上的資產(chǎn)都可用于閃貸:交易所持有的所有抵押品,Uniswap中的所有抵押品,也許所有ERC-20代幣本身。
誰(shuí)知道呢?這只是幾行代碼的事。
責(zé)任編輯;zl
評(píng)論