最近出現的去中心化金融(DeFi)進一步推動加密貨幣的承諾,利用其去中心化網絡將傳統金融產品轉換為無需中介即可運行的去信任和透明協議。但是,這些協議通常需要關鍵的外部信息,例如貨幣匯率或商品價格,因此,它們依賴於特殊的預言機節點。在本文中,我們首次提出了對在實踐中部署的 DeFi 預言機的研究。首先,我們研究依賴於預言機的主流 DeFi 平臺的設計。我們發現,這些設計將預言機定位為無責任或低責任的受信方。然後,我們展示了部署中預言機的大量測量數據。我們發現並報告,預言機的報價經常偏離當前匯率,預言機無法擺脫運營問題,其報價會出現異常。最後,我們比較預言機設計並提出潛在的改進方案。
區塊鏈;DeFi 平臺;價格預言機;去中心化
簡介
人們無需受信任方,就可以普遍獲得金錢和支付手段,這是開放式加密貨幣的一種承諾。去中心化金融(DeFi)旨在擴展這一承諾,提出基於區塊鏈的智能合約平臺之上的創新和傳統的金融工具。與傳統金融相比,DeFi 具有多種優勢。首先,它繼承了區塊鏈屬性,例如去中心化,開放性,可訪問性和抗審查性。其次,DeFi 具有高度的靈活性,可以通過組合,堆疊或連接不同的金融工具進行快速的創新和實驗。最後,DeFi 提供可互操作的服務。通常,可以通過組合其他 DeFi 平臺來構建或組成新的 DeFi 項目。
DeFi 生態系統內一種日益增長的趨勢是混合協議,這種協議試圖提供 DeFi 的所有優勢,並消除加密資產的高波動性[1](這阻礙了DeFi 的廣泛應用)。它們通過將其加密資產連接到常規金融工具來實現。一個突出的例子是去中心化的借貸協議,該類協議比其他任何類別的 DeFi 協議都得到了越來越多的關注。MakerDAO[2] 是一種抵押品支持的穩定幣,其價值相對於美元保持穩定,它使任何人都可以通過動態的抵押債務系統來利用抵押資產生成新的代幣[3]。一旦生成新資產,就可以同任何加密貨幣一樣使用它們。償還債務和穩定費用後,用戶可以提取抵押品並結清其貸款。繼 MakerDAO 成功之後,其他 DeFi 貸款平臺,如 Compound[4] 這樣的平臺已經發布。通過減輕傳統信用檢查的負擔並通過自動化降低成本,Compound 市場實際上可以通過算法根據特定資產的供求來得出利率的資產池。這些資產的出借人和借貸者可以直接與協議交互,以便分別賺取和支付浮動利率,而無需協商任何條款,例如到期日或利率。截至 2020 年 3 月,DeFi Pulse 報告稱,四種公開借貸協議(Fulcrum[5],dYdX[6],MakerDAO 和 Compound)的未償還貸款超過 2 億美元[7]。
另一個致力於價格穩定的項目案例是 AmpleForth[8],這是第一個具有彈性供應量的 DeFi 協議。為了應對需求的變化,該平臺始終通過向持有者普遍擴張或收縮供應來尋求基於市場和 CPI 指數的價格供應均衡,以使在經濟震蕩和失控的通貨膨脹中保持穩定。Synthetix[9] 是另一個最近的 DeFi項目,它允許創建「合成資產」—— Synths,各種合成資產的價格可以跟蹤貨幣,加密貨幣和商品。持有者首先鎖定其 Synthetix 的原生代幣 SNX 作為抵押,以鑄造各種 Synths,後者是跟蹤目標資產(例如,美元或黃金)價格的代幣。
所有這些系統都需要用作抵押和贖回的資產市場價格的實時信息,由於加密資產抵押品的價格(以法幣計價)是不穩定的,實時價格信息對於系統的安全性是必要的。為了實現此功能,DeFi 協議引入了預言機,即報告現實世界(鏈下)來源的資產價格的第三方。預言機充當饋送到智能合約的數據源。儘管預言機在 DeFi 生態系統中扮演著至關重要的角色,其底層機制仍然模糊且未被充分探索。首先,它們的部署實踐(包括價格更新的頻率,如何從多個節點匯總價格值等)是不透明的,也是不負責任的,這為各種錯誤行為留下了空間。其次,預言機的信任程度尚不明確,對生態系統的許多參與者而言很可能是未知的。最後,目前暫無研究針對具有潛在惡意的一個或一組預言機對 DeFi 生態系統的影響。
在這項工作中,我們闡明了這幾個問題,提出了關於 DeFi 預言機的首創(據我們所知)的研究。首先,我們解釋了在實踐中部署的各種預言機設計。其次,我們系統地探討四個流行且開放的 DeFi 平臺 MakerDAO,Compound,AmpleForth 和 Synthetix 中部署的預言機,這些平臺依賴外部預言機來提供價格。我們對價格偏差進行了詳細的測量,這些價格偏差是由外部預言機提供的信息與真實世界價格之間的差異引起的。此外,我們通過交易圖來分析衡量預言機的健壯性和部署實踐。最後,我們比較部署的平臺,並就潛在的改進提供見解。
背景
許多 DeFi 協議旨在通過使用價格與某些現實世界資產掛鈎的加密抵押品來降低其加密資產的波動性[A]。與現實世界不同,向 DeFi 協議傳遞資產價格並非易事,因為這些協議被實現為區塊鏈上的智能合約,而無法訪問任何外部資源(例如當前資產價格)。因此,在這種設計中,價格預言機是將加密資產與其有關的預期價值外部信息橋接在一起的基本組件。在本節中,我們介紹著名的 DeFi 協議及其預言機設計。所有這些平臺以及絕大多數 DeFi 平臺都是基於以太坊[10] 的。
MakerDAO
MakerDAO是最受歡迎的去中心化借貸協議,其中原生代幣 SAI 與美元掛鈎,並以加密資產的形式得到抵押。由於加密貨幣的波動性是一個問題,MakerDAO 提供了加密貨幣的可編程性,而不像比特幣或以太坊這樣的傳統加密貨幣由於具有波動性導致不利影響。用戶將加密資產作為抵押存入抵押債務頭寸(Collateralized Debt Positions,以下簡稱 CDP)合約,能夠生成多抵押的 SAI 代幣,這些代幣可以以與任何其他加密貨幣相同的方式進行交易。與此同時,CDP 會按債務抵押率(即 C 比率)來確定稱為超額抵押貸款的債務,將其鎖定為無法使用,直到還清未償還的債務為止。當前的 C 比率設置為 150%,這有助於該平臺通過過度抵押基礎資產來管理借款人的風險。當用戶想要取回抵押品時,他們必須償還 CDP 中的債務,再加上隨著時間的推移連續不斷產生的穩定費用,該費用只能以 MakerDAO 的原生代幣(MKR)支付。除了支付穩定費之外,MKR 代幣還允許用戶對平臺的發展進行投票,並在 MakerDAO 的治理中發揮重要作用,其比例與每個所有者擁有的 MKR 數量成正比。SAI 作為穩定幣和 MKR 作為治理代幣的結合可確保系統的穩定。MKR 的持有人直接受益於 SAI 的使用,並且SAI 的功用由能夠保護系統的持有人維繫。
MakerDAO 引入了一個預言機模塊來獲取資產的實時價格,該信息的準確性至關重要,因為它確定 CDP 是否鎖定了足夠的抵押資產以及何時觸發清算。預言機模塊由許多列入白名單的預言機地址和一個聚合器合約組成。預言機定期將價格更新發送到聚合器,對其進行匯總,將中間價作為參考價格,並以該參考價格更新平臺。每種資產類型都有一個獨立的聚合器合約,以從授權的預言機收集信息。我們在圖 1 中對此結構進行了高層次的概述。聚合器合約實現了訪問控制邏輯,允許添加和刪除價格預言機地址。這項操作由治理人,也就是 MKR 代幣持有人決定,他們投票表決並更新對預言機地址的更改。此外,邏輯允許治理人設置其他控制聚合器行為的參數,例如,接受新的中位數所需的最小預言機數目。因此,在這種去中心化的治理機制中,MKR 持有者可以操縱預言機。與 51% 的攻擊類似,成員的聯盟可以操縱治理系統來「竊取」系統的抵押資產獲利[11]。
Compound
Compound是一個基於區塊鏈的借貸平臺,參與者可以在其中借出自己的加密資產,並從中賺取利息。參與者將他們的加密資產作為抵押品存入 Compound 智能合約,並以此為抵押。該合約自動匹配借款人和貸方,並根據供求動態調整利率。與 MakerDAO 相似,Compound 使用預言機來管理價格,這些預言機由管理員(即 Compound 的 COMP 代幣的持有者)管理和控制。COMP 持有人可以管理和升級 Compound,並通過管理功能來提案,投票和實施任何更改。提案可以包括諸如調整利率模型或質押率,管理聚合器合約以及選擇預言機來源之類的更改。
Compound 中價格更新的邏輯如圖 2 所示,一開始,管理員部署了一個錨定合約,然後創建了一個具有 min,anchor 和 tolerance 數據集合的聚合器合約,其中 min 是生成新的中位數價格必需的最小報告數量,默認為 1。anchor 表示 anchor 合約的地址,並且 tolerance 設置為 10%。Compound 中的預言機系統允許多個授權來源(稱為報告者)將價格數據報告給聚合器合約。報告者可以是交易所,其他 DeFi 項目,應用程式,場外交易(OTC)平臺等。聚合器從報告者那裡收到參考價格,對其進行驗證並計算中位數,然後將其存儲起來,以便被 Compound 市場訪問。更新資產參考價格的機制基於錨定價格(由錨定地址報告)以及聚合器計算出的中位數價格的上限和下限共同確定。如果新的中位數價格與錨定價格之間的比率超出界限,則資產的官方參考價格將不會更新。
AmpleForth
黃金等傳統商品,甚至比特幣等加密貨幣(根據固定的供應計劃產出)都無法有效地應對需求量的變化,從而使其容易受到不穩定的經濟衝擊和惡性通縮的影響。為了解決此缺點,AmpleForth 創建了AMPL 代幣使資產價格信息自動影響供應量。它具有自動價格供應平衡機制,根據 AMPL 對美元的匯率從每個持有人普遍且成比例地擴張或收縮代幣數量,是反周期的且非稀釋性的。AMPL 最初與美元掛鈎,但並非永久固定,因為該平臺考慮了消費者物價指數以平衡未來的美元通貨膨脹。因此,AmpleForth 的目標是通過根據對 AMPL 代幣的需求來改變供應,從而提高購買力的穩定性。更具體地說,只要需求大於供應,該平臺就會自動增加 AMPL 的總量,以防止商品的相對價格上漲。類似地,當總需求少於供應時,它相應地減少代幣總量。
對於這類以價格供應均衡為目標的協議而言,擁有準確可靠的市場價格信息源至關重要。AmpleForth 的這一核心功能如圖 3 所示。平臺管理員在初始化時設置聚合器合約的 min,delay 和 expire 參數,其中 min(默認為1)代表讓聚合報告有效的最少數據源數量,delay 是自報告開始至生效必須經過的秒數(默認設置為 1 小時),expire 代表報告過期失效的秒數,在 AmpleForth 中,此值為默認為 2 小時。有效的報告必須在鏈上公開存在至少 1 小時,然後才能由供應策略使用,如果在 12 小時之前未提供新報告,則該報告將在鏈上過期。這意味著只有在有效時間戳內提交的報告才被視為有效報告。我們在圖 4 中描述了此邏輯,如果我們假設聚合器在 T0 時間檢索價格信息。正確的 AMPL/USD 價格匯率是聚合器從受信預言機根據下面公式中提交的報告計算得出的中位數:
Chainlink 像以太坊這樣的智能合約平臺缺乏將智能合約與鏈下資源(例如網際網路)連接的能力。Chainlink[12] 旨在通過去中心化的預言機網絡來解決這個問題,該網絡將鏈上智能合約與鏈下環境橋接在一起。(在第 5 節中,我們討論了 Chainlink 的競爭者設計。)它向智能合約提供 API 來實現此目的,這些 API 可以請求鏈下資源,例如:市場數據、銀行付款、零售付款、後端系統、事件數據或網頁內容。Chainlink 由多個去中心化的,獨立的預言機和聚合器組成的網絡組成,它們收集和處理鏈下數據,並根據請求將其(處理後)交付給智能合約。AmpleForth 是一例與Chainlink 集成的平臺。
Synthetix
Synthetix[13] 是一個允許用戶創建和交易例如黃金,白銀,加密貨幣和傳統貨幣等資產的合成版本的平臺。Synthetix 的目的是創建價格可以跟蹤貨幣,加密貨幣和商品的「合成資產」。Synthetix 涉及兩種不同類型的代幣。用戶首先購買 Synthetix 的原生代幣SNX 並將其鎖定到 Synthetix 合約中,該合約將作為抵押物來支持其他 Synth 代幣[B]。這些Synth 是通過 Synthetix 平臺創建的合成資產。請注意,Synthetix 平臺始終將合成資產之一的 sUSD 估值為1 美元。Synth 的價格是通過預言機確定的,這些預言機將外部真實世界的資產價格報告給聚合器,然後再計算中位數。如圖 5 所示,當前的預言機和聚合器是 Chainlink 提供的。每種資產類型都提供一個獨立的 Chainlink 聚合器,該聚合器維護許多預言機源。為了確保準確的數據饋送,預言機會在很短的時間內(例如 5 或 10 分鐘)更新鏈上價格。
測量
在本節中,我們介紹測量研究的細節與結果。我們專注於 AmpleForth,Synthetix,MakerDAO 和 Compound 平臺,評估並報告以下內容:1. 平臺資產的市場價格波動(第 3.1 節);2. 市場價格與預言機報告價格之間的偏差(第 3.2 節);3. 可能表明預言機發生故障或行為異常的異常現象(第 3.3 節);4. 預言機的交易圖顯示了他們與生態系統的相互(第 3.4 節)。
價格波動性
在本節中,我們演示了旨在消除波動性的 DeFi 資產的價格波動性。我們在表 1 中匯總了上述每個平臺的市場價格(以美元為單位,由 https://coinmarketcap.com所報告),表中測量數目指平臺運行的天數)。可以看出,儘管目標是維持穩定,但所有平臺在一天之內價格都會發生 1% 或 5% 的變化。此外,在大約 30% 的觀測日內,AMPL 的市場價格每日價格變化超過 10%。價格隨時間的波動如圖 6 所示,其中價格的快速變化主要是由交易量變化,外部事件(例如國家禁止加密貨幣)或投機行為引起的。所有結果表明,這些 DeFi 協議和依賴於其資產的協議需要實時準確的參考價格數據來對衝高波動帶來的風險。
價格偏差
在本節中,我們測量實時市場價格與四個主要 DeFi 平臺的預言機報價之間的偏差。我們還調查了異常值的可能原因-預言機報價的偏差比其他報價方式高。為了進行研究,我們從 Maker DAO,Compound 和 Synthetix 中選擇報告頻率最高的報告 ETH/USD 匯率的活躍預言機。對於 AmpleForth,我們研究其官方市場預言預言機,該預言機每 12 小時報告一次 AMPL/USD 匯率。我們使用以太坊的 BigQuery 資料庫[14] 來獲取有關預言機與 DeFi 平臺進行交互的數據。對於每個預言機,我們通過提取交易的數據和元數據,解析為可讀的價格格式並將其與預言機應該遵循的真實價格來源進行比較來分析其所有交易(預言機可能使用不同的價格來源)。在我們的實驗中,我們將預言機的聲明數據源視為給定資產價格的基準。此外,由於預言機的報價方法未嚴格指定,因此對於每個基準源,我們還將顯示其實時「原始」價格以及 1、5、10 和 60 分鐘內的中位數。
結果:我們首先研究 Synthetix 預言機[C],比較其 3,308 次報價,並將其與來自不同交易所的數據進行比較。由於 Synthetix 與 Chainlink 集成,我們發現預言機聲稱的 ETH 價格來源[15] 是 Coinmarketcap,Bitfinex[16] 和Bittrex[17]。因此,在圖7 中,我們顯示了預言機報告及其價格來源之間的 ETH/USD 價格偏差。可以看出,具有偏差的報價數量很大,大多數偏差都在 ±2% 範圍內。
同樣,在圖 8 中,我們展示了 MakerDAO ETH/USD 預言機[D] 的偏差。由於預言機未指定來源,因此我們使用與 Synthetix 中相同的基準進行評估,除了 Bittrex 僅自 2018 年 6 月以來才提供 ETH/USD 匯率信息[18](我們從2018 年 1 月開始計算預言機的動態)。可以看出,大量報價存在偏差,大多數偏差在 5% 範圍內,這表明 MakerDAO 預言機的表現不如前述 Synthetix 的預言機。此外,還有一些異常報價,偏差超過 10%(我們在表 3 中對其進行了進一步調查)。
在 AmpleForth 中,已聲明的預言機源是 Anylock Analytics[19][20],但是,它沒有向個人開放 API 來檢索實時價格。因此,我們採用了與 Synthetix 相同的基線,除了不追蹤 AMPL/USD 匯率的 Bittrex。我們分析了AmpleForth 預言機[E] 的 980 筆交易,並對照 Coinmarketcap和 Bitfinex 檢查了結果。如圖 9 所示,大多數偏差都在 5% 範圍內,與 Synthetix 預言機相似。有趣的是,有一個異常值具有非常大的偏差(即 273.7%),我們將在本節中進一步討論此問題。
Compound的預言機使用 Kraken[21] 和Coinbase Pro[22] 作為其ETH/USD 價格來源[23]。我們對 Compound 的預言機[F] 進行了評估,總共分析了 2,144 筆交易,在圖 10 中展示了結果。可以看到,大多數偏差都在 4% 的範圍內,只有少數偏差高於 5%。
偏差比較:在圖 11 中,我們顯示了所有平臺上每個來源的平均偏差。請注意,平均偏差的計算方式如下:
其中是每個數據點(即交易)的百分比,N 是數據點(交易)的總和。在大多數情況下,由於加密資產的波動性,平均偏差低於 2%,可以看作報價信息相對準確。從圖 11a 到圖 11c,我們可以看到從原始數據到 60 分鐘中位數數據的過程中平均偏差在增加。在 Synthetix 中,Bittrex 相對於 Coinmarketcap和 Bitfinex 是更精確的數據源。在 MakerDAO 中,Bitfinex 的實時價格(1 分鐘和5 分鐘中位數)更準確,而 Coinmarketcap的 10 分鐘和 60 分鐘中位數更好。對於 Compound,可以觀察到 CoinbasePro 比 Kraken 更準確。此外,AmpleForth 預言機的結果呈現其他三個平臺相反的趨勢,這很可能是由於該平臺預言機在向聚合器報告之前處理了較長時間的平均價格。
為了更好地說明預言機之間的差異,我們在表 2 中也給出了具體數字。可以觀察到,除了 AmpleForth(其預言機引入了相當高的偏差)之外,大多數報價的偏差分別為 ≤1% 和 ≤5%。可能的原因可能是,我們觀測所用的基線與其使用的基線不同(如前所述,AmpleForth 的預言機沒有透露其價格來源)。但是,我們測量的平均偏差約為 2.5%,與其他平臺相比似乎可以接受。
異常值:由於每個預言機都可能由於實時價格的突然變化或預言機本身的錯誤而面臨一些不可避免的異常值,在表 3 中,我們列出了在 3.1 節中觀察到的具有較大偏差值的特定報價。在 AmpleForth,市場預言機在 2020 年 3 月 5 日[G] 出現一個明顯的報價錯誤,當時預言機提交了十六進位的價格 0x5667f2bb31e073c7,與當前交易所價格偏差為 273.7%。我們沒有發現此異常的任何原因,懷疑是輸入有誤[H]。另一個有趣的異常報告的偏差為 50.2%。[I] 這種不一致的輸入很可能是由於匯率的突然下跌,達到了過去四個月的最低價格。類似的情況也發生在 MakerDAO 的預言機提交的兩個報價中,分別偏離了 12.8% 和 12.2%,這是由於過去三個月內加密資產匯率的突然下跌[J] 。在 Synthetix 和 Compound,前兩個異常報告的百分比比前兩個平臺小得多,僅為 5%。Synthetix 中最大的異常值也來自真實價格[K] 的突然下跌,而第二大異常值很可能是最近美國股市的波動所致。
故障
在本節中,我們調研預言機的故障。對於 MakerDAO,Compound 和 AmpleForth,我們檢查所有由其預言機提交但以太坊網絡處理不成功的交易(被網絡拒絕或由預言機本身回退交易)。對於 Synthetix,由於與Chainlink 集成,我們檢查了所有受支持資產的預言機節點,找出了它們從中收集的真實資源並評估了這些預言機。
MakerDAO:MakerDAO 中 ETH/USD 的參考價格由聚合器更新,該聚合器從許多外部來源收集價格數據。如表 4 所示,由於一個 ETH 預言機[L] 中的異常錯誤,在總計 7,042 筆交易中發生了 54 次由於gas 用盡失敗[M] 的交易,失敗率為 0.77%。同樣的問題也存在於其他三個預言機[N],失敗率分別為 2.17%,1.39% 和 0.53%。
AmpleForth:接下來,我們調研所有由 AmpleForth 的預言機發起的交易。我們的發現如表 4 所示,截至2020 年 4 月,AmpleForth 的兩個市場預言機中分別發生了 30[O] 和 34[P]次被回退的交易。
Synthetix:Synthetix 完全集成了 Chainlink 的服務用於報價。Synthetix 支持的每種資產類型都有相應的一組 Chainlink 節點,以完成類似於預言機的任務。我們進一步調研所有交易對的節點 -ETH/USD,BTC/USD,AUD/USD,EUR/USD,CHF/USD,GBP/USD,JPY/USD,XAG/USD 和 XUG/USD,以找出潛在的故障。
在表 5 中,我們提供了有關預言機的詳細信息,其相應數據源以及遇到的問題。我們發現 Omniscience,Ztake.org,Anyblock 和 Simply VC 提交過被以太坊網絡回退的交易。到 2020 年 2 月 14 日,Alpha Vantage 收到 Chainlink 的 17 項請求,但忽略了它們,未成功提交答覆。LinkPool 使用兩個外部來源(即 CryptoCompare 和 Alpha Vantage)獲取 ETH,BTC,AUD 和 XAG 匯率。但是,Alpha Vantage 不可靠也使LinkPool 也變得不可靠。Fiews,Cosmostation,Validation 等是穩定的節點,沒有發現異常,而 stake.fish 和 Chainlayer 的來源尚不對公眾開放,因此無法進行審核。
交易活動分析
預言機地址可能會與大量以太坊地址進行交互,這些地址可能是 ERC-20 代幣合約,鏈上服務,其他協議的實體或外部帳戶地址等。在本節中,我們重點介紹 DeFi 平臺的預言機的活動分析。我們使用 BigQuery 搜尋預言機的整個交易歷史記錄,然後構建交易圖,並查找與預言機交互的最常見地址,與之通信的實體或外部帳戶以及涉及的有趣活動。
AmpleForth:我們從 AmpleForth 的市場Oracle 收集了 132,119 筆交易,發現與預言機交互的地址有 47 個。如圖 12a 所示,整個交易的很大一部分是與 Chainlink 聚合器的交互,顏色為綠色。紅色節點表示市場預言機有 161 筆交易使用 AmpleForth 的 UpgradeProxy 合約來設置或更新某些參數。藍色和橙色是外部帳戶地址,分別涉及 48 和 1 筆交易。預言機於 2020 年 3 月 13 日連續向藍色節點[Q] 發送了48 筆沒有輸入數據的交易(很可能是測試行為)。
MakerDAO:類似地,我們使用 MakerDAO 的 ETH/USD 預言機作為我們的測量對象,提取 4,914 筆交易,進行分析,結果如圖 12b 所示。圖中預言機與來自七個不同地址的四種類型的實體進行交互,大多數交易都與價格發布行為有關,但是,由於 gas 用盡的錯誤,有兩個交易失敗。它進行了四次代理活動(紅色節點),而只有三次代幣轉移成功(藍色節點)。此外,當平臺決定進行 SAI 和 DAI 轉換時,還有一項遷移活動。
Compound:我們在 Compound 中選擇了一個ETH/USD 的預言機,分析其所有 11,458 筆交易。所有交易均涉及與三個鏈上聚合器交互的報價操作。與其他平臺的預言機不同,交易歷史記錄不包含與其他參與者或服務的交互。
Synthetix:圖 12d 中展示了Synthetix 預言機的 142,422 筆交易組成的圖。與其他平臺類似,該平臺 ETH/USD 預言機主要與綠色標記的活躍聚合器合約進行交互。聚集器之中的一個禮物是橙色節點[R],該聚集器在原因不明的情況中自毀了。除此之外,預言機還參與了與 Synthetix 網絡相關合約的 2,056 筆交易,大多數是從平臺獲取參數值。一個有趣的活動(以紅色表示)是總計 667 筆發送給自身且沒有輸入數據的交易(很有可能處於測試目的)。
討論
去中心化
在背景部分,我們討論了 DeFi 中預言機的不同設計。他們中有一些依靠中心化的聚合器來獲取參考價格,而另一些則與 Chainlink 的報價提供商合作。在本節中,我們將研究實踐中預言機系統的實現方式,以及它如何影響平臺去中心化的目標。
表 6 描述了影響預言機去中心化的一些屬性。MakerDAO 和 Compound 具有相似的體系結構,他們使用一個單一的聚集器來定期從外部的預言機白名單節點檢索價格信息。即使這些系統的其他組件部署在去中心的智能合約平臺上,該設計也存在中心化的固有缺陷。AmpleForth 利用Chainlink 提供預言機功能,這減輕了(由於 Chainlink 的設計)單一聚合器的中心化風險。但是,它仍然依賴於一個聚合器合約來從四個預言機中收集數據。在不久的將來,AmpleForth 計劃與Chainlink 完全集成來獲取數據,因此,到目前為止,我們將其歸類為半中心化設計。Synthetix 宣布Synthetix 與 Chainlink 集成現已在以太坊上運行[24],提供完全去中心的價格信息。數據源將轉移到 Chainlink 的去中心化預言機網絡中,參考價格將由多個獨立節點通過經濟激勵措施在鏈上轉移,而不依賴任何中心化組織支持。因此,就目前而言,其設計是最接近去中心化的設計。
建議
我們的初步研究表明預言機生態系統尚不成熟。因此,在本節中,我們嘗試從觀察中學習,並就未來預言機平臺的潛在改進提供見解。
透明性:正如第 3.2 節所討論,預言機的價格處理方法並無明確說明。甚至預言機的數據源對於平臺用戶也是模糊未知的。這導致預言機平臺缺乏透明性,並且可能無法檢測到預言機的不當行為,因為當前沒有任何實體能夠證明預言機報價的準確性。我們對未來的預言機設計的第一個建議是,預言機應明確聲明其信息清單。這樣的清單將包含預言機元數據(如預言機聯繫人信息),已部署的數據源,預期更新頻率以及價格的準確推導過程。底層的區塊鏈平臺由於其特性,我們認為是發布此類清單的自然場所。
責任制:我們認為,預言機正在成為重要的受信方,應對其行為負責。在區塊鏈生態系統中,我們可以設想,實現責任制的一種可行方法是加密激勵。因此,為了激勵預言機按承諾的頻率報告準確的價格,我們可以想像平臺將實施某種機制,來懲罰違反預言機清單或平臺政策的行為,諸如延誤或漏報,或可驗證的不當行為,例如高價格偏差。這種機制可以通過智能合約部分實現,但它需要預言機儲存大量的加密資產。
運行的穩健性:一件令人驚訝的事情是,儘管預言機交互相對簡單,它們仍存在基本的運行問題(例如 gas 用盡的錯誤)。由於預言機報告在 DeFi 生態系統中起著至關重要的作用,我們鼓勵運營商通過提高 gas 用量和價格來超量供應。前者必須保證整個交易執行過程中將具備足夠的 gas,後者可以減少報價的延遲,在以太坊網絡擁擠時尤為重要[25]。較高的gas 價格將使預言機報告更快地上鏈,因為區塊鏈網絡優先打包那些支付了更高手續費的交易。
相關工作
我們尚無知曉任何衡量或分析 DeFi 預言機的工作,但是,下面我們將討論與主題最相關的工作。
預言機設計:Town Crier(縮寫:TC,城市小販)[26] 是用於智能合約的經驗證的數據饋送系統。TC 實體充當了智能合約和現有網站之間的橋梁,這些網站已經被非區塊鏈應用普遍信任。它結合了區塊鏈前端和受信任的硬體(即英特爾 SGX 技術[27])後端,以獲取支持 HTTPS 的網站,向依賴於這些數據的智能合約提供從源頭得到認證的數據。由於 SGX 技術的集成,TC 可以遠程證明執行了正確的代碼。TC 與網站建立了安全的 TLS 連接並解析其內容,然後將其用作智能合約的輸入。但是,TC 的一個潛在限制是,它將 Intel 定位為執行遠程證明所需的可信方。
TLS-N[28] 是一種通用的TLS 擴展,可為 TLS 協議提供不可否認的安全性。TLS-N 修改 TLS 堆棧,以便對伺服器發送的 TLS 記錄進行身份驗證(分批進行)。因此,TLS-N 客戶端可以將接收到的 TLS-N 記錄呈現給可驗證的第三方,只需要信任伺服器(沒有任何其他受信的第三方)。通常,TLS-N 會生成可有效驗證的有關 TLS 會話內容的非交互式證明,可以由第三方和基於區塊鏈的智能合約進行有效驗證。這樣,TLS-N 增強了Web 內容的可說明性,並為 Web 內容提供了實用且去中心化的區塊鏈預言機。但是,主要缺點是其可部署性,它需要對 TLS 協議進行重大更改,並且採用過程非常緩慢。
實用數據饋送服務(PDFS)[29] 是一種內容提供商的擴展系統,提供新功能來提升數據透明性和一致性驗證。,它允許內容提供商將 Web 實體與其區塊鏈實體連結起來。在 PDFS 中,數據通過區塊鏈進行身份驗證,但不會破壞 TLS 信任鏈或修改TLS 堆棧。此外,內容提供商可以自由指定他們想使用的數據格式,因此可以輕鬆地對數據進行解析和定製以生成智能合約。PDFS 使內容提供商可以進行審核,並減輕其惡意活動(例如,數據修改或審查),並允許他們創建新的業務模型。缺點是智能合約中實現的驗證邏輯不夠輕量,效率不夠高,PDFS 的潛在改進可能在於提供較短證明的設計。
DeFi調研:《SoK: Demystifying Stablecoins》[30]11 提供了關於主流 DeFi 協議的易於理解的調研,主要集中在穩定幣的設計上。《A Classification Framework for Stablecoin Designs》[31]12和《Monetary Stabilization in Cryptocurrencies-Design Approaches》[32] 系統地討論了現有 DeFi 平臺的一般設計。將設計分解為錨定資產,抵押品金額,價格信息和治理機制等組成部分,此類調查旨在探索 DeFi 平臺的優缺點,以確定未來的發展方向。
攻擊DeFi:《Attacking the DeFi Ecosystem with Flash Loans for Fun and Profit》[33]詳細探索了以太坊網絡 DeFi 生態系統的閃電貸。它分析了現有的兩次投資回報率超過 500,000% 的攻擊,然後將尋找閃電貸攻擊的參數定義為優化問題。它還展示了之前兩次攻擊可被「增強」的方式,如此將分別產生 82.95 萬美元和110 萬美元的利潤,分別提高 2.37 倍和1.73 倍。Lewis 等人[34] 探索了設計缺陷是如何導致 DeFi 危機。他們的論文討論了 MakerDAO 的過度抵押和治理攻擊,提出一種新的經濟危機的傳播形式。
對於加密貨幣的拉高出貨問題,《The anatomy of a cryptocurrency pump-and-dump scheme》[35] 研究了412 個拉高出貨活動,建立了一個模型預測各種加密資產在出貨前拉盤的可能性,發現了加密市場中拉高出貨的模式。Josh 等人[36] 考察了經典經濟學文獻中有關拉高出貨的現有信息文獻,將其與加密貨幣進行了綜合,並提出了定義加密貨幣「拉高出貨」的標準。這些模式可以在異常行為中定位異常交易活動的疑點,以標記潛在的拉高出貨活動。
Philip等人[37] 提出了在去中心交易所執行的套利策略,由機器人由支付高額交易費用,並優化其網絡延遲以進行領先於普通用戶的交易。通過對機器人的謀利行為和特定於區塊鏈的策略進行實證研究,《Flash Boys 2.0: Frontrunning in Decentralized Exchanges, Miner Extractable Value, and Consensus Instability》正式模擬了機器人為了在 gas 拍賣中取得礦工提供的優先權相互競爭的行為,表明在許多情況下,機器人純套利所產生的收入遠遠超過以太坊區塊獎勵和交易費用。
總結
在本文中,我們進行了對 DeFi 預言機的第一個研究。我們消除了主流 DeFi 平臺預言機設計的迷霧,通過對四個著名的開放 DeFi 平臺 Maker DAO,Compound,AmpleForth 和 Synthetix 部署的預言機進行大規模測量,我們研究了價格偏差的細節,源於實時價格和預言機節點報價之間的差異。我們比較了已部署平臺的價格偏差,對預言機的穩定性,責任制和部署模式進行了詳細的評估。我們發現相對聲稱數據源的偏差以及運行故障是非常常見的。最後,我們對此類平臺可能遭受的潛在安全漏洞進行了討論,並提出了可以改善某些已知缺點的建議。
注釋
[A] 我們注意到,還有其他設計不需要錨定或抵押物,但這些系統超出了本文的範圍,我們建議讀者參閱最近的調查.
[B] 目前,Synthetix 的債務抵押率為 800%。
[C]地址:0xac1ed4fabbd5204e02950d68b6fc8c446ac95362
[D]地址:0xfbaf3a7eb4ec2962bd1847687e56aaee855f5d00
[E] 地址:0x8844dfd05ac492d1924ad27ddd5e690b8e72d694
[F] 地址:0x3c6809319201b978d821190ba03fa19a3523bd96
[G] 交易信息:https://bit.ly/2KHiTFE
[H] 當更改交易有效負載的第一個數字時,偏差降低到 2.9%,這是此預言機的標準範圍。
[I] 交易信息:https://bit.ly/2K5kSDF
[J] 交易信息:https://bit.ly/3ep74BO, https://bit.ly/2K3NcGb
[K] 交易信息:https://bit.ly/34Av0xo
[L] 地址:0x000df128eb60a88913f6135a2b83143c452c494e
[M] 這個錯誤發生在要完成一筆交易.需要比發送方提供的計算資源更多的時候。
[N] 地址:0x005b903dadfd96229cba5eb0e5aa75c578e8f968、0x0032ad8fae086f87ff54699954650354bb51e050、0xa8eb82456ed9bae55841529888cde9152468635a
[O] 地址:0xd0352aad6763f12d0a529d9590ea2f30421667a6
[P] 地址:0xcaefaf2130f0751520d5a6a62f3b9c9eaa4739f4
[Q] 地址:0x43eb83a6b54a98b2d051c933b8e4a900d6bacbee
[R] 地址:0x5c545ca7f9d34857664fdce6adc22edcf1d5061f
參考文獻
[1] 2020. Most volatile cryptos. https://yhoo.it/2YhINbg.
[2] 2019. MakerDAO. https://makerdao.com.
[3] 2019. SAI. https://sai.makerdao.com.
[4] 2019. Compound. https://compound.finance.
[5] 2020. Fulcrum. https://fulcrum.trade.
[6] 2019. dYdY. https://dydx.exchange.
[7] 2020. The active outstanding loans from open lending protocols reported by DeFi Pulse. https://defipulse.com/defi-lending.
[8] 2019. Ampleforth. https://www.ampleforth.org.
[9] 2019. Synthetix. https://www.synthetix.io.
[10] 2020. Ethereum DeFi ecosystem. https://defiprime.com/ethereum.
[11] 2019. How to turn $20M into $340M in 15 seconds. https://bit.ly/2VNilEM.
[12] 2019. ChainLink. https://chain.link/.
[13] 2019. Synthetix whitepaper. https://www.synthetix.io/uploads/synthetix_litepaper.pdf.
[14] 2020. Ethereum in BigQuery: a Public Dataset for smart contractanalytics. https://bit.ly/3aNU8lU.
[15] 2019. The sources of Chainlink ETH/USD. https://feeds.chain.link/ethusd.
[16] 2019. Bitfinex. https://www.bitfinex.com.
[17] 2019. Bittrex. https://global.bittrex.com.
[18] 2020. Bittrex ETH/USD rate. https://bit.ly/2VQHTRv.
[19] 2020. Anylockanalytics. https://www.anyblockanalytics.com.
[20] 2020. The claimed sources of AmpleForth’s oracles. https://bit.ly/3aMaqfc.
[21] 2019. Kraken. https://www.kraken.com.
[22] 2019. Coinbasepro. https://pro.coinbase.com.
[23] 2019. The claimed sources of Compound’s oracles. https://bit.ly/3bNiuh5.
[24] 2020. Synthetix integrates with Chainlink. https://bit.ly/3bJfLFc.
[25] 2020. Ethereum gas price shot up. https://bit.ly/2y15AgR.
[26] Fan Zhang, Ethan Cecchetti, Kyle Croman, Ari Juels, and Elaine Shi. 2016. Town crier: An authenticated data feed for smart contracts. In 23rd ACMSIGSAC conference on computer and communications security.
[27] Victor Costan and Srinivas Devadas. 2016. Intel SGX Explained. IACR Cryptology ePrint Archive (2016).
[28] Hubert Ritzdorf, Karl Wüst, Arthur Gervais, Guillaume Felley, and Srdjan Capkun. 2017. TLS-N: Non-repudiation over TLS Enabling Ubiquitous Content Signing for Disintermediation. IACR Cryptology ePrint Archive (2017).
[29] Juan Guarnizo and Pawel Szalachowski. 2019. PDFS: practical data feed service for smart contracts. In 24th European Symposium on Research in Computer Security.
[30] Jeremy Clark, Didem Demirag, and Seyedehmahsa Moosavi. 2019. SoK: Demystifying Stablecoins. Available at SSRN 3466371 (2019).
[31] Amani Moin, Emin Gün Sirer, and Kevin Sekniqi. 2019. A Classification Framework for Stablecoin Designs. In 24th Financial Cryptography and Data Security.
[32] Ingolf Gunnar Anton Pernice, Sebastian Henningsen, Roman Proskalovich, Martin Florian, Hermann Elendner, and Björn Scheuermann. 2019. Monetary Stabilization in Cryptocurrencies-Design Approaches and Open Questions. In 2nd IEEE Crypto Valley Conference on Blockchain Technology.
[33] Kaihua Qin, Liyi Zhou, Benjamin Livshits, and Arthur Gervais. 2020. Attacking the DeFi Ecosystem with Flash Loans for Fun and Profit. In arXiv preprint: 2003.03810.
[34] Lewis Gudgeon, Daniel Perez, Dominik Harz, Arthur Gervais, and Benjamin Livshits. 2020. The Decentralized Financial Crisis: Attacking DeFi. arXiv preprint: 2002.08099.
[35] Jiahua Xu and Benjamin Livshits. 2019. The anatomy of a cryptocurrency pump-and-dump scheme. In 28th USENIX Security Symposium.
[36] Josh Kamps and Bennett Kleinberg. 2018. To the moon: defining and detecting cryptocurrency pump-and-dumps. Crime Science (2018).
[37] Philip Daian, Steven Goldfeder, Tyler Kell, Yunqi Li, Xueyuan Zhao, Iddo Bentov, Lorenz Breidenbach, and Ari Juels. 2020. Flash Boys 2.0: Frontrunning in Decentralized Exchanges, Miner Extractable Value, and Consensus Instability. In 41st IEEE Symposium on Security and Privacy.