Categories
程式開發

警惕!備受推崇的 DeFi 正在威脅以太坊安全


警惕!備受推崇的 DeFi 正在威脅以太坊安全 1

現如今,區塊鏈上的借貸市場已經成為了最流行的去中心化金融(DeFi)應用場景,通過 MakerDAO、Compound 以及 dYdX 產生的借貸總額已經超過了 6 億美金。鏈上借貸甚至有潛力取代傳統的借貸方式。但是事實看起來要更複雜:它同時還對權益證明共識機制(PoS)產生著威脅。

權益證明(PoS)是工作量證明(PoW)的一種替代共識算法,工作量證明是通過哈希算力來保障區塊鏈的正常運行,而權益證明是通過鏈上抵押的數字資產的數量來保障區塊鏈的共識。去年一年中啟動的絕大多數區塊鏈項目都是採用的 PoS 共識算法(Tezos、Algorand、Cosmos 等等),在接下來一年裡還會有更多使用 PoS 機制的區塊鏈項目。

PoS 系統的安全是由網絡中抵押的數字貨幣的數量保障的。在大多數的 PoS 算法中,只要抵押數量中的 2/3 是由誠實的參與者擁有的,該區塊鏈系統就可以被認作是安全的。

現在試想一下,如果你是一個 PoS 系統的破壞者,你會怎麼做呢?

可以想到有兩種攻擊手段:一種是,你掌控網絡中至少1/3 的抵押總量,但是這種方式難以操作並且成本昂貴;另一種方式是,你可以試圖說服當前的抵押者們停止抵押,並且將其投放於其他更易於侵入的網絡中。

第二種方式理論上聽起來很有吸引力,但是你如何才能說服當前抵押者們停止當前的抵押呢?有一個很簡單的辦法,那就是給他們提供更具有吸引力的收益。

PoS 能夠正常運行的基礎是抵押者們能夠通過抵押獲得激勵,也就是說他們只有當抵押的激勵獎勵足夠豐厚時才願意參與抵押。但是,如果他們可以在其他地方獲得更好的回報,那麼你應該能夠猜到,一個經濟上理性的抵押者會放棄當前抵押而將抵押的通證放在能夠獲得更高回報的地方。如果系統中的通證源源不斷的從抵押系統中抽出,整個網絡的安全性就會大打折扣。

從字面上理解,鏈上借貸應用是鏈上抵押的直接競爭者,也就意味著它在與整個系統協議的安全性做對抗!

模擬抵押博弈

通過基於代理人的模擬仿真(agent-based simulation)這一技術是目前能夠對以太坊 DeFi 項目進行建模模擬的最好手段。使用基於代理人的模擬仿真方法,你可以將模擬大量的代理人採取不同的策略和風險側寫來進行獨立的博弈模擬。通過觀察系統是如何演化的(並且使用​​不同的參數重複試驗數千次),你可以得到在不同場景下的網絡表現出來的統計學信心值。

來自 Gauntlet 的 Tarun Chitra 在他最新的論文中對此做了詳盡的討論。

他假定網絡中的抵押者都是經濟學上的理性人,在分析了鏈上借貸與 PoS 抵押之間的交互關係之後,得出了抵押與鏈上借貸間的競爭均衡。 (經濟學理性的意思是:每個代理人都有一個資產投資組合,或是藉出資產、或是持有資產、或是交易資產,且每個代理人的投資風險側寫不同。他們會重新平衡自己的投資組合中的資產,以最大化調整風險之後的投資回報。)

圖片

抵押中的 ETH 數量與借出中的 ETH 數量對比

上圖是一種場景下的模擬,它模擬了ETH 在Compound (譯者註:以太坊上的一個抵押借貸應用)上的數量(橙色曲線)與以太坊網絡中抵押的ETH 數量(藍色曲線)的變化關係,它是建立在類似比特幣的區塊獎勵通縮模型的假設之下的。

這張圖主要說明了:在開始時,大多數的 ETH 持有者們會將 ETH 進行投票而不是用於金融借貸。但是隨著時間流逝,抵押能夠獲得的區塊獎勵越來越低,與參與抵押借貸產生的收益比較越來越沒有吸引力,所以幾乎所有用戶都會重新重新平衡自己的投資策略,將ETH 投入到Compound 的抵押借貸中。 (你可以忽略最開始的時候借貸曲線和投票曲線的那段波動,那是隨機初始化過程造成的。)

Tarun 做出了幾種理論上封閉形式的預測,這些預測已經通過了仿真驗證。但是最重​​要的是:使用通縮模型的 PoS 鍊是不安全的。如果 PoS 鏈上的區塊獎勵數會隨著時間降低,那麼長此以往,幾乎所有的資產都會用於抵押借貸,而不是鏈上投票

我們可以更進一步:如果攻擊者們知道了這點,他們會怎麼做呢?

如果攻擊者設計了一個鏈上借貸市場並且提供更豐厚的利率,這會驅使抵押投票的用戶轉向參與抵押借貸。之後,一旦鏈上的抵押投票池被抽乾,攻擊者們就可以輕鬆進入抵押市場並且佔據主導地位。

當然了,在 Compound 中,降低借入利率的方式僅僅需要簡單的從資產池中源源不斷的借出就可以了。之後,風險模型就會自動向上調整利率。只要攻擊者源源不斷的借出資金,借出利率就會不斷上升,就會有越來越多的投票抵押者轉向金融借貸市場,PoS 網絡的安全性就會越來越差。這可能會導致雪球效應:當市場觀察者們看著網絡中的總抵押量在降低時,他們會開始做空 ETH,這就更加加重了 Compound 市場上的借貸需求。你可以把整個抵押網絡看作是一件毛衣,攻擊者只需要拉一根毛線:利率。隨著攻擊者拉這根毛線,毛衣開始脫線,這根線越拉越長,不需要太久,攻擊者就會讓整個毛衣脫線。

當然,攻擊者需要通過 Compound 借入資產才能完成這一攻擊,也就意味著他必須要投入抵押物來進行借貸。但是,如果他們用 USDC 或錨定比特幣作為抵押,那麼攻擊者在攻擊網絡時, ETH 對他來說就沒有價格風險。在 PoW 鏈上採用這種攻擊方式則需要較大的鏈外資產的空頭頭寸。但是在 PoS 網絡中,攻擊者可以在對沖其所有價格風險的同時執行這類攻擊,所有風險都無需經過任何人的許可,所有的攻擊都發生在鏈上。

這是一個令人震驚的結論!乍看起來 DeFi 和共識機制是完全正交的兩套機制,但是事實上,鏈上金融借貸市場會對 PoS 共識的安全性造成很大影響。

這對 PoS 意味著什麼呢?

首先,讓我們花點時間來思考一下:有一句廢話,圖靈完備的區塊鏈系統是十分複雜的!將智能合約加入到區塊鏈系統中看起來應該是一個在應用層的決策。但是智能合約系統催生了像 Compound 這種複雜的市場,它們以一種潛移默化的方式影響著整條鏈的安全性(可以參考 PoW 長程攻擊或者分叉攻擊的例子)。我們在聊區塊鏈的時候經常會談到”第一層(Layer 1)“或者”第二層(Layer 2)“,但是這個概念是不同於傳統計算的 OSI 分層模型的。就現在而言,區塊鏈設計滿是漏洞百出的抽像模型。

這同時也在提醒我們:我們不能一直假裝區塊鍊是一個封閉的系統,它的激勵系統也不只是面向系統內部的。區塊鏈系統過於復雜,很難在”理想環境“下進行分析。就這方面而言,我們對 PoS 系統的真正的安全性知之甚少。

只要 PoS 網絡處於一個開放的生態系統中,任何一個鏈上借貸市場都可以通過提供更高的收益率來影響其安全性。事實上,即便是這個系統不直接支持智能合約(像Cosmos 的ATOM),如果該鏈上的抵押資產能被通證化並且能夠跨鏈轉賬,另一條鏈上的通證化借貸市場依然能夠產生同樣的影響!

這到底是不是杞人憂天呢?

我們剛剛已經談過瞭如何進行主動攻擊,攻擊的資金成本對你來說可能太高了。但是即便是沒有人想要作惡,這一攻擊依舊可能發生!可能只是一個 VC 投資的項目,想要壓低自己的利率提高競爭力,卻無形之中對整條鏈的安全性造成了影響。不論如何,對系統影響的結果都是一樣的:造成了共識層的不安全。

PoS 系統該如何應對呢?

籠統來看,PoS 系統有兩個選項可以應對這種攻擊:要么迫使鏈上借貸市場限制其利率;要么提高鏈上抵押的收益率,為抵押者們提供更高的回報,來和鏈上借貸市場進行競爭。

第一種方案看起來太中心化了。這對非聯盟鏈的系統來說是不可能的方案,即便這麼做了,借入者和借出者們依舊可以通過鏈下的形式或者側鏈的形式來設立利率。

唯一現實一點的策略是,可以防禦性地使用靈活的貨幣政策,在必要時提供有競爭力的抵押回報率。任何固定的通貨膨脹機制都容易受到這種攻擊,那是因為攻擊者總是確切地知道他們需要在藉貸市場補貼多少利率就可以把網絡中的抵押者們吸引過來。

這種防禦性手段類似於中央銀行調整利率以實現其經濟目標。 PoS 網絡必須將其增發率的調整用作調節實時市場壓力的工具。

從這種意義上來講,以太坊確實處在一個很好的時代,因為它沒有承諾任何固定的貨幣政策。但是從今往後,所有的 PoS 網絡都應該重視考慮這一權衡。對於社區治理,鏈上治理以及鏈下治理都是可行的,但是如果 PoS 協議的網絡想要保證長治久安,它必須要採取靈活的貨幣政策

信息披露:Gauntlet 是蜻蜓資本的投資組合公司。

感謝 Tarun ChitraIvan Bogatyy 以及 John Morrow 對這篇文章的批評指正。

查看英文原文:https://medium.com/dragonfly-research/how-defi-cannibalizes-pos-security-84b146f00697