DeFi世界缺失的拼圖:一個鏈上價格信息的預言機

一個真正公平和可自我運營的 DeFi 世界需要一個準確、快速、無偏的且能抵抗價格操縱的價格預言機。Uniswap所採用的自動定價機制曾讓我們眼前一亮,利用產生價差時投機者的套利心理又可以讓Uniswap上的價格始終保持和主流交易所價格的同步。但如果你擁有足夠的籌碼,想要在短時間內操縱Uniswap的價格來為自己謀利還是有很大幾率可以成功的。那麼,有沒有一種同樣無需中間主體干預的穩定價格信息的機制呢?

對於智能合約而言,來源於鏈上的資產價格是否可信非常重要。例如需要評估抵押品的貸款協議或需要重新平衡投資組合的資產管理協議,他們首先都需要獲得準確的價格信息。可惜目前市場上的價格要麼被單一方面控制,要麼缺乏適當的激勵機制來保持價格準確。

Polaris 是一個以 Uniswap 為基礎,旨在使價格更加準確、防止價格操縱以及自主維持價格的鏈上預言機。


DeFi世界缺失的拼圖:一個鏈上價格信息的預言機


1

Uniswap

Uniswap是一個去中心化的交易所以及一個自動化的做市商。它並不是將買賣雙方通過訂單簿匹配,而是從做市商那裡收集流動性,並使用算法來設定價格。像Uniswap這樣的自動做市商的價格是接近市場價格,因為只要存在價差,就會創造套利的機會,隨後價格就會迅速被修正。

可惜,因為在一個區塊內操縱Uniswap中某些token價格的攻擊成本非常之低,我們還不能盲目認為 Uniswap 的現貨價格就是真正的價格。

我們來考慮一種叫三明治攻擊“sandwich attack”的情況:

  • 攻擊者在Uniswap上出售token以操縱價格;
  • 此時價格已經偏離準確價格了,攻擊者會依據一個貸款協議來清償貸款,該份協議使用Uniswap上的價格來評估抵押品的價值;
  • 攻擊者回購之前出售的所有token

也就是說攻擊者通過出售token來使抵押品價值被低估,並在此時清償之前以該token為抵押品的貸款,再通過回購抵消出售token時的損失。貸款協議一般也是通過以太坊上的智能合約完成的。整個攻擊過程必須在短時間內完成,只要操作的速度夠快,就不會過多受到別人通過價差套利的影響。


DeFi世界缺失的拼圖:一個鏈上價格信息的預言機


由於攻擊者只需要支付交易費用,而不需要維持被操縱的價格,因此這樣的攻擊非常有利可圖。同樣的事情也可以通過智能合約在單個交易中發生。當年,索羅斯也曾用類似的方法做空泰銖。

2

Polaris

為了提高攻擊的成本,Polaris 從 Uniswap 上選取一些價格“監測點”來算出價格的中位數。通過提高操縱價格所需要進行的交易次數,來提高操縱價格的時間和經濟成本。這個解決方案為了抵抗操縱價格的行為,在價格的活躍性上做了一個小小的妥協。

Polaris的設計使得維持準確價格的成本更低,而攻擊的成本則更高。那麼,Polaris是如何來確定價格的呢?

Polaris的定價主要依據兩條規則:

  • 返回前15個“監測點”價格的中位數作為實際價格
  • 如果在3.5分鐘也就是15個區塊內出現了多個被記錄的“監測點”,則選取它們的中位數

當Uniswap價格發生正常變化時,預言機將在最多8個“監測點”之後反映新價格,每3.5分鐘會記錄一個“監測點”。在攻擊場景中,如果存在誠實的“監測點”來防禦攻擊,攻擊者就必須在單個時間段內多次交易來使得異常價格被記錄。攻擊者在每次價格操縱中都會損失數千美元的交易費用,成功的機會不確定,而記錄誠實“監測點”的價格卻並不貴。

此外,Polaris不允許智能合約本身賬戶被登記為“監測點”,以防止“sandwich attack”。

3

激勵機制

Polaris利用一系列激勵措施鼓勵第三方參與者定期監測價格並保持準確的價格反饋。為了獎勵這些用戶,Polaris會每月向智能合約開發者收取訂閱費,來讓他們可以獲得預言機給出的價格。因為我們將會把預言機用於擔保貸款協議,目前Marble是第一個訂閱ETH-DAI交易對價格的付費用戶。

第三方被鼓勵在以下條件下修正預言機產生的價格:

  • Uniswap上當前的價格與前15個“監測點”價格的中位數相差1%以上
  • Uniswap上當前的價格與過去3.5分鐘內所有“監測點”價格的中位數相差1%以上
  • Uniswap上的當前價格與上一個“監測點”的價格相差1%以上
  • 上次“監測點”價格被記錄已超過3小時

預言機會發行token來獎勵滿足上述條件時對價格進行修正的用戶,用戶可以使用獲得的token兌換該系統的收入。

4

效果分析

我們用自2019年1月1日起Uniswap上DAI/ETH價格對預言機的表現進行了回溯測試。我們發現,僅通過“監測點”被獎勵的修正行為,預言機就可以密切跟蹤Uniswap的價格。


DeFi世界缺失的拼圖:一個鏈上價格信息的預言機


(上圖為Uniswap現貨價格、OasisDEX交易所價格以及預言機給出的價格的對比)

正如預期的那樣,當價格快速下跌時,預言機的價格變動落後於Uniswap的現貨價格:


DeFi世界缺失的拼圖:一個鏈上價格信息的預言機


(上圖為預言機在ETH2月24日大跌12%時的表現)

然而,在僅僅10分鐘後,它就很快被修正到市場價格。

根據平均每次修正約需要20萬gas、5Gwei的gas價格以及歷史上的ETH/DAI在Uniswap上的波動率,被獎勵的修正價格的參與者共同維護預言機的預計年成本為20 ETH。

一個真正公平和可自我運營的 DeFi 需要一個準確、快速、無偏的且能抵抗價格操縱的價格預言機。Polaris這是實現這一目標的第一次嘗試,正如Polaris的中文含義“北極星”:它希望成為一顆指引道路的明星。


分享到:


相關文章: