Samczsun:請勿用現貨價格作為預言機 這有替代方案供參考
我該用現貨價格作為預言機嗎?
不!
因為,你可以試試下面幾個預言機。
Uniswap TWAP
概述
Uniswap TWAP 預言機適用於任何在 Uniswap V2 或 V3 上有交易對的代幣,幫助用戶在一定條件下計算相關數字資產特定時間段內的平均價格。
何時使用
如果您的代幣已經在 Uniswap V2 或 V3 上线,並且具有足夠的交易者活動和流動性,那么請使用 Uniswap TWAP 預言機。換句話說,正常情況下,如果有套利機會,交易者會快速捕獲價格信息以重新平衡流動性資金池。如果情況並非如此,可能是「攻擊者」在扭曲價格,你也只能耐心等待 TWAP 更新喂價信息。
潛在風險
使用 Uniswap TWAP 必須選擇使用時間間隔,這可能是個很棘手的問題。因為:
如果將時間間隔設置更短,意味着您可以更快看到喂價數據更新,但也降低了操縱預言機的攻擊成本(the cost of attack)。
如果將時間間隔設置更長,意味着操縱平均價格變得更加困難,但也意味着您將無法對市場的波動及時做出反應。
示例實現
對於 Uniswap V2,可以參閱 GitHub 以獲取 24 小時 TWAP 預言機的示例實現。
對於 Uniswap V3,可以參閱 GitHub 以獲取可以集成到項目中的代碼庫。
Curve Virtual Price
概述
Curve 流動性池提供了一種功能,能夠用「抵御」閃電貸的方式計算出單個 LP 代幣的價格。
何時使用
如果您需要計算 Curve LP 代幣的價格,可以使用 get_virtual_price 函數。
潛在風險
除了 Curve 流動性池支持的每個代幣存在依賴風險(dependency risk)之外,沒有其他風險。
示例實現
如果你想了解更多相關信息,請參閱 Curve 文檔。
Maker Price Feed
概述
Maker 運營着自己的喂價網絡,他們會將數據公开給鏈上白名單合約(whitelisted contracts on-chain),其他項目可以通過治理流程向 Maker 申請訪問價格數據。
何時使用
如果您認為可以通過治理流程,並且希望將你的預言機風險轉移給 Maker 預言機團隊,那么可以使用 Maker 的 Price Feed。
潛在風險
您需要信任 Maker 團隊和匿名喂價數據才能正確運行、使用 Price Feed,然而,鑑於 Maker 本身依賴於這些預言機,因此在實踐中的風險其實很低。此外,由於喂價數據運營商需要手動提交鏈上價格,因此在鏈上擁堵非常嚴重的時期,價格數據更新可能會出現延遲。
示例實現
向 Maker Governance 提交 MIP10c9 子提案
Chainlink
概述
Chainlink 在以太坊主網上支持超過 100 個代幣的喂價,主要用於 ETH 交易對和美元交易對,开發人員只需在需要時查詢智能合約,即可免費訪問這些數據。
何時使用
對於 Maker 或 Uniswap 不支持的加密資產而言,如果您需要了解這些資產的定價數據,或者你的項目無法接受 TWAP 預言機延遲,那么可以使用 Chainlink。
潛在風險
與 Maker 類似,您需要信任 Chainlink 團隊和節點運營商才能正確運行、使用 Chainlink。 Chainlink 還要求節點運營者在鏈上操作,因此在鏈上擁堵比較嚴重的時期也可能會出現延遲。
示例實現
如果你想了解如何從 Chainlink 聚合器智能合約獲取價格的示例,請參閱 Chainlink 文檔。
關於該話題的關鍵問題
1. 為什么我不能直接使用現貨價格?
這取決於您使用現貨價格的目的,您可能想用它來計算某些用戶存入平臺的資產價格,這意味着要確保用戶不能就資產的真正價值向您撒謊——這點至關重要。
不幸的是,根據定義,只要有人买賣資產,現貨價格就會發生變化。這意味着攻擊者可以輕松地使資產的表觀價值(apparent value)遠高於或遠低於資產的真實價值。對於使用現貨價格來計算用戶借貸能力的協議而言,如果作為抵押品存入的資產價值被人為誇大,意味着整個協議可能(並且將會,正如許多黑客所表明的那樣)最終被榨幹。
2. 如何判斷我是否使用現貨價格?
事實證明,如果您使用現貨價格,效果可能不會被立即顯現出來。
舉個例子,如果您想找到 WBTC 兌 ETH 的價格。一個看似簡單的解決方案是使用 Uniswap V2 裏的 ETH/WBTC 交易對,抓取 ETH 和 WBTC 的儲備金余額,然後將兩者分开。但是,由於你計算的其實是現貨價格,因此攻擊者可以通過在流動性池內买入或賣出資產,這樣交易對價格就能輕松被操縱了。
當然,這看起來相當簡單,如果你真的想計算單個 ETH/WBTC 流動性池的 LP 代幣價格時,又該怎么辦呢?當你想要計算 ETH/WBTC 流動性池的美元總價值時,一個簡單的做法是分別計算 ETH 和 WBTC 的美元價值。但是,這樣做,本質上其實已經在考慮現貨價格了,因為你仍然依賴於流動性池的准備金余額。這是一個極其微妙的細節,但許多項目可能都採用這種計算方式。如果您想了解更多這方面的信息,可以參閱這篇 文章。
最後要說的是,你可能正在使用一個沒有在本文中列出的預言機,實際上,本文提到的這四個預言機並沒有覆蓋市場上的全部預言機,也不意味着它們是市場上最好的四個預言機。
撰文:Samczsun,著名安全專家、區塊鏈投資機構 Paradigm 研究合夥人
翻譯:盧江飛
來源鏈接:shouldiusespotpriceasmyoracle.com
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播信息之目的,不構成任何投資建議,如有侵權行為,請第一時間聯絡我們修改或刪除,多謝。
24H熱門幣種與要聞 | Michael Saylor發布數字資產框架提案;Azuki疑似即將發幣(12.23)
24 H 熱門幣種 1、CEX 熱門幣種 CEX 成交額 Top 10 及 24 小時漲跌幅: B...
鏈聞 ChainNews
文章數量
28粉絲數
0