一件接著一件,Compound動輒千萬美金資產清算事件的爆出,讓從前備受推崇的預言機成為眾矢之的。而且閃電貸攻擊系列事件給外界塑造了一種愈演愈烈的惡性示范,從一系列事件上來看,基于可重入性的漏洞利用在過去幾年中有所下降,而基于預言機價格操縱的漏洞利用率現在正在上升,預言機成了一個高危地帶。
為什么預言機是DeFi中的重要角色?
預言機主要圍繞著區塊鏈協議如何以可靠、可信的方式從第三方來源收集數據,然后將數據反饋給高度網絡化和自動化的去中心化應用Dapp和智能合約,以實現來自鏈外世界的信息源、數據源的溝通引入,從而建立鏈上權威事實。
這種外部數據的引入,將作為鏈上智能合約觸發的重要依據。以Compound為例,他們需要預言機的價格來確定借貸能力和抵押要求,以及用于需要計算賬戶價值的的所有功能,從而判定要不要對這個賬戶的資產進行清算從而滿足抵押需求。而對于一些采用AMM方案的DEX來說,由于交易規模小,深度不足,其市場價格很容易受到大額交易的影響而出現劇烈波動,這也需要預言機提供主流交易所數據來避免這種劇烈波動。
GMX 將集成Chainlink的低延遲定價預言機:金色財經報道,據Chainlink官方推特,Arbitrum生態上去中心化衍生品協議GMX社區以 96.28% 的贊成率正式通過了一項提議,將 Chainlink 的低延遲定價預言機集成為鏈上投票的啟動合作伙伴。這種集成將增強 GMX 衍生協議的安全性和用戶體驗。[2023/4/25 14:25:00]
講到這里可能你會覺得,預言機可能只是一個單一的輔助件,僅能作為外部數據的引入作用,事實恰恰相反。預言機的喂價功能或數據源的可靠支撐只是非常早期的形態,長遠來說,預言機將作為現實世界各類數據、信息、信用、資產等諸多要素的集大成者,它提供數據或信息的正確程度、技術實現的去中心化程度以及模塊腳本的智能化程度,都將對未來的區塊鏈世界和現實世界的連接產生重大影響。
從當紅炸子雞到高危點的預言機
ENS發起關于TNL報銷、指數價格預言機和SIWE服務器的社區提案投票:3月22日消息,以太坊域名服務ENS發起EP8(TNL報銷)、EP9(指數價格預言機)和EP10(SIWE服務器)3個社區提案投票。[2022/3/22 14:10:36]
本身預言機在今年DeFi爆火的盛夏中名聲大燥,包括Chainlink、NESTProtocol等項目一度成為市場聚光燈下的當紅明星項目。但早先的熱度與最近一個月里的輿論風向形成了鮮明反差,預言機被推到了另一個方向的風口浪尖上。
起因就是預言機越來越成為閃電貸攻擊、Compound清算等事件的突破點。Compound首席執行官RobertLeshner回應道,“Compound協議本身似乎沒有遭受損失,對于預言機攻擊是否是有人故意為之還是意外,或者是兩者兼有,無法得知。”
去中心化價格預言機 NEST Protocol v3.5已升級成功:1月19日消息,去中心化價格預言機NESTProtocol3.5版本已于今天16點在以太坊主網升級成功,此次升級意味著NESTProtocol正式進入通縮和PoS時代。[2021/1/19 16:31:28]
回顧早先Synthetix的攻擊事件,其核心邏輯是在Synthetix上,用戶可以合成其他貨幣資產,Synthetix依靠定制的鏈下喂價機制,從一組秘密喂價核算出總價格,并以固定的時間間隔發布在鏈上。然后,依據計算出來的價格,允許用戶針對資產進行多頭或空頭交易。
(SynthetixMKR操縱的演示)
Perpetual Protocol將集成Chainlink預言機為BTC和ETH永久掉期交易定價:12月23日,DeFi衍生品協議Perpetual Protocol官方宣布使用Chainlink預言機BTC/USD和ETH/USD喂價,來為BTC和ETH永久掉期交易進行定價。[2020/12/23 16:18:47]
然后2019年6月底,Synthetix所依賴的其中一個喂價渠道錯誤的報告了韓元價格,報價比真實匯率高出1000倍,這個價格被系統接受并發布在了鏈上。有一個交易機器人迅速在sKRW市場上進行了買入和賣出,利益匯率差賺取巨額利潤。雖然Synthetix從多個來源提取價格,然后一個錯誤的報價就使得整個平臺遭遇了毀滅性的打擊。
早先的閃電貸攻擊原理就很簡單,即作惡者從閃電貸中貸出巨量資金,用于深度或流量少的交易所或池子中,而這樣就會造成短時間內資產價格被操控的局面,這種不符實際被操控的數據波動將會為預言機帶來錯誤的輸入和輸出,作惡者利用這些錯誤的輸入和輸出所造成的后果就可以輕松獲利,更直白的說,攻擊者在交易過程中幾乎完全控制了價格,受害者只能被動的接受損失。同理,Compound清算事件中,由于CoinbasePro平臺上的穩定幣DAI價格一度被拉升至1.3美元,這導致使用該平臺預言機喂價信息的DeFi協議Compound出現了大規模清算。
報告:2020年區塊鏈價格預言機造成數千萬美元損失,沒有放緩的跡象:據samczsun網站研究人員發布的報告稱,在2020年,價格預言機操縱行為非常多,迄今為止已導致逾3000萬美元損失,而且沒有放緩的跡象。其還指出,多年來基于可重入性的攻擊已經減少,而基于價格oracle操縱的攻擊現在正在上升。(news.bitcoin)[2020/11/12 14:07:19]
而“罪魁禍首”DAI上漲是因為CoinbasePro采用的是訂單簿模式,當流動性不足時就很容易對價格進行操縱。攻擊者事先計算好了操縱CoinbasePro平臺DAI價格所需的金額,以及通過清算Compound巨鯨能夠獲得的利潤,并在短時間內完成了這次攻擊。
由此看來作為重要的依據的預言機很大程度上無法保證數據來源的真實性或者有效性,Compound平臺的預言機取價數據來源中心化且單一,而中心化的來源則很容易被偽造、篡改、修改或隱藏信息,這種將任何單一的中心化數據源用作價格預言機是不明智的也是極度危險的,預言機攝入遭破壞或無效的數據可能會給下游用戶帶來巨大的災難。
另一方面,就是鏈下數據對價格波動的反應一般比較慢,不夠智能。背后原因是需要相信推送鏈上數據的特權用戶不會變壞也不會被脅迫推送不良更新,而這種信任推送不允許任何特權方訪問,這也就意味著即使被攻擊,也只能坐以待斃,由于沒有更好的解決方案跟上,這就引發了一起又一起的資產損失,但本質來說,攻擊者的操控手段也并非高深,只是在現階段預言機還不夠智能,很難及時應對和抵御。未來一個相對成熟的預言機應該是一個協議的權威真相來源,關于資產的價格,關于市場的狀態,關于危機事件的處理。
拯救DeFi安全先要拯救預言機
既然上面已經提到了預言機的漏洞所在,尤其遭受諸多慘痛代價后,將預言機這個“短板”暴露無遺。那么,在拯救DeFi安全性上,首先應該就是在數據源供應方的選擇上,預言機本身必須要做到,通過符合區塊鏈共識機制的去中心化方式將價格數據在鏈上生成出來,這也是唯一可行的正確邏輯,而不是找中心化數據源幾個節點取個中位數簡單的給鏈上喂價。
除此以外,預言機應該尋求更多的防護罩,這方面可以依托更安全的第三方機構保駕護航,進一步降低危機漏洞發生的可能性。在報價方面,預言機應盡量從多節點聚合數據,對價格偏差預留處理機制,并按照時間同步更新,確保提供給智能合約的數據可靠、可信、抗干擾,像數據可信驗證機制,異常報警機制等都應該用于預言機上。
最為重要的是,在異常數據的處理上,如何做到及時反饋并阻止事件發生,這里面我們可以適當增加一些人為干預,即在市場波動大、鏈上表現異常、價格更新慢的時候,我們可以設置專門的報告人手動在鏈上發布更新。而更智能的阻止異常數據的發生,可借鑒參考Nest預言機項目,其構建的去中心化驗證者和報價礦工之間的博弈機制,形成質押報價交易對資產的方法進行雙邊報價的鏈上生成,直接杜絕錯誤數據被采用。
不論是DeFi發展還是區塊鏈新領域的拓展,鏈上、鏈下的數據交換勢在必行,預言機的作用不可小覷。隨著預言機海量的數據類型越來越多,其影響力和關鍵作用越來越重要,預言機也將從價格預言機向事件型預言機發展,市面上諸如、政務、游戲等行業已經出現了事件型預言機的采用和推廣,相信歷經滄桑,預言機依然將作為溝通鏈上和鏈下世界的重磅武器,只不過需要時間修煉。
Tags:UNDCOMOMPCompoundHIUNDEADwcom幣漲了多少倍了Compound MetaCompound Dai
新冠肺炎加快了新加坡與世界建立新的數字關系的必要性。隨著數據、金融和貿易流動日益數字化,人們也相應需要安全可靠的交易方式.
1900/1/1 0:00:00作者:樓嵩來自致力于「構建區塊鏈互聯網絡,打通價值孤島」的BitXHub團隊 研究方向:Web3+ 導讀 別以為這是一個誘餌式標題,這篇文章是一篇干貨文章,因此取這個標題是有深層次的技術原因的.
1900/1/1 0:00:0011月26日,江蘇省鹽城市中級人民法院發布“幣圈第一資金盤”PlusToken二審宣判,裁定書顯示,扣押的數字貨幣依法處理,所得資金及收益依法予以沒收.
1900/1/1 0:00:00任何人看到「以太坊2.0」這個詞,都會認為這是以太坊的升級版,這也確實是以太坊原本的規劃。就像《鋼鐵俠2》一定是關于鋼鐵俠的續集。但或許,在一部分人看來,以太坊2.0不是續集那么簡單.
1900/1/1 0:00:00來源:澎湃新聞 記者:葉映荷比特幣大事記 來了!11月的最后一小時,比特幣價格突破歷史最高值!11月30日晚間,比特幣新聞資訊網Coindesk價格顯示.
1900/1/1 0:00:00Newsbtc上最近有一篇文章《WhalesDumpAheadOfBitcoinATH,MoreThan93KBTCSoldSincePeak》.
1900/1/1 0:00:00