2019年末,我發表了一篇題為「Takingundercollateralizedloansforfunandforprofit」的文章。在這篇文章中,我描述了對依賴于一個或多個代幣準確價格數據的以太坊dApps的經濟攻擊。現在是2020年底,不幸的是,許多項目已經犯了非常類似的錯誤,最近的例子是HarvestFinance黑客套利攻擊,導致協議用戶集體損失3300萬美元。
盡管開發人員熟悉可重入性等漏洞,但很明顯,人們并不經常考慮對預言機價格的操縱。相反,基于可重入性的漏洞開發數量近年來有所下降,而基于價格操縱的漏洞開發數量正在上升。因此,我認為是時候有人出版一本關于價格操縱的權威資源了。
這篇文章分為三個部分。對于那些不熟悉這個主題的人,有一個關于喂價預言機和預言機操縱的介紹。那些想要測試知識的人可以直接跳到案例研究部分,在那里我們回顧了過去與預言機相關的漏洞和利用事件。最后,我們總結了一些方法,開發人員可以應用到保護他們的項目免受預言機的價格操縱。
現實生活中的喂價預言機操縱
2015年12月1日,星期三。你的名字是大衛·斯巴格,你正在澳大利亞墨爾本的PekingDuk音樂會上。你想親自見樂隊,但在你和后臺通道之間隔著兩個保安,他們不可能讓這些普通人走進去。
你知道,如果你表現得好像你屬于這里,保安會怎么反應。家庭成員肯定會被允許參觀后臺,所以你所要做的就是讓保安相信你是他們的親戚。你想了一會兒,然后想出了一個只能用天才或者瘋子來形容的計劃。
福布斯專欄作者:DeFi和NFT強勁增長是以太坊的“雙刃劍”:福布斯專欄作者Christopher Brookins今日刊文稱,DeFi和NFT的強勁增長一直是以太坊的“雙刃劍”,不斷阻塞網絡,并大大增加了交易成本。較高的交易成本和較慢的處理速度可能會成為新進入DeFi或NFT的障礙,從而抑制對以太坊的新需求。以太坊市場缺乏新的需求,加上美國大選前后的宏觀不確定性,似乎正在拖累ETH價格。從長遠來看,建立在以太坊之上的新興生態系統看起來很有希望,特別是一旦ETH2.0解決了當前的容量問題。然而,短期內,在下一輪上漲之前,價格可能會進一步疲軟和波動。[2020/9/25]
在迅速安排好一切后,你自信地走向保安。你自我介紹說你叫大衛·斯巴戈,PekingDuk的家人。當警衛要求證據時,你給他們看無可辯駁的證據——維基百科。
警衛揮手讓你過去,讓你等著。一分鐘過去了,兩分鐘過去了。五分鐘后,你在遲疑否應該在執法部門出現之前逃跑。當你準備「越獄」之時,ReubenStyles?走過來介紹了自己。你和他一起走到演員休息室,那里的樂隊對你的聰明才智印象深刻,最后你們一起喝了幾杯啤酒。之后,他們會在自己的Facebook頁面上分享所發生的事情。
什么是喂價預言機?
喂價預言機,總的來說,就是任何你咨詢的價格信息。當Pam向Dwight詢問SchruteBuck的現金價值時,Dwight就是在預測價格。
在以太坊網絡中,一切都是智能合約,喂價預言機也是如此。因此,區分喂價預言機是如何獲得其價格信息的更有用。在一種方法中,您可以簡單地從價格api或交易平臺中獲取現有的鏈外價格數據,然后將其引入鏈中。在另一種情況下,您可以通過查詢在鏈上的去中心化交易所來計算瞬時價格。
聚幣CEO : Jubi DeFi將為用戶提供一站式挖礦服務:據官方消息,聚幣CEO Jeff 在聚咖說直播時表示,Jubi DeFi將為用戶提供一站式挖礦服務,Jubi DeFi質押JT借貸挖礦的產品初衷是希望給持倉JT的用戶更多投資機會。用戶可通過質押JT借貸JUSD,獲得1:1USDT的穩定流動資金去參與新業務、新項目,還可在享有JT持有者權益的同時,借貸挖礦Jubi DeFi板塊礦幣JFI獲得額外收益。
未來,聚幣Jubi DeFi板塊將陸續推出多幣種的質押借貸挖礦、鎖倉挖礦以及流動性挖礦產品。[2020/9/9]
這兩種選擇各有優缺點。離鏈數據對波動性的反應通常較慢,波動性的好壞取決于您試圖將其用于何處。它通常需要少數特權用戶將數據推送到鏈上,因此您必須相信他們不會作惡,也不會被迫推送奇怪的更新。鏈上數據不需要任何特權訪問,并且總是最新的,但這意味著它很容易被攻擊者操縱,從而導致災難性的故障。
還能出什么岔子呢?
讓我們來看一些例子,在這些例子中,集成不良的喂價預言機導致DeFi項目遭受重大資金損失。
SynthetixsKRW預言機故障
Synthetix是一個衍生品平臺,允許用戶將資產質押為其他資產。為了促進這一點,Synthetix(當時)依賴于一個定制的離鏈價格供應源來實現,其中一個由一組秘密的價格供應源計算出來的總價格以一個固定的間隔發布在鏈上。然后,這些價格允許用戶對平臺支持的資產持有多頭或空頭頭寸。
DeFi項目Hakka Finance將于今日開啟流動性挖礦:DeFi項目Hakka Finance(HAKKA)將于今日開啟流動性挖礦,Hakka Finance將開啟兩個獎勵池啟動流動性挖礦,獎勵池1每周分配100萬枚 HAKKA以獎勵BlackHoleSwap流動性提供者,獎勵池2每周分配600萬枚 HAKKA 獎勵Balancer流動性提供者。[2020/9/3]
2019年6月25日,Synthetix依賴的一個價格反饋錯誤地報告了韓元的價格比實際價格高出1000倍。由于喂價預言機系統的其他地方出現了額外的錯誤,這個價格被系統接受并發布在鏈上,在鏈上交易機器人可以快速進出sKRW市場。
盡管Synthetix團隊能夠與這個交易者談判,以bug獎金的形式交換回損失資金。但理論上的來說,機器人本次能夠獲得超過10億美元的利潤。
Synthetix正確地執行了預言機合約,并從多個來源下調了價格,以防止交易商在價格變化發布之前預測價格變化。然而,一個上游價格源故障的案例導致了毀滅性的打擊。這說明了使用離鏈數據的喂價預言機的風險:您不知道如何計算價格,因此您的系統必須仔細設計,以便所有潛在的故障模式都得到正確處理。
低擔保貸款
如前所述,我在2019年9月發表了一篇文章,概述了使用依賴于鏈上數據的喂價預言機所帶來的風險。雖然我強烈推薦閱讀原文,但是這篇文章篇幅很長,技術細節很多,可能很難理解。因此,我將在這里提供一個簡單的解釋。
Matic Network將為DeFi項目資助500萬美元:金色財經報道,以太坊側鏈擴容方案Matic Network已撥款500萬美元用于新的孵化器基金,旨在吸引DeFi項目直接在其協議上建立。Matic周一表示,這些贈款將激勵有前途的DeFi項目在其協議基礎上建立,而不是直接在以太坊上。這些贈款將以MATIC代幣支付。據悉,Matic已經提供了超過100萬美元的贈款,盡管其沒有透露任何受益者。[2020/8/4]
想象一下,你使用去中心化的借貸平臺。用戶可以將資產作為抵押品存入平臺,也可以借入其他資產,但最高金額取決于他們存入的資產的價值。讓我們假設一個用戶想用ETH作為抵押品借入美元,ETH的當前價格是400美元,抵押比率是150%。
如果用戶存款375ETH,意味著存入了150,000美元的抵押品。他們可以每1.5美元的抵押品借入1美元,所以他們可以從系統借入最多100,000美元。
但是當然,在區塊鏈上它不是簡單的聲明1ETH值400美元,因為惡意用戶可以簡單的聲明1ETH值1000美元,然后從系統中拿走所有的錢。因此,對于開發者來說,尋找最適合的喂價預言機是很誘人的,比如當前Uniswap、Kyber的現貨價格,或者另一個去中心化的交易平臺。
乍一看,這似乎是正確的做法。畢竟,只要你想買進或賣出ETH,Uniswap的價格總是大致正確的,因為任何偏離都會被套利者迅速糾正。然而,事實證明,去中心化交易平臺的現貨價格在交易過程中可能嚴重不正確,如下面的例子所示。
動態 | DeFi正在推動以太坊的去中心化:在一份由ConsenSys研究人員發布的名為“衡量區塊鏈的去中心性”的文章中,研究人員Everett Muzzy和Mally Anderson試圖量化“以太坊網絡隨時間的去中心性”。在查看了各種鏈上指標后,他們得出結論,由于DeFi熱潮和其他因素,即使在礦工和礦池變得更加集中的情況下,以太坊也變得更加去中心化。(Decrypt)[2019/12/23]
想想Uniswap儲備系統是如何運作的。價格是根據儲備金持有的資產數量計算的,但儲備金持有的資產隨著用戶在ETH和USD之間的交易而變化。如果惡意用戶在從你的平臺貸款之前和之后進行交易會怎么樣?
在用戶申請貸款之前,他們需要花費200萬美元購買5000個ETH。Uniswap交易所現在計算的價格是1ETH=2,600美元。那么現在,他們的375ETH可以作為抵押品,抵押價值高達650,000美元的資產。最后,他們用200萬美元換回原來的5000ETH,這將重新調整價格至正常狀態。結果是,貸款平臺損失了550,000美元。
這個案例研究說明了在使用去中心化的交易作為喂價預言機時最常見的錯誤——攻擊者在交易過程中幾乎完全控制價格,并試圖準確地操縱價格就像在天平安定下來之前讀出秤上的重量。這樣的話,你可能會得到錯誤的號碼,并根據情況它可能會造成很大的損失。
SynthetixMKR操縱
2019年12月,Synthetix因為預言機價格操縱而再次遭受攻擊。值得注意的是,它跨越了鏈上價格數據和鏈外價格數據之間的障礙。
Reddit用戶u/MusaTheRedGuard注意到,一個攻擊者正在對sMKR和iMKR(反MKR)進行一些非常可疑的交易。攻擊者首先購買了MKR上的一個多頭倉位,然后從Uniswapeth/MKR對購買了大量MKR。等了一段時間后,攻擊者以iMKR的價格賣掉了他們的MKR,并把它們賣回了Uniswap。然后他們重復了這個過程。
在幕后,攻擊者通過Uniswap進行的交易允許他們隨意調整Synthetix上MKR的價格。這可能是因為Synthetix所依賴的非鏈式價格源實際上依賴于MKR的鏈上價格,而且沒有足夠的流動性讓套利者將市場重新調整到最佳狀態。
這個事件說明了一個事實,即使你認為你使用的是鏈外價格數據,實際上你可能仍然在使用鏈上價格數據,而且你可能仍然暴露在使用這些數據所涉及的復雜性中。
我該如何保護自己?
到目前為止,我希望你已經學會了識別共同的線索-它并不總是明顯的,你正在使用一個喂價預言機,如果你沒有遵循適當的預防措施,攻擊者可以欺騙你的協議,把你所有的錢寄給他們。雖然沒有可以規定的一刀切解決方案,但是這里有一些解決方案在過去曾經對其他項目起過作用。也許其中一個也適用于你。
淺水市場,不要潛水
就像一頭扎進游泳池的淺水區一樣,一頭扎進沒有流動性的市場是痛苦的,而且可能會導致永遠改變你的生活的巨大開銷。在您考慮計劃使用復雜的特定價格預言機之前,請考慮該標記是否具有足夠的流動性以保證與平臺集成。
一鳥在手勝過兩鳥在林
看到Uniswap的潛在代幣匯率可能會讓人著迷,但只有當你真正點擊交易并且交易成功后代幣在你的錢包里的時候,才是最終的結果。同樣,要確定兩種資產之間的匯率,最好的方法就是直接進行資產互換。這種方法很好,因為沒有后悔和假設。然而,它可能不適用于那些要求持有原始資產協議,如貸款平臺。
幾乎去中心化的預言機
總結依賴于鏈上數據的預言機模型的問題的一種方法是,它們有點太新了。如果是這樣的話,為什么不人為地推遲一下呢?編寫一份合約,在Uniswap這樣的去中心化交易平臺上用最新的價格更新自己,但只有在一小群特權用戶提出要求時才這樣做。現在,即使攻擊者可以操縱價格,他們也不能讓你的協議真正使用它。
這種方法實現起來非常簡單,而且速度快,但也有一些缺點——在鏈上擁堵的時候,你可能無法按照自己的意愿快速更新價格,而且仍然容易受到內外夾擊。此外,現在你的用戶需要相信,你實際上會保持價格更新。
減速帶
操縱價格預言是一個時間敏感的操作,因為套利者總是在觀望,并且喜歡優化任何次優市場的機會。如果攻擊者想要最小化風險,他們會想要在一個交易中操縱一個喂價預言機,這樣套利者就不可能在中間跳躍。作為一個協議開發人員,如果系統支持它,那么在用戶進入和退出系統之間實現短至1區塊的延遲就足夠了。
當然,這可能會影響可組合性,而且礦商與交易員的合作正在增加。在未來,壞的參與者可能會在多次交易中操縱價格,因為他們知道與他們合作的礦商將保證沒有人能跳到中間,從他們的收益中分一杯羹。
時間加權平均價格Time-WeightedAveragePrice(TWAP)
UniswapV2為鏈上開發人員引入了TWAP預言機。文檔對預言機提供的確切安全保證進行了更詳細的描述,但是一般來說,對于長時間的大型交易池,沒有區塊擁塞的情況下,TWAP預言機對預言機操縱攻擊具有很強的抵抗力。然而,由于其實施的性質,它可能無法對市場高度波動的時刻作出足夠迅速的反應,而且只適用于已經具有流動性的資產。
M-of-N記者
如今許多大型項目都采用這種方法:Maker運行一系列由可信實體操作的價格信息提要,Compound創建了Open預言機,并提供Coinbase等記者功能,Chainlink收集來自Chainlink運營商的價格數據,并在鏈上發布。請記住,如果您選擇使用這些解決方案之一,那么您現在已經將信任委托給了第三方,您的用戶也必須這樣做。要求記者手動在網上發布最新消息也意味著,在市場高度波動和鏈上擁堵的時候,價格可能無法及時更新。
總結
喂價預言機是一個至關重要的,但經常被忽視的組成DeFi安全的部分。安全地使用喂價預言機是困難的,有很多方法可以把你自己和你的用戶都搞砸了。在這篇文章中,我們討論了過去的價格預言者操縱的例子,并且確定在交易過程中閱讀價格信息可能是不安全的,并且可能導致災難性的金融損失。我們還討論了其他項目過去用于打擊價格Oracle操縱的一些技術。不過最終,每種情況都是獨一無二的,你可能會發現自己不確定是否正確地使用了喂價預言機。如果是這樣的話,盡管去尋求建議吧!
原文標題:《Soyouwanttouseapriceoracle》
原文來源:SAMCZSUN
Tags:DEFDEFIEFIETHdefibox幣有價值嗎DeFiHorsePhoenixDefiSwapBethereum
Arca是來自紐約的一家投資管理公司,按行業定義,這家公司算得上是一個正統的投資公司。它的首席投資官JeffDorman最近在網上發表了一篇文章,闡述了他對UNI代幣的幾個投資觀點.
1900/1/1 0:00:00抄底買幣屯著是否可行?其實這個賬也是很好算的一枚比特幣價格按照當前的價格9W,我們先要明白的一個問題是,你手中的這1個幣是永遠不會再增加的,買了1個就是1個,不管是2年3年5年.
1900/1/1 0:00:00尊敬的GX.COM用戶:BOND期貨即將上線GX.COM,并開通BOND/USDT交易對。開放交易時間:2020年11月9日15:00創建Bonded.Finance平臺是為了孵化和部署實驗、高.
1900/1/1 0:00:00親愛的BithumbGlobal用戶:BithumbGlobal將在DeFi上線CAKE數位資產服務.
1900/1/1 0:00:00如果想做一個價值投資人,請盡量要考慮做長線,長線才能產生價值。幣圈經常有人發貼說,比特幣未來能漲到10萬美元,甚至幾十上百萬美元,還有人說以太坊將來會超越比特幣價格,但個人覺得,比特幣今后漲到1.
1900/1/1 0:00:00尊敬的用戶: 幣虎三周年特送上50,000USDT活動福利,用戶只需滿足活動條件,就可用1USDT購買50USDT.
1900/1/1 0:00:00