【#區(qū)塊鏈# #探索 DeFi 協(xié)議預(yù)言機(jī)實(shí)施的設(shè)計(jì)空間和挑戰(zhàn)#】
預(yù)言機(jī)保障三成 DeFi 價(jià)值,時(shí)間延遲導(dǎo)致?lián)屜冉灰椎葍r(jià)值流失問(wèn)題。文章探討現(xiàn)有預(yù)言機(jī)設(shè)計(jì)取舍與兩種新構(gòu)思,以提高效率同時(shí)減少流失。
撰文:Adrian Chow
Jonathan Yuen 和 Wintersoldier 貢獻(xiàn)
預(yù)言機(jī)(Oracle)可說(shuō)是當(dāng)今 DeFi 最重要的基礎(chǔ)設(shè)施之一。它們是大多數(shù) DeFi 協(xié)議不可或缺的部分,這些協(xié)議依靠喂價(jià)來(lái)結(jié)算衍生品合約、平倉(cāng)抵押不足的持倉(cāng)等。目前,預(yù)言機(jī)保障了 330 億美元的價(jià)值,占鏈上總鎖倉(cāng)量 500 億美元的至少三分之二 1。然而,對(duì)于應(yīng)用程序開(kāi)發(fā)人員來(lái)說(shuō),加入預(yù)言機(jī)會(huì)帶來(lái)明顯的設(shè)計(jì)權(quán)衡和問(wèn)題,這源于搶先交易 (frontrunning)、套利 (arbitrage) 和低效平倉(cāng) (inefficient liquidations) 等的價(jià)值流失。本文將這種價(jià)值流失分類(lèi)為預(yù)言機(jī)可提取價(jià)值 (Oracle Extractable Value, OEV),從應(yīng)用程序的角度概述了其關(guān)鍵問(wèn)題, 并試圖在行業(yè)研究的基礎(chǔ)上,說(shuō)明在 DeFi 協(xié)議中安全可靠地加入預(yù)言機(jī)的關(guān)鍵考量。
本節(jié)假定讀者對(duì)預(yù)言機(jī)功能,以及對(duì)推送式 (push-based) 和拉取式 (pull-based) 預(yù)言機(jī)的區(qū)別有基本了解。個(gè)別預(yù)言機(jī)的喂價(jià)可能不同。有關(guān)概述、分類(lèi)和定義,請(qǐng)參閱附錄。
大多數(shù)使用預(yù)言機(jī)喂價(jià)的應(yīng)用程序只需要讀取價(jià)格:運(yùn)行自己定價(jià)模式的去中心化交易所使用預(yù)言機(jī)喂價(jià)作為參考價(jià)格;為超額抵押貸款倉(cāng)位存入抵押品,只需要預(yù)言機(jī)讀取價(jià)格,以確定如借款價(jià)值比平倉(cāng)價(jià)格等初始參數(shù);撇除長(zhǎng)尾資產(chǎn)等定價(jià)更新過(guò)于不頻繁的極端情況,基本上在考慮設(shè)計(jì)系統(tǒng)時(shí),預(yù)言機(jī)更新喂價(jià)的延遲并不重要。因此,預(yù)言機(jī)最重要的考量是 - 評(píng)估價(jià)格貢獻(xiàn)者的準(zhǔn)確性,以及預(yù)言機(jī)提供者的去中心化性能。
但如果喂價(jià)更新的延遲 是重要考慮因素,則應(yīng)更為注意預(yù)言機(jī)如何與應(yīng)用程序交互。通常在這種情況下,此類(lèi)延遲會(huì)導(dǎo)致價(jià)值提取機(jī)會(huì),即搶先交易、套利和平倉(cāng)。這種 MEV 的子類(lèi)型被稱(chēng)為 OEV2。在討論各種實(shí)施方案及其權(quán)衡之前,我們將概述 OEV 的各種形式。
預(yù)言機(jī)搶先交易和套利在衍生品協(xié)議中被俗稱(chēng)為「毒流」(toxic flow ),因?yàn)檫@些交易是在信息不對(duì)稱(chēng)的情況下進(jìn)行的,往往以犧性流動(dòng)性提供者的成本獲取無(wú)風(fēng)險(xiǎn)利潤(rùn)。 Synthetix 等 OG DeFi 協(xié)議自 2018 年來(lái)一直在應(yīng)對(duì)這一問(wèn)題,并隨著時(shí)間的推移嘗試了各種解決方案,以減輕這些負(fù)面外部性。
讓我們以簡(jiǎn)單的例子說(shuō)明;永續(xù)合約去中心化交易所 xyz 在 ETH/USD 市場(chǎng)上使用 Chainlink 預(yù)言機(jī),例子以 ETH/USD 喂價(jià)說(shuō)明 :
圖 1:使用 Chainlink 預(yù)言機(jī)套利示例
雖然上面為過(guò)于簡(jiǎn)化的示例,沒(méi)有考慮滑點(diǎn)、費(fèi)用或資金等因素,但它說(shuō)明了偏差閾值的角色導(dǎo)致價(jià)格粒度不足,從中所帶來(lái)的機(jī)會(huì)。搜索者可以根據(jù) Chainlink 的鏈上存儲(chǔ),監(jiān)控現(xiàn)貨市場(chǎng)價(jià)格更新的延遲,并從流動(dòng)性提供者 (Liquidity Provider, LP) 提取零風(fēng)險(xiǎn)價(jià)值。
搶先交易與套利類(lèi)似,是另一種價(jià)值提取形式,搜索者監(jiān)控內(nèi)存池的預(yù)言機(jī)更新,并在其提交鏈上之前,搶先運(yùn)行實(shí)際市場(chǎng)價(jià)格。這樣,搜索者就有時(shí)間在預(yù)言機(jī)更新前出價(jià)交易,以有利于自己交易方向的價(jià)格成交。
GMX 等這種永續(xù)合約去中心化交易所一直都是毒性搶先交易的受害者;于 GMX 所有預(yù)言機(jī)通過(guò) KeeperDAO 協(xié)調(diào)協(xié)議更新前,約 10% 的協(xié)議利潤(rùn)已于搶先交易流失 4。
Pyth 的價(jià)值主張之一是,使用 Solana 架構(gòu)的 Pythnet ,發(fā)布者可每 300 毫秒 5 向網(wǎng)絡(luò)推送一次價(jià)格更新,從而維持低延遲喂價(jià)。因此,當(dāng)應(yīng)用程序通過(guò) Pyth 的應(yīng)用程序接口 (API) 查詢(xún)價(jià)格時(shí),可以檢索最新價(jià)格、將其更新到目標(biāo)鏈的鏈上存儲(chǔ)、并在一次交易中執(zhí)行應(yīng)用程序邏輯中的任何下游操作。
如以上所述,應(yīng)用程序能夠直接查詢(xún) Pythnet 的最新價(jià)格更新、更新鏈上存儲(chǔ)、并在一次交易中完成所有相關(guān)邏輯,這不就有效地解決了搶先交易和套利問(wèn)題?
也不盡如此 - Pyth 的更新,賦予了用戶(hù)選擇在交易中使用哪些價(jià)格的能力,這可能會(huì)導(dǎo)致逆向選擇(adversarial selection)(毒流的另一種修辭)。雖然鏈上存儲(chǔ)價(jià)格必須隨時(shí)間推移,但用戶(hù)仍可選擇任何滿(mǎn)足這些限制條件的價(jià)格 - 意味著套利仍然存在,因?yàn)樗试S搜索者在使用過(guò)去的價(jià)格之前看到未來(lái)的價(jià)格。 Pyth 的文檔 6 建議,防范這種攻擊媒介的一個(gè)簡(jiǎn)單方法是加入期效檢查(staleness check),以確保價(jià)格夠近期 - 但是,更新交易數(shù)據(jù)于下一個(gè)區(qū)塊中必須有一定的緩沖時(shí)間,我們?cè)撊绾未_定最佳時(shí)間閾值?
讓我們以永續(xù)合約去中心化交易所 xyz 為例進(jìn)行分析,而今次他們使用的是 Pyth ETH/USD 喂價(jià),期效檢查時(shí)間為 20 秒,這意味著 Pyth 價(jià)格的時(shí)間戳,必須處于執(zhí)行下游交易的區(qū)塊時(shí)間戳的 20 秒之內(nèi):
圖 2:使用 Pyth 的搶先交易示例流程
一個(gè)直觀的想法是簡(jiǎn)單地降低期效檢查閾值,但較低的閾值可能會(huì)導(dǎo)致無(wú)法預(yù)測(cè)區(qū)塊時(shí)間的網(wǎng)絡(luò)回復(fù),從而影響用戶(hù)體驗(yàn)。由于 Pyth 的喂價(jià)依賴(lài)于橋接,因此需要足夠的緩沖來(lái) a) 為蟲(chóng)洞守護(hù)者(Wormhole guardians)提供證明價(jià)格的時(shí)間,b) 允許目標(biāo)鏈處理交易并將其納入?yún)^(qū)塊。下一節(jié)將詳細(xì)介紹這些權(quán)衡。
平倉(cāng)是任何涉及杠桿的協(xié)議的核心部分,而喂價(jià)更新的粒度,于決定平倉(cāng)效率舉足輕重。
以基于閾值的推送式預(yù)言機(jī)來(lái)說(shuō),當(dāng)現(xiàn)貨價(jià)格達(dá)到閾值但不符合預(yù)言機(jī)喂價(jià)預(yù)設(shè)的參數(shù)時(shí),價(jià)格更新的粒度(或粒度不足)會(huì)導(dǎo)致錯(cuò)失平倉(cāng)機(jī)會(huì)。這以市場(chǎng)低效率的形式帶來(lái)了負(fù)外部效應(yīng)。
當(dāng)平倉(cāng)發(fā)生,應(yīng)用程序通常會(huì)支付部分平倉(cāng)抵押品,有時(shí)還會(huì)向發(fā)動(dòng)平倉(cāng)的用戶(hù)提供獎(jiǎng)勵(lì)。例如,2002 年 Aave 僅在主網(wǎng)上就支付了 3,790 萬(wàn)美元的平倉(cāng)獎(jiǎng)勵(lì) 7。這明顯過(guò)度補(bǔ)償了第三方,并且為用戶(hù)帶來(lái)不佳的操作 。此外,當(dāng)存在可提取價(jià)值時(shí),隨之出現(xiàn)的 Gas Wars (Gas 競(jìng)拍行為 ) 會(huì)導(dǎo)致價(jià)值從應(yīng)用程序中流失,從而流向 MEV 供應(yīng)鏈。
考慮到上述問(wèn)題,下文將討論基于推送式、拉取式和替代設(shè)計(jì)的各種實(shí)施方案,各自于解決上述問(wèn)題的有效性及當(dāng)中的取舍;取舍的形式可以是附加的中心化和信任前設(shè),又或是不佳的用戶(hù)體驗(yàn)。
預(yù)言機(jī)專(zhuān)用的訂單流競(jìng)價(jià)(Order Flow Auctions,OFA)
訂單流競(jìng)價(jià) OFA 已成為消除 MEV 產(chǎn)生的負(fù)外部效應(yīng)一種解決方案。廣義上,OFA 是一種通用的第三方競(jìng)價(jià)服務(wù),用戶(hù)可以向其發(fā)送訂單(交易或意圖),而提取 MEV 的搜索者則可以競(jìng)價(jià)獲得對(duì)其訂單運(yùn)行策略的獨(dú)家權(quán)利。很大部分的競(jìng)價(jià)收益會(huì)退還給用戶(hù),以補(bǔ)償他們?cè)谶@些訂單中創(chuàng)造的價(jià)值。近來(lái) OFA 的采用率激增,超過(guò) 10% 以太坊交易都于私人渠道(私人 RPC/OFAs)進(jìn)行(圖 3),相信尚會(huì)進(jìn)一步催化增長(zhǎng)。
圖 3:合并后的每日私人以太坊交易數(shù)量。來(lái)源:Blocknative
在預(yù)言機(jī)更新中,實(shí)施通用 OFA 的問(wèn)題在于預(yù)言機(jī)無(wú)法了解基于標(biāo)準(zhǔn)規(guī)則的更新,是否會(huì)產(chǎn)生任何 OEV,如果不會(huì),則會(huì)在預(yù)言機(jī)向競(jìng)價(jià)中發(fā)送交易時(shí)帶來(lái)額外延遲。另一方面,精簡(jiǎn) OEV,和將延遲減至最低的最簡(jiǎn)單方法是將所有預(yù)言機(jī)訂單流提供予單一主導(dǎo)搜索者。但這顯然會(huì)帶來(lái)極大集中化風(fēng)險(xiǎn),可能會(huì)助長(zhǎng)尋租行為以及審查,并導(dǎo)致低用戶(hù)體驗(yàn)。
圖 4:一般 OFA 與預(yù)言機(jī)專(zhuān)用的 OFA
不包含現(xiàn)有基于規(guī)則更新的預(yù)言機(jī)專(zhuān)用 OFA 的價(jià)格更新仍於公共內(nèi)存池進(jìn)行。這讓預(yù)言機(jī)的價(jià)格更新,以及隨之產(chǎn)生的任何可提取價(jià)值,都得以保留在應(yīng)用層中。作為副產(chǎn)品,它還允許搜索者請(qǐng)求數(shù)據(jù)源更新,而無(wú)需預(yù)言機(jī)節(jié)點(diǎn)承擔(dān)更頻繁更新的額外成本,從而提高了數(shù)據(jù)的粒度。
預(yù)言機(jī)專(zhuān)用 OFA 是平倉(cāng)的理想選擇,因?yàn)樗軒?lái)更細(xì)粒度的價(jià)格更新,最大限度地將資本返還給被平倉(cāng)的借款人,減少支付給平倉(cāng)人的協(xié)議獎(jiǎng)勵(lì),并在協(xié)議中保留從投標(biāo)人處提取的價(jià)值,以便重新分配給用戶(hù)。它們還在一定程度上 - 盡管并不完全 - 解決了搶先交易和套利問(wèn)題。在完全競(jìng)爭(zhēng)(perfect competition)和首價(jià)密封投標(biāo)競(jìng)價(jià) (first price sealed bid auction) 流程下,競(jìng)價(jià)的結(jié)果,應(yīng)是接近執(zhí)行機(jī)會(huì) 8 的區(qū)塊空間成本、由搶先交易 OEV 數(shù)據(jù)饋送中,所提取的價(jià)值,以及因喂價(jià)更新的價(jià)格粒度增加,而減少所產(chǎn)生的套利機(jī)會(huì)。
目前,要實(shí)施預(yù)言機(jī)專(zhuān)用的 OFA,要么需要加入第三方競(jìng)價(jià)服務(wù)(如 OEV-Share),又或構(gòu)建一個(gè)競(jìng)價(jià)服務(wù)作為應(yīng)用程序的一部分。受 Flashbots 的啟發(fā),API3 利用 OEV 中繼器 (OEV relay) (圖 5)作為于設(shè)計(jì)上執(zhí)行 DoS 保護(hù)服務(wù)的 API 來(lái)進(jìn)行競(jìng)價(jià)。該中繼器負(fù)責(zé)收集來(lái)自預(yù)言機(jī)的元交易、整理和聚合搜索者的出價(jià),并以無(wú)信任方式重新分配收益,而無(wú)需控制出價(jià)。當(dāng)搜索者中標(biāo)時(shí),更新數(shù)據(jù)源只能依靠將出價(jià)金額轉(zhuǎn)移到協(xié)議擁有的代理合約,然后代理合約會(huì)用中繼器提供的簽名數(shù)據(jù)更新價(jià)格源。
圖 5:API3 的 OEV 中繼器
另外,協(xié)議也可以放棄中間人,建立自己的競(jìng)價(jià)服務(wù),獲取從 OEV 的所有提取價(jià)值。BBOX 就是一個(gè)即將推出的協(xié)議,它希望將競(jìng)價(jià)嵌入其平倉(cāng)機(jī)制,以獲取 OEV,并將其返還給應(yīng)用程序及其用戶(hù) 9。
運(yùn)行中央節(jié)點(diǎn)或 Keeper
源于第一波永續(xù)合約去中心化交易所打擊 OEV 的一個(gè)早期想法,是運(yùn)行一個(gè)集中式 Keeper 網(wǎng)絡(luò) ( 守門(mén)人網(wǎng)絡(luò) ),聚合從第三方來(lái)源(如中心化交易所)收到的價(jià)格,然后利用類(lèi)似 Chainlink 的數(shù)據(jù)饋送作為應(yīng)變方案或斷路器。這種模式在 GMX v110 及其后續(xù)的許多分叉中都得到了推廣,其主要價(jià)值主張?jiān)谟?,由?Keeper 網(wǎng)絡(luò)由單一運(yùn)營(yíng)商運(yùn)行,因此可以絕對(duì)防止搶先交易。
雖然這解決了上述許多問(wèn)題,但明顯地有中心化顧慮。中心化的 Keeper 系統(tǒng),可以于未適當(dāng)驗(yàn)證定價(jià)來(lái)源和聚合方法之下決定執(zhí)行價(jià)格。在 GMX v1 的案例中,Keeper 并不是一個(gè)鏈上或透明的機(jī)制,而是于中心化服務(wù)器上運(yùn)行團(tuán)隊(duì)地址簽署的程序。 Keeper 的核心作用不僅是執(zhí)行訂單,而且是根據(jù)自己的預(yù)設(shè)定義「決定」交易價(jià)格,無(wú)法驗(yàn)證所使用的執(zhí)行價(jià)格的真實(shí)性或來(lái)源。
解決上述由單一操作員的 Keeper 網(wǎng)絡(luò)所帶來(lái)的中心化風(fēng)險(xiǎn),是利用第三方服務(wù)提供商建立一個(gè)更加去中心化的自動(dòng)化網(wǎng)絡(luò)。 Chainlink Automation 就是這樣一個(gè)產(chǎn)品,它與 Chainlink Data Streams - 即是一個(gè)全新的拉取式、低延遲預(yù)言機(jī) - 共同提供這項(xiàng)服務(wù)。該產(chǎn)品最近剛剛發(fā)布,目前還處于閉門(mén)測(cè)試階段,但 GMX v211 目前已經(jīng)在使用該產(chǎn)品,它可以作為采用這種設(shè)計(jì)的系統(tǒng)的參考。
從高層次來(lái)看,Chainlink 數(shù)據(jù)流由三個(gè)主要部分組成:數(shù)據(jù) DON(去中心化的預(yù)言機(jī)網(wǎng)絡(luò))、自動(dòng)化 DON 和鏈上驗(yàn)證合約 12。數(shù)據(jù) DON 是一個(gè)鏈下數(shù)據(jù)網(wǎng)絡(luò),其架構(gòu)類(lèi)似于 Pythnet 維護(hù)和聚合數(shù)據(jù)的架構(gòu)。自動(dòng)化 DON 是由數(shù)據(jù) DON 的相同節(jié)點(diǎn)操作員保護(hù)的守護(hù)者網(wǎng)絡(luò),用于從鏈上數(shù)據(jù) DON 提取價(jià)格。最后,驗(yàn)證器合約用于驗(yàn)證鏈下簽名是否正確。
圖 6:Chainlink 數(shù)據(jù)流架構(gòu)
上圖展示了調(diào)用開(kāi)放交易功能的交易流程,其中自動(dòng)化 DON 負(fù)責(zé)從數(shù)據(jù) DON 獲取價(jià)格并更新鏈上存儲(chǔ)。目前,直接查詢(xún)數(shù)據(jù) DON 的端點(diǎn)僅限于白名單用戶(hù),因此協(xié)議可以選擇將 Keeper 維護(hù)工作卸載給自動(dòng)化 DON(Automation DON),或運(yùn)行自己的 Keeper。但隨著產(chǎn)品開(kāi)發(fā)生命周期的推移,預(yù)計(jì)這將逐步轉(zhuǎn)變?yōu)闊o(wú)權(quán)限結(jié)構(gòu)。
在安全層面上,依賴(lài)自動(dòng)化 DON 的信任假設(shè),與單獨(dú)使用數(shù)據(jù) DON 的信任假設(shè)相同,這是對(duì)單一 Keeper 設(shè)計(jì)的重大改進(jìn)。不過(guò),如果將喂價(jià)更新權(quán)交給自動(dòng)化 DON,那么價(jià)值提取的機(jī)會(huì)就只能留給 Keeper 網(wǎng)絡(luò)中的節(jié)點(diǎn)。這反過(guò)來(lái)又意味著,該協(xié)議將信任鏈克節(jié)點(diǎn)運(yùn)營(yíng)商(主要是機(jī)構(gòu))維護(hù)其社會(huì)聲譽(yù),不搶先用戶(hù)進(jìn)行操作,這類(lèi)似于信任 Lido Node 節(jié)點(diǎn)運(yùn)營(yíng)商因要維護(hù)其聲譽(yù),不會(huì)因其市場(chǎng)份額大,而壟斷區(qū)塊空間。
拉取式: 延遲結(jié)算
Synthetix perps v2 中最大的變化之一,是為永續(xù)合約結(jié)算 13 引入了 Pyth 喂價(jià)。這使得訂單可以以 Chainlink 或 Pyth 價(jià)格結(jié)算,前提是它們的偏差不超過(guò)預(yù)定義的閾值,并且時(shí)間戳通過(guò)了期效檢查。然而,如上所述,僅僅改用基于拉取式預(yù)言機(jī)并不能解決所有協(xié)議的 OEV 相關(guān)問(wèn)題。要解決搶先交易,可以延遲訂單的形式引入「最后查看」定價(jià)機(jī)制,在實(shí)踐中,這將用戶(hù)的市場(chǎng)訂單分為兩個(gè)部分:
這種實(shí)施方式不會(huì)讓用戶(hù)有機(jī)會(huì)逆向選擇在鏈上提交的價(jià)格,從而有效地解決了協(xié)議的搶先交易和套利機(jī)會(huì)。不過(guò),這種設(shè)計(jì)的折衷就是用戶(hù)體驗(yàn):執(zhí)行這個(gè)市場(chǎng)訂單需要兩個(gè)交易過(guò)程,用戶(hù)需要為 Keeper 的操作補(bǔ)償 gas,同時(shí)分擔(dān)更新預(yù)言機(jī)鏈上存儲(chǔ)的的成本。之前是 2 sUSD 的固定費(fèi)用,最近則改為基于 Optimism gas oracle + 溢價(jià)的動(dòng)態(tài)費(fèi)用,溢價(jià)將根據(jù)二層網(wǎng)絡(luò)(layer 2)活動(dòng)而變化。無(wú)論如何,這可視為犧牲交易者的用戶(hù)體驗(yàn)以提高 LP 盈利能力的一種解決方案。
拉取式: 積極結(jié)算 (Optimistic settlement)
由于延遲訂單會(huì)給用戶(hù)帶來(lái)額外的網(wǎng)絡(luò)費(fèi)用(和二層網(wǎng)絡(luò)的 DA 費(fèi)用成比例),經(jīng)過(guò)集思廣益,我們?cè)贁M出了另一種訂單結(jié)算模式,稱(chēng)之為「積極結(jié)算」,這種模式有可能降低用戶(hù)的成本,同時(shí)維護(hù)去中心化以及協(xié)議的安全性。顧名思義,這種機(jī)制允許交易者以原子方式執(zhí)行市場(chǎng)交易,系統(tǒng)會(huì)積極地接受所有價(jià)格,并為搜索者提供一個(gè)窗口,讓他們提交證據(jù),證明惡意下達(dá)的訂單。本節(jié)概述了這構(gòu)思的不同版本、我們的思考過(guò)程以及仍未解決的問(wèn)題。
我們最初的想法是建立一種機(jī)制,讓用戶(hù)在開(kāi)立市場(chǎng)訂單時(shí)通過(guò) parsePriceFeedUpdates 提交價(jià)格,然后允許用戶(hù)或任何第三方使用喂價(jià)數(shù)據(jù)提交結(jié)算交易,并在交易確認(rèn)時(shí)以該價(jià)格完成交易。結(jié)算時(shí),兩個(gè)價(jià)格之間的任何負(fù)差都將作為滑點(diǎn)計(jì)入用戶(hù)的損益表。這種方法的優(yōu)點(diǎn)包括減輕用戶(hù)的成本負(fù)擔(dān),和降低搶先交易的風(fēng)險(xiǎn)。用戶(hù)不必再負(fù)擔(dān)獎(jiǎng)勵(lì)守們?nèi)说囊鐑r(jià),而且由于在提交訂單時(shí)不知道結(jié)算價(jià)格,搶先交易的風(fēng)險(xiǎn)仍可控。不過(guò),這仍引入了兩步的結(jié)算流程,而這正是我們?cè)?Synthetix 的延遲結(jié)算模式中發(fā)現(xiàn)的缺點(diǎn)之一。在大多數(shù)情況下,如果下單和結(jié)算期間的波動(dòng)性,不超過(guò)系統(tǒng)界定的可盈利搶先交易閾值,那額外的結(jié)算交易可能就是多余的。
規(guī)避上述問(wèn)題的另一種解決方案是,允許系統(tǒng)積極地接受訂單,然后開(kāi)放一個(gè)無(wú)權(quán)限的質(zhì)疑期,在該期間可以提交證據(jù),證明價(jià)格時(shí)間戳和區(qū)塊時(shí)間戳之間的價(jià)格偏差允許進(jìn)行有利可圖搶先交易。
具體操作如下:
這種模式有兩個(gè)優(yōu)點(diǎn):減輕了用戶(hù)的成本負(fù)擔(dān),用戶(hù)只需在同一筆交易中為訂單創(chuàng)建和預(yù)言機(jī)更新支付 gas 費(fèi)用,而不需要額外的結(jié)算交易。它還能阻止搶先交易,保護(hù)流動(dòng)池的完整性,確保有一個(gè)健康的 Keeper 網(wǎng)絡(luò),有經(jīng)濟(jì)獎(jiǎng)勵(lì)措施向系統(tǒng)提交證明,證明其搶先。
然而,在將這一想法付諸實(shí)踐之前,還有一些問(wèn)題有待解決:
中科輔助處理器 (ZK Co-processors)- 另一種形式的數(shù)據(jù)消耗
另一個(gè)值得探索的方向是使用 ZK 輔助處理器,這種輔助處理器旨在獲取鏈上狀態(tài)以于鏈下進(jìn)行復(fù)雜計(jì)算,并與此同時(shí)提供計(jì)算執(zhí)行方式的證明;這種方式可無(wú)權(quán)限地驗(yàn)證。 Axiom 等項(xiàng)目使合約能夠查詢(xún)歷史區(qū)塊鏈數(shù)據(jù),在鏈下執(zhí)行計(jì)算,并提交 ZK 證明,證明計(jì)算結(jié)果是根據(jù)有效的鏈上數(shù)據(jù)正確計(jì)算得出的。輔助處理器開(kāi)啟了一種可能性,利用多個(gè) DeFi 原生流動(dòng)性來(lái)源(如 Uniswap + Curve)的歷史價(jià)格構(gòu)建具有操縱彈性的自定義 TWAP 預(yù)言機(jī)。
與目前只能獲得最新資產(chǎn)價(jià)格數(shù)據(jù)的傳統(tǒng)預(yù)言機(jī)相比,ZK 輔助處理器將擴(kuò)大以安全方式提供給 dApp 的數(shù)據(jù)范圍(Pyth 確實(shí)提供了 EMA 價(jià)格,供開(kāi)發(fā)人員用作最新價(jià)格的參考檢查)。這樣,應(yīng)用程序就可以引入更多與歷史區(qū)塊鏈數(shù)據(jù)協(xié)同工作的業(yè)務(wù)邏輯,以提高協(xié)議安全性或增強(qiáng)用戶(hù)體驗(yàn)。
不過(guò),ZK 輔助處理器仍處于開(kāi)發(fā)初期,當(dāng)中仍存在一些瓶頸,例如:
解決這一問(wèn)題的另一種思路是,通過(guò)從頭開(kāi)始設(shè)計(jì)一個(gè)基元,消除對(duì)外部喂價(jià)的需求,從而解決 DeFi 對(duì)預(yù)言機(jī)依賴(lài)性。這一領(lǐng)域的最新發(fā)展是利用各種 AMM LP 代幣作為定價(jià)手段,其核心理念是恒定函數(shù)做市商的 LP 倉(cāng)位是代表兩種資產(chǎn)預(yù)設(shè)權(quán)重的代幣,并有這兩種代幣的自動(dòng)定價(jià)公式(即 xy=k)。通過(guò)利用 LP 代幣(作為抵押品、貸款基礎(chǔ),或在最近的使用案例中,將 v3 LP 倉(cāng)位移動(dòng)到不同的刻度點(diǎn)),該協(xié)議可以獲取通常需要從預(yù)言機(jī)所獲取的信息。由此,新一波趨勢(shì) - 免于所述挑戰(zhàn)的無(wú)預(yù)言機(jī)方案都得以實(shí)現(xiàn)。建基于此方向的應(yīng)用實(shí)例包括:
Panoptic 正構(gòu)建永久、無(wú)預(yù)言機(jī)的期權(quán)協(xié)議,所利用的是 Uniswap v3 集中流動(dòng)性倉(cāng)位。由于當(dāng)現(xiàn)貨價(jià)格超過(guò) LP 倉(cāng)位的上限范圍時(shí),集中流動(dòng)性倉(cāng)位會(huì) 100% 轉(zhuǎn)換成基礎(chǔ)資產(chǎn),因此流動(dòng)性提供者的回報(bào)與認(rèn)沽期權(quán)的賣(mài)家回報(bào)非常相似。因此,期權(quán)市場(chǎng)的運(yùn)作是流動(dòng)性提供者存入 LP 資產(chǎn)或倉(cāng)位,期權(quán)買(mǎi)方和賣(mài)方借入流動(dòng)性并將其移入或移出范圍,從而產(chǎn)生動(dòng)態(tài)的期權(quán)回報(bào)。由于貸款是以 LP 倉(cāng)位計(jì)價(jià),因此結(jié)算時(shí)不需要預(yù)言機(jī)。
Infinity Pools 正在利用 Uniswap v3 的集中流動(dòng)性倉(cāng)位,建立一個(gè)無(wú)平倉(cāng)、無(wú)預(yù)言機(jī)的杠桿交易平臺(tái)。 Uniswap v3 的流動(dòng)性提供者可以借出他們的 LP 代幣,交易者存入一些抵押品,借用 LP 代幣并贖回其定向交易的相關(guān)資產(chǎn)。贖回時(shí)的貸款將以資產(chǎn)基礎(chǔ)或報(bào)價(jià)資產(chǎn)計(jì)價(jià),具體取決于贖回時(shí)的價(jià)格,并可直接通過(guò)檢查 Uniswap 上的 LP 組成計(jì)算,消除了對(duì)預(yù)言機(jī)的依賴(lài)。
Timeswap 正在建立一個(gè)固定期限、無(wú)平倉(cāng)、無(wú)預(yù)言機(jī)的借貸平臺(tái)。它是一個(gè)由貸方、借方和流動(dòng)性提供者組成的三方市場(chǎng)。與傳統(tǒng)借貸市場(chǎng)不同,它采用的是「時(shí)間基礎(chǔ)」(time-based)的清算,而不是「價(jià)格基礎(chǔ)」(price-based)的平倉(cāng)。在去中心化交易所,流動(dòng)性提供者被自動(dòng)設(shè)定為總是向賣(mài)方買(mǎi)入,向買(mǎi)方賣(mài)出;而在 Timeswap 中,流動(dòng)性提供者總是向借方貸款,向貸方借款,在市場(chǎng)中扮演類(lèi)似的角色。他們還負(fù)責(zé)承擔(dān)貸款違約責(zé)任,并優(yōu)先獲得被沒(méi)收的抵押品作為補(bǔ)償。
定價(jià)數(shù)據(jù)仍然是許多去中心化應(yīng)用的重要部分,而隨著時(shí)間的推移,預(yù)言機(jī)所獲得的總價(jià)值也在不斷增加,進(jìn)一步肯定其產(chǎn)品與市場(chǎng)的契合度 (p 產(chǎn)品市場(chǎng)契合度)。本文旨在讓讀者得悉并概述我們目前面臨的 OEV 相關(guān)挑戰(zhàn),以及基于推送式、拉取式和使用 AMM 流動(dòng)性提供者或鏈下輔助處理器的其他設(shè)計(jì),其實(shí)施方案中的設(shè)計(jì)空間。
我們很高興看到充滿(mǎn)活力的開(kāi)發(fā)者期望解決這些棘手的設(shè)計(jì)難題。如果您也在這領(lǐng)域開(kāi)展顛覆性的項(xiàng)目,我們很樂(lè)意聽(tīng)取您的意見(jiàn)!
參考文獻(xiàn)和致謝
OEV Litepaper https://drive.google.com/file/d/1wuSWSI8WY9ChChu2hvRgByJSyQlv_8SO/edit
Frontrunning on Synthetix: A History by Kain Warwick https://blog.synthetix.io/frontrunning-synthetix-a-history/
?https://snapshot.org/#/rook.eth/proposal/0x523ea386c3e42c71e18e1f4a143533201083655dc04e6f1a99f1f0b340523c58
https://docs.pyth.network/documentation/pythnet-price-feeds/on-demand
https://docs.pyth.network/documentation/solana-price-feeds/best-practices#latency
Aave liquidation figures https://dune.com/queries/3247324
https://drive.google.com/file/d/1wuSWSI8WY9ChChu2hvRgByJSyQlv_8SO/edit
https://twitter.com/bboexchange/status/1726801832784318563
https://gmx-io.notion.site/gmx-io/GMX-Technical-Overview-47fc5ed832e243afb9e97e8a4a036353
https://gmxio.substack.com/p/gmx-v2-powered-by-chainlink-data
https://docs.chain.link/data-streams
https://sips.synthetix.io/sips/sip-281/
感謝 Jonathan Yuen 和 Wintersoldier 的貢獻(xiàn)和對(duì)談,為本文貢獻(xiàn)良多。
感謝 Erik Lie、Richard Yuen(Hailstone)、Marc、Mario Bernardi、Anirudh Suresh(Pyth)、Ugur Mersin(API3 DAO)和 Mimi(Timeswap)的寶貴意見(jiàn)、反饋和審查。
https://defillama.com/oracles (14 Nov)
??
定義: 推送式與拉取式預(yù)言機(jī)
推送式預(yù)言機(jī)器于在 P2P 網(wǎng)絡(luò)中維持鏈下價(jià)格,以及維持根據(jù)預(yù)先定義的鏈上節(jié)點(diǎn)更新價(jià)格。以 Chainlink 為例,價(jià)格更新基于兩個(gè)觸發(fā)參數(shù):偏離閾值(偏差閾值)和心跳(心跳)。只要鏈下價(jià)格偏離最新鏈上價(jià)格 0.5%,或者心跳計(jì)時(shí)器 1 小時(shí)計(jì)時(shí)為零,下面的以太坊 ETH/USD 價(jià)格源就會(huì)更新。
在這種情況下,預(yù)言機(jī)運(yùn)營(yíng)商必須為每次價(jià)格更新支付交易費(fèi)用,也是于成本和可擴(kuò)展性之間的取舍。增加價(jià)格源的數(shù)量,支持額外的區(qū)塊鏈,或者增加更頻繁的更新,都會(huì)產(chǎn)生額外的交易成本。因此,具有更高觸發(fā)參數(shù)的長(zhǎng)尾資產(chǎn),無(wú)可避免地具有可靠度低的價(jià)格源。下面以 CRV/USD 為例說(shuō)明這一點(diǎn) - 為了使新的價(jià)格能夠在鏈上更新,需要 1% 的偏離閾值,心跳為 24 小時(shí),這意味著如果價(jià)格在 24 小時(shí)內(nèi)未偏離超過(guò) 1%,那么每 24 小時(shí)只會(huì)有一個(gè)新的價(jià)格更新。直觀而言,長(zhǎng)尾資產(chǎn)的價(jià)格源缺乏細(xì)致度,將不可避免地導(dǎo)致應(yīng)用程序在為這些資產(chǎn)創(chuàng)建市場(chǎng)時(shí)需要考慮額外的風(fēng)險(xiǎn)因素,這解釋了為什么絕大多數(shù) DeFi 活動(dòng)仍圍繞著流動(dòng)性最強(qiáng)、最大市值的代幣而發(fā)生。
相比之下,拉取式預(yù)言機(jī)允許按需求將價(jià)格拉到鏈上。Pyth 是當(dāng)今最突出的例子,它在鏈下傳輸價(jià)格更新,對(duì)每次更新進(jìn)行簽名,以便任何人都能驗(yàn)證其真實(shí)性,并在 Pythnet 上維護(hù)聚合價(jià)格,Pythnet 是基于 Solana 代碼的私有區(qū)塊鏈。當(dāng)需要更新時(shí),數(shù)據(jù)通過(guò) Wormhole 傳輸,在 Pythnet 上進(jìn)行驗(yàn)證后,就可以無(wú)需權(quán)限地拉取到鏈上。
上圖描述了 Pyth 喂價(jià)的架構(gòu): 當(dāng)需要更新鏈上價(jià)格時(shí),用戶(hù)可以通過(guò) Pyth API 請(qǐng)求更新,Pythnet 上經(jīng)過(guò)驗(yàn)證的價(jià)格會(huì)被發(fā)送到 Wormhole 合約,Wormhole 合約會(huì)觀察并創(chuàng)建和發(fā)送一個(gè)處名的 VAA,該 VAA 可以在任何部署了 Pyth 合約的區(qū)塊鏈上進(jìn)行驗(yàn)證。
小編推薦下載
中國(guó)餐飲空間設(shè)計(jì)網(wǎng) 生活實(shí)用
空間幾何短跑挑戰(zhàn)賽 益智休閑
預(yù)言家 學(xué)習(xí)工具
星球探索 動(dòng)作冒險(xiǎn)
雙重探索 動(dòng)作冒險(xiǎn)
探索新西蘭 旅游出行
CF探索 生活實(shí)用
天才的挑戰(zhàn)大師 益智休閑
相關(guān)推薦
相關(guān)文章
更多>>資訊排行
同類(lèi)軟件下載
最后的預(yù)言 角色扮演
海豚協(xié)議 金融理財(cái)
DeFi Token 金融理財(cái)
夢(mèng)幻預(yù)言 角色扮演
最后的預(yù)言蘋(píng)果版 角色扮演
哈默的探索 角色扮演
預(yù)言賽 娛樂(lè)消遣
旋轉(zhuǎn)的空間 動(dòng)作冒險(xiǎn)
綠點(diǎn)協(xié)議 金融理財(cái)
熱門(mén)標(biāo)簽