Maker穩(wěn)定幣中存在的預(yù)言機(jī)治理攻擊問(wèn)題探討
前言:Maker開啟了多資產(chǎn)抵押(MCD)的新版本,這是DeFi發(fā)展史上的重要事件。雖然從資產(chǎn)發(fā)行量和資產(chǎn)成本上,去中心化的穩(wěn)定幣Dai都不及中心化的穩(wěn)定幣,但它開啟了一種全新類型的穩(wěn)定幣,是加密史上的重要事件。不過(guò)Maker在探索過(guò)程中,也會(huì)遇到一些問(wèn)題,本文著重提出了Maker中存在的預(yù)言機(jī)治理攻擊的問(wèn)題,甚至為了攻擊成功,還可能存在攻擊DAO的可能性。當(dāng)然,從目前看,由于MKR具有一定的集中性,文中所說(shuō)的預(yù)言機(jī)治理攻擊的可能性很小。當(dāng)然即便可能性小,也給Maker設(shè)計(jì)和治理要進(jìn)一步完善的警示:如何讓Maker的機(jī)制更完美,更加去中心化,如何讓系統(tǒng)更安全,如何讓MKR發(fā)揮更恰當(dāng)?shù)淖饔茫@里有不少需要完善的問(wèn)題。
Maker穩(wěn)定幣Dai的安全性依賴于可信任的預(yù)言機(jī)來(lái)提供價(jià)格信息。這些是通過(guò)鏈上治理選擇的。因此,預(yù)言機(jī)的價(jià)格信息流可以通過(guò)MKR代幣持有人操控。
本文會(huì)討論對(duì)Maker的攻擊,其風(fēng)格類似于51%攻擊,但并不一定需要51%的MKR代幣。在這種情況下,一個(gè)聯(lián)盟可以獲利,方式是通過(guò)操控治理來(lái)“竊取”系統(tǒng)抵押品。這些攻擊既會(huì)影響Sai(單抵押資產(chǎn)的穩(wěn)定幣),也會(huì)影響MCD的實(shí)施,以及具有鏈上治理的類似系統(tǒng)。(藍(lán)狐筆記:關(guān)于Sai和Dai的區(qū)別,可以參考《MakerDAO的MCD:帶來(lái)哪些改變?》)
這些攻擊的結(jié)果是,以當(dāng)前和歷史的市場(chǎng)價(jià)格看,“完全去中心化”的Dai是不安全的,因?yàn)槠浼?lì)的失調(diào)。這里的“完全去中心化”要求MKR代幣必須是充分分散的,以實(shí)現(xiàn)去中心化的目的。當(dāng)前的Maker系統(tǒng)是半中心化的,因?yàn)榇蠖鄶?shù)MKR由少數(shù)的Maker個(gè)人和Maker基金會(huì)持有。
這意味著市場(chǎng)可能會(huì)給MKR價(jià)值打折扣,因?yàn)樗⒎鞘浅浞址稚⒌?。因此,Dai的安全依賴于對(duì)Maker基金會(huì)的信任,以及在發(fā)生攻擊時(shí)采取法律追索權(quán)的可能性。
要么市場(chǎng)沒有意識(shí)到MKR治理攻擊的可能性會(huì)導(dǎo)致其定價(jià)的下限,要么市場(chǎng)是在說(shuō),如果Maker實(shí)現(xiàn)完全去中心化,那么MKR會(huì)更值錢。
這些攻擊也表明,Dai存在嚴(yán)重的擴(kuò)展問(wèn)題:為了維持其安全性,MKR價(jià)值需要比Dai和其抵押資產(chǎn)供應(yīng)增長(zhǎng)更快。Dai和CDP(藍(lán)狐筆記:新版Maker不再有CDP,換成Vault小金庫(kù))持有人需要為其安全性將價(jià)格抬高。本質(zhì)上,穩(wěn)定資產(chǎn)的持有人需要在高風(fēng)險(xiǎn)資產(chǎn)中持有大量頭寸,以確保其穩(wěn)定頭寸的安全,這可能會(huì)破壞穩(wěn)定幣的目的。
I. Maker治理:預(yù)言機(jī)和全球結(jié)算
Maker系統(tǒng)由MKR代幣持有人治理,MKR持有人在鏈上投票以決定其系統(tǒng)參數(shù)和流程。他們承擔(dān)了跟預(yù)言機(jī)安全相關(guān)的三個(gè)重要任務(wù)。
首先,由MKR持有人來(lái)確定Maker可信預(yù)言機(jī)的列表。Maker系統(tǒng)依賴于這些可信預(yù)言機(jī)來(lái)提供真實(shí)世界的價(jià)格數(shù)據(jù),這些數(shù)據(jù)用于確定CDP的清算門檻。
其次,MKR持有人影響對(duì)預(yù)言機(jī)操控的保護(hù)。Maker系統(tǒng)會(huì)在給定時(shí)間內(nèi)(“價(jià)格信息流敏感度參數(shù)”)構(gòu)建最大的預(yù)言機(jī)價(jià)格變化,且新預(yù)言機(jī)價(jià)格生效時(shí),會(huì)有一個(gè)小時(shí)的延遲。而MKR持有人可以直接決定價(jià)格信息流敏感度參數(shù)。
第三,MKR持有人可以確定“全球結(jié)算者”組,由他們觸發(fā)全球結(jié)算。因此,他們可以有效地控制全球結(jié)算。在全球結(jié)算中,Maker系統(tǒng)被凍結(jié),參與者(Dai和CDP持有人)能夠收回其抵押資產(chǎn)的一部分,具體數(shù)額取決于最后的預(yù)言機(jī)價(jià)格。
假設(shè)誠(chéng)實(shí)的MKR治理,可以合理地控制預(yù)言機(jī)。每小時(shí)的價(jià)格時(shí)延提供了緊急預(yù)言機(jī)時(shí)間(MKR持有人預(yù)先確定)來(lái)對(duì)攻擊作出反應(yīng)。Maker價(jià)格信息流采用的是預(yù)言機(jī)價(jià)格的中位數(shù),因此大多數(shù)預(yù)言機(jī)(包括緊急預(yù)言機(jī))會(huì)不得不相互串通。
最大預(yù)言機(jī)價(jià)格變化限制了攻擊的直接嚴(yán)重性。而且,如果其他所有的也失敗,則價(jià)格延遲會(huì)為全球結(jié)算者(由MKR持有者預(yù)先確定)提供時(shí)間來(lái)觸發(fā)全球結(jié)算。
II. Maker中的預(yù)言機(jī)治理攻擊
如有不誠(chéng)實(shí)的MKR持有人,可能會(huì)發(fā)生兩種重要的攻擊:
· MKR→ CDP 退出攻擊
MKR代幣持有人能夠持有大量的CDP,合謀選擇可以將以太坊價(jià)格→∞的預(yù)言機(jī),然后觸發(fā)全球結(jié)算。(藍(lán)狐筆記注:∞是“無(wú)窮大”的符號(hào),意思說(shuō)通過(guò)將ETH預(yù)言機(jī)價(jià)格推高至無(wú)窮大獲利)
· MKR→ Dai退出攻擊
MKR代幣持有人可以持有大量的Dai,合謀選擇可以將以太坊價(jià)格→0的預(yù)言機(jī),然后觸發(fā)全球結(jié)算。(藍(lán)狐筆記注:通過(guò)將預(yù)言機(jī)ETH價(jià)格趨于0,導(dǎo)致觸發(fā)CDP的清算,由于清算需要購(gòu)入大量的Dai,這導(dǎo)致那些持有Dai代幣的MKR治理攻擊者可以從中獲利)
這兩種情況都會(huì)將抵押品價(jià)值轉(zhuǎn)移給不誠(chéng)實(shí)的MKR持有人,其方式是通過(guò)分別持有CDP或Dai。CDP或Dai的獲利規(guī)模將取決于推動(dòng)攻擊所須的MKR價(jià)值。
請(qǐng)注意,內(nèi)置于Maker的預(yù)言機(jī)保護(hù)并不能阻止這些攻擊。不誠(chéng)實(shí)的MKR持有人可以在攻擊前合謀,以設(shè)置更高的每小時(shí)最高價(jià)格變化。通過(guò)預(yù)言機(jī),他們可以將多個(gè)小時(shí)內(nèi)的最大價(jià)格變化進(jìn)行復(fù)合。這個(gè)時(shí)間給其他參與者(例如Dai和CDP持有人)提供了反應(yīng)的時(shí)間。讓我們來(lái)看看Dai市場(chǎng)會(huì)發(fā)生什么:
· 在MKR→CDP的退出攻擊中,當(dāng)Dai持有人意識(shí)到操縱攻擊時(shí),他們預(yù)期Dai的長(zhǎng)期價(jià)格會(huì)歸零。Dai市場(chǎng)開始大量賣出,因?yàn)樗械腄ai持有人試圖將其換成其他資產(chǎn)。這導(dǎo)致Dai價(jià)格下跌,但這不能阻止不誠(chéng)實(shí)的MKR持有人繼續(xù)預(yù)言機(jī)操控,并觸發(fā)全球結(jié)算,實(shí)現(xiàn)收益。
· 在 MKR→Dai的退出攻擊中,當(dāng)CDP持有人意識(shí)到操縱攻擊時(shí),他們預(yù)期其在全球結(jié)算中的抵押品價(jià)值份額將會(huì)歸零。他們急于解鎖其抵押品。MKR持有人通過(guò)設(shè)置更高的超額抵押門檻來(lái)部分阻止這一情況。為了解鎖抵押品,CDP持有人急于去買回Dai。然而,Dai持有人現(xiàn)在期望其Dai會(huì)更值錢。那么,Dai市場(chǎng)價(jià)格上升,此時(shí),CDP持有人已有虧損。不誠(chéng)實(shí)的MKR持有人可以再次繼續(xù)預(yù)言機(jī)操縱,并觸發(fā)全球結(jié)算,以實(shí)現(xiàn)其收益。
為了確保攻擊成功,串通的MKR持有人將需要控制大于50%的MKR代幣。然而,不到50%的代幣也可能實(shí)現(xiàn)成功攻擊。例如,投票參與度通常非常低,網(wǎng)絡(luò)可能阻塞,導(dǎo)致誠(chéng)實(shí)參與者幾乎沒有機(jī)會(huì)作出反應(yīng),不誠(chéng)實(shí)的MKR持有人可能串通礦工審查投票和CDP抵押品交易。(藍(lán)狐筆記注:MKR治理投票一般很少超過(guò)10萬(wàn)票,也就是不到10%的代幣參與了治理)
另一個(gè)增加的復(fù)雜性是,當(dāng)關(guān)閉CDP時(shí)還銷毀MKR。因此,在MKR→Dai退出攻擊中,攻擊者似乎可以用少于50%的代幣來(lái)攻擊預(yù)言機(jī)。一旦CDP持有人開始關(guān)閉CDP,實(shí)際上就獲得全部50%。
III.以當(dāng)前價(jià)格,Maker治理是脆弱的
這些攻擊的潛在收益是鎖定在Maker中的抵押資產(chǎn)的總價(jià)值。這些攻擊的成本可能會(huì)是MKR供應(yīng)量的50%。如果獎(jiǎng)勵(lì)》成本,那么,對(duì)于尋求利潤(rùn)的MKR持有人來(lái)說(shuō),就會(huì)存在一種不正當(dāng)?shù)募?lì),在這種可能的平衡中,大多數(shù)MKR持有人串通一氣發(fā)起這種攻擊。(藍(lán)狐筆記注:當(dāng)前鎖定在Maker中的抵押資產(chǎn)總價(jià)值是3.38億美元,而MKR總價(jià)值的50%是3.31億美元。從這個(gè)角度,發(fā)起預(yù)言機(jī)治理攻擊的意義不是特別大)
截止至2019年11月5日,這些抵押資產(chǎn)價(jià)值C=3.36億美元,MKR市值M=5.55億美元,Dai市值D=9600萬(wàn)美元。這產(chǎn)生了潛在的攻擊收益:
在最近幾天MKR價(jià)格提升之后,這種攻擊獲利能力已經(jīng)降至1900萬(wàn)美元。這仍然很可觀,尤其是考慮到攻擊收益只是來(lái)源于當(dāng)前上限規(guī)模較小的SCD系統(tǒng) ,而MKR價(jià)格前景來(lái)源于其發(fā)布的MCD(藍(lán)狐筆記注:2019年11月18日發(fā)布)系統(tǒng),預(yù)期它將獲得更大的收益規(guī)模。下圖跟蹤了這些獲利衡量的完整歷史。在很多擴(kuò)展時(shí)期內(nèi),這些攻擊的獲利會(huì)更高。
實(shí)際獲利能力可能會(huì)更高
請(qǐng)注意:出于某些原因,實(shí)際的獲利能力可能會(huì)更高。首先,據(jù)報(bào)道Maker基金會(huì)持有30%左右的MKR,它已經(jīng)承諾不參與治理投票。如果他們堅(jiān)持這樣做,或者在某個(gè)時(shí)間點(diǎn)將他們的投票權(quán)利從智能合約中移除,那么,要達(dá)成控制份額的聯(lián)盟所需的MKR代幣就更少,這極大地降低了攻擊成本。下圖說(shuō)明了這種情況下獲利能力顯著提高。
其次,少數(shù)的MKR代幣持有者和關(guān)鍵礦工能夠串通以實(shí)現(xiàn)攻擊。第三,可以結(jié)合攻擊,以利用其他基于Maker預(yù)言機(jī)的系統(tǒng)。
其他復(fù)雜因素
有一些復(fù)雜因素可能影響分析。如果攻擊者需要獲得MKR,則需要購(gòu)買或借入。而借入MKR的利率可能很低(9月份在NUO上有一個(gè)很小的30萬(wàn)美元的資金池,利率是2.6%,),大規(guī)模的收購(gòu)可能會(huì)引發(fā)市場(chǎng)擠壓效應(yīng),且如果很多MKR持有人是長(zhǎng)期的誠(chéng)實(shí)持有者的話,這個(gè)收購(gòu)也很難達(dá)成。(藍(lán)狐筆記注:目前在NUO上MKR的借貸利率僅為0.04%,不過(guò)不具有實(shí)操性,因?yàn)槌刈又蠱KR太少)
同樣,如果攻擊者需要收購(gòu)大量的Dai或CDP,鑒于市場(chǎng)力量,這也很難。成功的買入將可能需要很長(zhǎng)一段時(shí)間。同樣,執(zhí)行攻擊步驟的gas成本也會(huì)影響其獲利能力。
用“攻擊DAO”協(xié)調(diào)串通
也就是說(shuō),實(shí)際上,我們不知道誰(shuí)同時(shí)持有MKR、Dai以及CDP,還有很多代理可能會(huì)串通。我們無(wú)法排除一些聯(lián)盟控制組合資產(chǎn)以促使攻擊獲利的可能性。如果存在這種聯(lián)盟,就會(huì)存在串通發(fā)動(dòng)攻擊的不當(dāng)動(dòng)機(jī)。
為了確保足夠的串通者協(xié)調(diào)一致,可以創(chuàng)建“攻擊DAO”,將所需的資產(chǎn)組合在一起,并觸發(fā)攻擊步驟以獲利。
IV. MKR定價(jià)的后果
MKR價(jià)值源于兩個(gè)因素:
· 常規(guī)現(xiàn)金流的(折現(xiàn))價(jià)值
· 來(lái)自于治理操控的有條件現(xiàn)金流價(jià)值
常規(guī)的現(xiàn)金流來(lái)自于Maker的費(fèi)用,也就是穩(wěn)定費(fèi),它會(huì)用于銷毀MKR,這類似于公司股票回購(gòu)計(jì)劃,會(huì)減少代幣供應(yīng)量。
MKR價(jià)值跟常規(guī)現(xiàn)金流相關(guān),而常規(guī)現(xiàn)金流跟Dai增長(zhǎng)的預(yù)期相關(guān),因?yàn)楦笠?guī)模的Dai系統(tǒng)會(huì)產(chǎn)生更多的費(fèi)用。治理操控的有條件的現(xiàn)金流則代表發(fā)起MKR攻擊的可能獲利能力,比如上述提到的51%攻擊。這是MKR持有人可以套現(xiàn)的“可替代”方式。
為了確保免遭治理操控,MKR市值必須至少高于總體抵押資產(chǎn)價(jià)值的2倍以上,如果考慮到上述提到的更加復(fù)雜的攻擊,以及Maker基金會(huì)不參與投票的承諾,可能其市值還需要更高才行。(藍(lán)狐筆記注:如果換個(gè)角度思考,這也說(shuō)明,Maker的價(jià)值不僅來(lái)自于現(xiàn)金流,也來(lái)自于治理價(jià)值)
可以說(shuō),去中心化Dai的MKR價(jià)格應(yīng)該通過(guò)市場(chǎng)力量達(dá)到這樣的水平,否則,攻擊會(huì)為某些聯(lián)盟提供類似的套利機(jī)會(huì)(盡管還不完全清楚)。
半中心化的影響
如介紹所述,Maker系統(tǒng)當(dāng)前是半中心化的:多數(shù)MKR據(jù)說(shuō)被Maker基金會(huì),以及一些Maker個(gè)人持有。在這種情況下,治理攻擊只可能是Maker自己來(lái)發(fā)起。
而這種攻擊是可以被識(shí)別出來(lái)的,因此會(huì)有潛在的法律責(zé)任。在這種情況下,較低的MKR價(jià)格是可以理解的,因?yàn)闈撛诘姆韶?zé)任抵消了發(fā)起攻擊獲得快速利潤(rùn)的任何動(dòng)機(jī)。但是,這種情況下,只能信任Maker。(藍(lán)狐筆記注:本文是說(shuō),由于Maker基金會(huì)持有大量的MKR,即使MKR價(jià)格不是很高,外部發(fā)起攻擊的可能性也不大。同時(shí),由于法律責(zé)任,Maker基金會(huì)發(fā)起攻擊的可能性也不大。)
由于上述所提及的攻擊在當(dāng)前可能有利可圖,那么,要么市場(chǎng)沒有意識(shí)到MKR治理攻擊的潛在可能性會(huì)導(dǎo)致其安全價(jià)格的下限,要么市場(chǎng)對(duì)MKR進(jìn)行折扣,因?yàn)樗⒎峭耆ブ行幕?。換言之,如果MKR代幣持有人更加分散,MKR的價(jià)值可能更高。(藍(lán)狐筆記:因?yàn)樵诜稚⒌那闆r下,只有MKR價(jià)值更高才能保護(hù)系統(tǒng)安全,讓攻擊無(wú)利可圖)
現(xiàn)金流可以確保系統(tǒng)安全嗎
由于上述原因,我們可以認(rèn)為今天的MKR價(jià)格代表購(gòu)買和銷毀MKR的常規(guī)現(xiàn)金流的預(yù)期,現(xiàn)金流來(lái)自于CDP操作,本質(zhì)上類似于股票回購(gòu)。
這為設(shè)計(jì)像這樣的安全系統(tǒng)提供了有價(jià)值的數(shù)據(jù)。重要的是,這說(shuō)明了,在多數(shù)情況下,這些現(xiàn)金流并不足以確保Maker的安全。事實(shí)上,如果Maker足夠分散,用于股份回購(gòu)的常規(guī)現(xiàn)金流可能對(duì)確保治理安全就沒那么重要了,因?yàn)槲覀兛赡軙?huì)預(yù)期理性的代理會(huì)將MKR價(jià)格推高至攻擊價(jià)值。
從安全的角度,只需要股份回購(gòu)即可將MKR價(jià)格略微推高至攻擊價(jià)值之上。因此,由于Maker是半中心化的,這里存在對(duì)用戶的有效稅收,以支持MKR價(jià)格,而收費(fèi)收入則可能更好地移至支持長(zhǎng)期穩(wěn)定性上。
擴(kuò)展性問(wèn)題
這些攻擊意味著Dai有重大的擴(kuò)展性問(wèn)題:為了維持安全,MKR價(jià)值必須要比Dai供應(yīng)量和鎖定的抵押資產(chǎn)的增長(zhǎng)要快很多。因此,為了確保他們資金的安全,Dai和CDP持有人可能需要推高M(jìn)KR價(jià)格。由此,穩(wěn)定資產(chǎn)的持有人需要在高風(fēng)險(xiǎn)資產(chǎn)中持有大量頭寸,以確保其穩(wěn)定頭寸的安全,這可能會(huì)不利于穩(wěn)定幣的目的。
V. 努力解決這些問(wèn)題
上述提及的攻擊和問(wèn)題在更廣范圍內(nèi)發(fā)生:穩(wěn)定幣、CDP持有人和MKR持有人之間的博弈,他們從戰(zhàn)略上決定其持有的資產(chǎn)組合。給這個(gè)博弈進(jìn)行建模,有助于我們理解為了確保系統(tǒng)安全,不同玩家需要持有的資產(chǎn)(例如,持有多少M(fèi)KR合適)。尤其是,玩家們不能冒風(fēng)險(xiǎn)讓某些人持有大多的MKR,他們通過(guò)合適的資產(chǎn)組合,以實(shí)施有利可圖的攻擊。
在這種情況下,有幾點(diǎn)值得探討。它有助于我們理解代幣如何分配以確保系統(tǒng)安全。如果風(fēng)險(xiǎn)資產(chǎn)的持有量需要很高,對(duì)于很多玩家來(lái)說(shuō),參與這個(gè)博弈并不值得(例如穩(wěn)定幣持有人為了確保其Dai的安全,而同時(shí)必須持有MKR來(lái)確保系統(tǒng)安全,這對(duì)他們來(lái)說(shuō)不劃算)。
在哪種情況下,對(duì)于玩家來(lái)說(shuō),推高治理代幣價(jià)格以確保系統(tǒng)安全是值得的?除了將資產(chǎn)推高至安全價(jià)格,還有其他的均衡嗎?對(duì)于所有涉及代幣的波動(dòng)性來(lái)說(shuō),會(huì)帶來(lái)什么后果?
最后一點(diǎn),MKR價(jià)格源于與抵押資產(chǎn)相關(guān)的“創(chuàng)造”價(jià)值,其價(jià)值是抵押資產(chǎn)價(jià)值的數(shù)倍。MKR價(jià)值反映Dai穩(wěn)定幣的不確定的前景。在系統(tǒng)崩潰(例如攻擊)中,系統(tǒng)的總價(jià)值跌至抵押資產(chǎn)價(jià)值,會(huì)讓很多人失去所有。
MKR試圖吸收這些損失,并在這種情況下變得毫無(wú)價(jià)值,它有向穩(wěn)定幣和CDP持有人進(jìn)行抵押資產(chǎn)清算的義務(wù)。但是,通過(guò)上述攻擊的擴(kuò)展,穩(wěn)定幣和CDP頭寸也承擔(dān)了這一風(fēng)險(xiǎn)。如果MKR價(jià)格低于安全水平,那么,各種MKR、穩(wěn)定幣以及CDP頭寸可能會(huì)在清算中損失其價(jià)值。這些風(fēng)險(xiǎn)應(yīng)考慮這些資產(chǎn)波動(dòng)性的因素。
不管是否有意,Maker對(duì)這些問(wèn)題的解決方案是中心化治理權(quán),并將信任歸于Maker(盡管除非受到嚴(yán)重威脅,否則一般不會(huì)動(dòng)用它)。這不一定是個(gè)問(wèn)題,很多傳統(tǒng)的系統(tǒng)也是以這種方式運(yùn)行的。但是,我們應(yīng)該公開了解到這個(gè)信任的維系。值得注意的是,仍然可以通過(guò)少數(shù)礦工的串通來(lái)實(shí)施攻擊。
基于跟Maker團(tuán)隊(duì)在Devcon的對(duì)話,已經(jīng)在討論觸發(fā)全球結(jié)算的合適門檻的設(shè)置,例如,設(shè)置為10%的MKR。然而,目前還不清楚它是否解決了這里所討論的激勵(lì)問(wèn)題。
其中一點(diǎn)是,對(duì)于誠(chéng)實(shí)的10%的MKR聯(lián)盟來(lái)說(shuō),尚不清楚在攻擊早期觸發(fā)全球結(jié)算是否是最好的回應(yīng)。這是因?yàn)樗麄兊膬r(jià)值在基于攻擊的清算中會(huì)遭受重創(chuàng)(可能歸零)。也可能存在來(lái)自于不誠(chéng)實(shí)10%聯(lián)盟的其他清算濫用。
理解了激勵(lì)之后,可以重新理解MKR、CDP和穩(wěn)定幣持有人之間的博弈。通過(guò)不同的設(shè)置,潛在的結(jié)果可能是攻擊方給予10%MKR聯(lián)盟的賄賂。
以分布式的方式解決這些問(wèn)題依然是個(gè)懸而未決的問(wèn)題,因此,應(yīng)對(duì)上述提及問(wèn)題的嚴(yán)格機(jī)制設(shè)計(jì)很重要。