加密貨幣交易所 加密貨幣交易所
Ctrl+D 加密貨幣交易所
ads

知名白帽Sam Sun撰文詳述DeFi為何頻發價格預言機操縱攻擊_ETH:ULT

Author:

Time:1900/1/1 0:00:00

編者按:本文來自鏈聞ChainNews,星球日報經授權發布。撰文:SamSun,知名白帽,加密風投機構Paradigm研究合伙人編譯:PerryWang2019年末,我發表了一篇題為《從抵押不足貸款取樂并牟利》的帖子。我在文中描述了依賴于一個或多個代幣的準確價格數據,對以太坊去中心化應用DApp的一次經濟攻擊。當前是2020年末,不幸的是,許多項目已經出現了非常相似的錯誤,最近的例子是HarvestFinance遭黑客攻擊事件,導致協議用戶集體損失3300萬美元。雖然開發者熟悉重入reentrancy等漏洞,但他們顯然沒有經常考慮價格預言機遭操縱的問題。相反,多年來基于reentrancy的漏洞已經下降,而基于價格預言機操縱的漏洞現在呈上升趨勢。因此,我決定是時候得有人對有關這類操縱給出明確資源以提高安全意識。本文分為三個部分。對于不熟悉這個主題的讀者,這是一篇關于預言機和預言機操縱介紹的科普文章。那些想要測試知識水平的讀者可以直接跳到案例研究,我們回顧一下過去一些與預言機相關的漏洞和攻擊事件。最后我們總結一些開發者可以應用的技術,以保護他們的項目免受價格預言機操縱途徑的攻擊。什么是預言機操縱事件?打個真實案例比方

2015年12月1日,星期三。你的名字叫DavidSpargo,當時正在澳大利亞悉尼觀看澳洲「電音黑馬」PekingDuk的音樂會。你可能想親眼見到這支樂隊,但兩名安保人員擋住了你前往后臺的去路,他們完全不可能讓一個普通路人大搖大擺走進后臺。你可能想,如果你表現得像是后臺人員,保安人員會有什么反應。家庭成員肯定會被允許參觀樂隊后臺,所以你只需要的是說服保安你是樂隊成員的一個親戚。你考慮了一下,想出了一個計劃,可能被稱為天才計劃,也許是極為拙劣。準備妥當后,你自信地走向保安。你介紹自己叫DavidSpargo,PekingDuk的家人。當保安要求看證據時,你向他們展示無可辯駁的證據——維基百科。

知名游戲商科樂美將拍賣《惡魔城》系列NFT:1月7日消息,日本知名游戲商KONAMI(科樂美)宣布將拍賣一系列NFT,以紀念其《惡魔城》系列。該系列將包括14個與早期任天堂游戲場景有關的NFT,以及音頻文件和海報藝術。拍賣將于2022年1月12日5:00 P.M.(EST時間)開始,持續4小時。

值得一提的是,一些用戶已經在為該系列NFT出價,可以在OpenSea上查看。到目前為止,該系列產品的報價為0.005 ETH(17美元)至0.014 ETH(48美元)。(Crypto Briefing)[2022/1/7 8:31:11]

DavidSpargo修改了PekingDuk的維基百科詞條,在「家庭成員」加上了自己的名字,名場面保安揮手讓你通過,并讓你等待。一分鐘,兩分鐘。五分鐘后,你想知道在警察露面之前是否該趕緊跑掉。當你正要離開時,樂隊成員之一的ReubenStyles走過來做了自我介紹。你和他一起走到后臺休息室,樂隊對你的聰明才智印象深刻,最后和你一起喝了幾杯啤酒。稍后他們還在Facebook頁面上分享了所發生的事情。

什么是價格預言機?

價格預言機,籠統地說,是你咨詢價格信息的東西。拿美劇《Office》中的劇情打個比方,當Pam向Dwight詢問SchruteBuck的現金價值時,Dwight則充當了價格預言機的角色。

在以太坊區塊鏈中,一切都是智能合約,所以也是價格預言機。因此區分價格預言機如何獲取其價格信息更有用。一種方法是只需從價格API或交易所中收集現有的鏈下價格數據,即可將這些數據引進到鏈上。另一種方法可以通過咨詢鏈上去中心化交易所來計算瞬時價格。

美國知名DJ 3LAU以1160萬美元出售全球首套音樂專輯NFT藏品:3月1日消息,美國知名DJ和制作人3LAU與Origin Protocol合作在Dshop推出的獨家Ultraviolet Vinyl NFT Collection拍賣已圓滿結束,總成交價達11684101元。Origin Protocol稱這次拍賣具有歷史意義,因為這是世界上第一張代幣化音樂專輯。

這次拍賣分為數個級別。最高檔的是白金級別,提供了3LAU根據競標者的個人品味和偏好創作的定制歌曲,一張實體黑膠唱片,Ultraviolet專輯中的所有11首歌曲NFT,以及尚未發行的音樂。這一類別的獲勝者是化名為BIDDER65的用戶,其出價為3,666,666美元。

緊隨其后的是黃金級別,提供了自定義混音、實體黑膠唱片和未發行的音樂,最終為排名第2-6位的參與用戶獲得,最高出價為3,555,555美元。再之后是白銀級別,該類別向排名第7到第33位的競拍者提供了一張實體黑膠唱片和Ultraviolet中的3首代幣化歌曲。出價排名前33位的競拍者還獲得了一份忠誠度NFT。(Crypto Potato)[2021/3/1 18:02:46]

兩種選擇各有優缺點。鏈下數據對波動性的反應通常較慢,根據你嘗試使用它的用途,這可能是好事,也可能是壞事。不過通常需要少數特權用戶將數據推送到鏈上,因此你必須相信他們不會變得邪惡,也不會被迫推送不良信息。鏈上數據不需要任何特權即可訪問,并且始終是最新的,但這意味著攻擊者很容易操縱它,可能導致災難性故障。可能會出什么問題?

簡單看看一些整合不良的價格預言機對DeFi項目造成嚴重財務損害的案例。Synthetix是一個允許用戶接觸到其他貨幣資產的衍生品平臺。為了撮合此類交易,Synthetix依賴于一個自定義的鏈下價格饋送實現機制,其中按照一組秘密價格饋送來計算匯總價格,按固定的時間間隔在鏈上發布。然后允許用戶以這些價格對其支持的資產做多或做空頭寸。2019年6月25日,Synthetix所依賴的價格源之一誤報了韓元的價格,比真實匯率高出1000倍。而由于價格預言系統其他地方的其他錯誤,這個價格被系統接受并發布在鏈上,其中一個交易機器人在SKRW市場快速進行買賣交易。

知名推特博主:套利者在GBTC解鎖6個月內會大量購買BTC現貨:1月28日消息,知名推特博主Coiner-Yadox表示,在2月3日灰度的比特幣信托GBTC解鎖之后,套利者可能會在接下來的6個月里大量買入比特幣現貨。[2021/1/28 14:16:07]

這個自動交易機器人最終賺取超過10億美元的利潤,雖然Synthetix團隊能與交易者談判返還了資金,取而代之給予其糾錯賞金。Synthetix正確執行了預言機合同,從多個數據來源引入報價,以防止交易者在鏈上發布之前預測到價格變化。然而一個上游價格饋送故障的孤立案例,導致了毀滅性的攻擊。這說明了使用鏈下數據價格預言機的風險:你不知道價格是如何計算的,因此必須仔細設計系統,以便能正確處理所有潛在的故障模式。擔保不足貸款如前所述,我在2019年9月發表了一篇帖子,概述了使用鏈上數據的價格預言機的相關風險。雖然我強烈推薦閱讀原貼,不過其中有相當多且復雜的技術細節,可能使其難以消化。因此我在這里提供一個簡化的解釋。假設你希望將去中心化貸款引入區塊鏈。用戶可以將資產作為抵押品存入,并借入由其存入的資產價值決定的、一定金額的其他資產。假設用戶希望以ETH作為抵押品借入美元,ETH的當前價格為400美元,抵押比率為150%。如果用戶存入375ETH,相當于存入15萬美元的抵押品。他們可以按每抵押1.5美元借走1美元,所以他們可以從系統中借到不超過10萬美元。

當然在區塊鏈中,不像簡單地聲明1ETH價值400美元那么簡單,因為惡意用戶可以簡單地聲明1ETH價值1000美元,然后從系統偷走所有的錢。因此對于開發者來說,非常需要最近的價格預言機的界面,如Uniswap、Kyber,或其他去中心化交易所中的當前現貨價格。

動態 | 盛大公鏈STD宣布與十五大知名社區達成合作:據官方消息,自盛大公鏈STD與WBF達成戰略合作以來,STD至今已累積上漲600%,今日,盛大公鏈宣布與十五大知名社區(北斗社區,文藝社區,贏在幣圈,魔鬼社區,JR社區,小小社區,幣咚社區,蕭蕭社區,藤曼社區,匯豐社區,南瓜社區,知了資本,SUPER社區,紫云社區,大俠區塊鏈社區),東方資本達成戰略合作。

盛大公鏈由新加坡創世基金會投資創立,采取公平分發機制,支持跨鏈通信,多鏈融合等功能,借助AI,大數據,云計算,5G,物聯網等尖端科技,將產業資源數字化轉換,精準撮合,廣泛流通,推動全球實體產業數字化進程。[2019/12/10]

乍一看,這似乎是正確的做法。畢竟,每當你想購買或賣出ETH時,Uniswap的價格總是大致正確的,因為任何偏差都會被套利者迅速糾正。但是事實證明,去中心化交易所的現貨價格在交易期間可能非常錯誤,如下例所示。考慮一下Uniswap留存資產的函數公式。其內部報價是根據儲備持有的資產量計算,但隨著用戶在ETH和USD之間交易,儲備資產不斷變化。如果惡意用戶在從你的平臺獲得貸款之前和之后執行交易,會怎么樣?用戶在你的平臺貸款之前,他們以200萬美元買入5000ETH。Uniswap交易所現在計算價格為1ETH=2600美元。現在,他們的375ETH可以作為抵押品,可以貸走高達65萬美元的資產,然后他們用原來的5000ETH換回200萬美元,重置Uniswap內的價格。你的貸款平臺則損失了55萬美元。

這一案例研究說明了使用去中心化交易所作為價格預言機時最常見的錯誤:攻擊者在交易期間幾乎完全控制了價格,要想準確讀取該價格,就像在物品穩定之前讀取重量計的讀數一樣。你可能會得到錯誤的數字,在一定情況下,可能會讓你損失慘重。SynthetixMKR操縱2019年12月,Synthetix再次遭受價格預言機操縱式攻擊。值得注意的是,此次攻擊突破了鏈上價格數據與鏈下價格數據之間的障礙。Reddit用戶u/MusatheRedGuard觀察到,攻擊者正在針對sMKR和iMKR進行一些非常可疑的交易。攻擊者首先通過買入sMKR而間接購買了MKR的多頭頭寸,然后從UniswapETH/MKR交易對購買了大量MKR。等待了一段時間后,攻擊者售出其sMKR換成iMKR,然后將MKR賣回給Uniswap。然后他們重復了這個過程。在幕后,攻擊者通過Uniswap進行交易,使其可以在Synthetix協議中移動MKR的價格。這可能是因為Synthetix所依賴的鏈下價格饋送實際上依賴于MKR的鏈上價格,而且沒有足夠的流動性使套利者推動市場回歸最佳價格配置。

山寨twitter賬戶偽裝成知名數字貨幣賬號騙取數千美元:近日,許多山寨特推賬戶偽裝成知名數字貨幣的創始人或公司,要求用戶在社交平臺上、在有限的時間內向他們小額捐助各種數字貨幣。作為交換,他們將隨后發送數倍金額返還給原地址,通常限于前50或100名用戶。據CoinDesk收集的數據顯示,過去幾天山寨賬戶已收到數千美元的騙款。萊特幣的創建者Charlie Lee、ETH的創始人V神、Ripple公司的官方賬戶均被利用。[2018/2/3]

該事件說明了這樣一個事實,即盡管你認為你使用的是鏈下價格數據,實際上可能仍在使用鏈上價格數據,并且仍然可能面臨使用這些數據所涉及的復雜情況。2020年2月,bZx協議在幾天內遭到兩次黑客攻擊,被黑客掠走約100萬美元。在這里你可以看到一篇有關兩次黑客攻擊事件的優秀技術分析,但我們本文將只討論第二次黑客攻擊。在第二次黑客攻擊中,攻擊者首先使用ETH購買了Kyber協議中幾乎所有的SUSD。然后攻擊者從Synthetix本身購買了第二批SUSD,并存放在bZx上。攻擊者使用sUSD作為抵押品,貸取了所能允許的最大金額ETH。然后他們把sUSD賣回給了Kyber。如果你一直在關注,你會認識到這基本上是相同的抵押不足貸款攻擊套路,只是使用了不同的抵押品和不同的去中心化交易所。yVault漏洞2020年7月25日,我向yEarn報告了他們新推出的yVault合同中的一個協議漏洞。你可以閱讀關于這一錯誤的官方材料,但我會在下面簡要地總結一下。yVault系統允許用戶存入代幣并賺取收益,而無需自己管理代幣。在yVault內部,金庫跟蹤yVault代幣鑄造的總量以及存入的底層代幣的總金額。單個yVault代幣的價值取決于鑄造的代幣與存入代幣的比率。金庫賺取的所有收益都由所有鑄造的yVault代幣平分。第一個yVault允許用戶利用USDC向Balancer協議中的MUSD/USDC流動性池提供流動性來賺取收益。當用戶向Balancer池提供流動性時,將獲得BPT作為回報,該BPT可以兌換流動性池中的一部分資產。因此,yVault根據可使用BPT贖回的MUSD/USDC金額計算其持有的價值這一實施似乎正確無誤,但不幸的是,我們前文提到的危險原則同樣適用:交易期間Balancer流動性池的狀態不穩定,其價格無法信任。在這種情況下,由于Balancer選擇的聯合曲線,用戶從USDC交換到MUSD不會得到1:1的匯率,但實際上會在流動性池中留下一些MUSD。這意味著BPT的價值可以暫時膨脹,這給了攻擊者惡意操縱價格的漏洞,然后以此抽干金庫。

這一事件表明,價格預言機并不總是很方便,開發者需要警惕它們正在攝入的數據類型,并考慮這些數據是否可以被非特權用戶輕松操縱。HarvestFinance黑客事件2020年10月26日,一名未知用戶采用一種你可能已經可以猜到的技術入侵了HarvestFinance的流動性池:攻擊者通過執行交易來打壓Curve協議流動性池中的USDC價格,以降低后的價格進入Harvest流動性池,再通過逆向操作先前的交易來恢復價格,然后以更高的價格退出Harvest流動性池。這給Harvest流動性池造成超過3300萬美元的損失。HarvestFinance官方事后剖析報告我該如何保護自己?

截至目前,我希望你已經學會了識別其共性:它并不總是很明顯,你使用價格預言機,如果你不遵循適當的預防措施,攻擊者可以騙過你的協議,卷走很多錢。雖然沒有一勞永逸的解決方案,但下面是過去一些項目行之有效的解決方案。也許其中一個也適合你。淺水市場不要冒進就像跳水落到泳池的淺端一樣,跳入淺水市場也是痛苦的,可能導致大量的開支,并永遠改變你的生活。在考慮計劃使用的特定價格預言機的復雜性之前,請考慮代幣是否足夠具有流動性,足以保證與平臺集成。一鳥在手,勝過兩鳥在林Uniswap上的潛在匯率可能亂花漸欲迷人眼,但在落袋為安之前,那些不過是鏡中花,水中月。同樣,確定兩種資產之間匯率的最佳方法就是直接交換資產。這種方法很棒,因為沒有回收,也沒有不確定因素。但是這種做法對于需要持有原始資產的貸款平臺可能不起作用。近乎去中心化的預言機依賴鏈上數據的預言機總結起來一個問題就是它們有點太新。如果是這樣的話,為什么不人為引進一些延遲呢?編寫一份智能合約,采用Uniswap等去中心化交易所的最新價格進行更新,但僅在少數特權用戶請求時更新。現在即使攻擊者可以操縱價格,他們也無法讓你的協議來實際使用它。這種方法簡單易用,而且能快速奏效,但還是有一些缺點:在區塊鏈擁堵的時候,你可能無法按期望的速度更新價格,仍然容易受到三明治攻擊。此外你的用戶需要相信,你會實際保持價格更新。減速帶操縱價格預言機是一個時間極為敏感的操作,因為套利者時刻在關注,并希望有機會優化任何次優市場。如果攻擊者想要將風險降至最低,需要執行在單筆交易中執行操縱價格預言機所需的兩筆交易,這樣套利者就不可能在中間橫插上一腳。作為協議開發者,如果你的系統能支持,則只需在用戶進入和退出系統之間部署短至1個區塊的延遲就足以阻擋。當然這可能會影響協議的可組合性,而礦工與交易者聯手作惡也在不斷增多。將來壞因子有可能在多個交易中執行價格預言機操縱,因為他們知道,他們合作的礦工將保證沒有人可以在中間插入,從其盈利中分一杯羹。時間加權平均價格TWAPUniswapV2引入了一個TWAP預言機,供鏈上開發者使用。該文檔詳細介紹了這一預言機提供的確切安全保證,一般而言,對于長時間沒有區塊鏈擁堵的大型流動性池,TWAP預言機具有高度的抗預言機操縱攻擊的能力。但是,由于其實施的本質,可能對市場波動性巨大的時刻反應不夠迅速,且只適用于鏈上已有流動代幣的資產。M-of-N報價有時他們說,如果你想做正確的事,最好自己干。如果你召集N個信任的朋友,并請他們提交他們認為正確的鏈上價格,而最好的M答案作為當前價格,那會如何呢?這種方法現在被當前許多大型項目采用:Maker運行一組由受信任實體操作的價格源,Compound創建OpenOracle及Coinbase這類特約報價者,Chainlink聚合來自Chainlink運營者的價格數據,并在鏈上公開它。請記住,如果選擇使用這些解決方案之一,你現在已將信任委派給第三方,你的用戶也只能這樣做。要求報價者手動發布鏈上更新也意味著在市場波動性大和區塊鏈擁堵期間,價格更新可能無法準時到達。總結

價格預言機對于DeFi安全性至關重要,但經常被忽視。安全地使用價格預言機是一道難題,有很多方法同時兼顧你自己和你的用戶。在這篇文章中,我們介紹了曾經發生的價格預言機操縱攻擊案例,并證實在交易過程中讀取價格信息可能是不安全的,可能導致災難性的財務損失。我們還討論了其他項目用于打擊價格預言機操縱的一些技術。歸根結底,每一種情況都是獨一無二的,你可能會發現自己不確定目前對價格預言機的使用是否正確。如果是這樣的話,請隨時與我們聯系尋求建議。

Tags:ETHUSDMKRULTETH Max Yield IndexUSDMmkr幣創始人3KingdomsMultiverse

比特幣交易
詳解NFT為什么一直沒能爆發起來?_NFT:cream幣廢了

近期的幣圈可謂是熱鬧非凡,過段時間就有關于NFT的新聞爆出,這不昨天最新消息:洛克菲勒藝術中心協同AWS和微軟等,打造了一個藝術資源數字化平臺——Zerone藏諸名山.

1900/1/1 0:00:00
BTC突破14000!空軍依然叫囂千刀回調,中國投資人已集體踏空?_比特幣:加密貨幣

編者按:本文來自巴比特資訊,作者:王佳健,星球日報經授權發布。5日下午15:40分左右,比特幣在火幣交易所的價格站上了14500美元。近24小時漲幅近6%,近一個月漲幅超35%.

1900/1/1 0:00:00
DeFi時代的攻擊方式:喂價預言機操縱_DEF:EFI

想象一下,你使用去中心化的借貸平臺。用戶可以將資產作為抵押品存入平臺,也可以借入其他資產,但最高金額取決于他們存入的資產的價值.

1900/1/1 0:00:00
Deribit期權市場播報:1102—IV概覽_BIT:BitMessage

比特幣再次進入橫盤,在14000美元下方震蕩,期貨、期權和現貨的成交都比較平靜,整個市場進入了整理期.

1900/1/1 0:00:00
數據:機構投資者正在重振DeFi市場,YFI是最大受益代幣_DEF:Defiville

編者按:本文來自Cointelegraph中文,作者:SAMUELHAIG,Odaily星球日報經授權轉載.

1900/1/1 0:00:00
債務、土地和貨幣,從Polanyi到新經濟考古學_POL:Alanyaspor Fan Token

編者按:本文來自數字經濟公社,Odaily星球日報經授權轉載。發表本文是因為《朱嘉明|改革四君子之一談中國改革四十年經濟思想史》中提到“匈牙利哲學家、經濟學家波蘭尼(KarlPolanyi).

1900/1/1 0:00:00
ads