分散式課堂:關於可計算金融應用於Defi預言機的分享

買賣虛擬貨幣
預言機一般被認為是去中心化協議和區塊鏈外部資料之間的橋樑,而預言機在Defi領域主要承擔的是報價功能。那麼,目前的Defi預言機真的能實現精準報價嘛?此次,分散式課堂第二期請來了NEST社羣COFI研究員James,為大家講述可計算金融技術:究竟什麼樣的公式能讓預言機報價更加精準,為做市商和使用者最小化風險?

James, 堅定的區塊鏈信仰者,專注去中心化原生資產及計算金融的研究,以區塊鏈世界觀看待外部世界,堅信未來人類社會財富將逐漸轉移到去中心化資產上來。

中心化資產跟我們現實世界的資產有什麼區別呢?區別是形成的去中心化資產是現實世界的大類資產複製不了的。你不可能用已有的大類資產複製出去中心化資產的風險收益結構。

那麼從金融學的角度來講,金融學要乾的是什麼?總的來說,就是應對人類的各種不確定性。每一個不確定性對應的一種風險收益結構。每當你發現了一種新的風險收益結構,並且把所對應的資產或者是產品做出來,一定會消除全人類在資產配置上面的風險。

最簡單易懂的就是在波動率風險。比如馬科維茨資產組合理論,如果把兩種相互不關聯的資產放在一起,在不改變收益結構情況下,就可以降低他們的波動率,達到改善投資風險的目的。去中心化資產的目標就是消除全人類的不確定性。

可信性和可用性

這裡面有兩個變數,一個叫可信性,一個叫可用性。可用性是消除普通人的不確定性。可信性是消除人類的不確定性。BTC沒有在可用性上花錢,而是每年花兩百億的電費在解決可信性問題。那麼,可用性誰來解決呢?可能是比特幣持有者來解決的,他們向普通人宣傳比特幣是怎麼回事,讓這些不懂比特幣的人懂比特幣。中本聰創造出比特幣的目的就是提出全新的風險收益結構,來消除整個人類的不確定性。

在整個去中心化的市場裡,只要引入了一箇中心化機構,你的風險收益結構某種程度上是跟股權差不多了。這相當於複製一個“比特幣+股權”,並沒有創造出全新的東西來。這就是我為什麼要將專案做到如此去中心化的原因。這裡我們也要提到最近特別火的Defi。

Defi目前的問題:第一,專案的風險是不可量化和不可計算的;第二,Defi很難在鏈上沉澱出去中心化資產。如果不能在鏈上沉澱出去中心化資產,這個Defi專案最終可能就是一張計算合約。計算合約指的是,你不管怎麼計算,資訊量也不會增加。計算的意義只是讓雜亂的資訊編碼成為通俗易懂的東西。這過程中,它並沒有消除人類的不確定性,當然它可能消除了某些特定人群的不確定性。

如果說Defi專案無法沉澱出去中心化資產,指的是大家競爭到極致的時候,都收不到費。比特幣實現了一種transfer函式的可信,實現了轉賬的功能。以太坊把這個transfer函式進行拓展,變成了邏輯函式。目前這個邏輯函式一個特點是,所有的計算是在多項式時間和資源之內完成。因為它要消耗資源,所以必須要在給定時間內終止。

資產定價

類似於我們現實世界裡面的很多問題,資產定價也是很難的問題。比如說:紅綠燈怎麼設計?最優交通網路問題?最優社交網路的問題?最優商業網路問題?這些涉及到網路的問題都是複雜問題。

資產定價就是一個最優價格的計算問題。這個問題不是P計算能解決的。以太坊不能夠用智慧合約就給資產定價。因此沒有預言機,以太坊只能做這三件事:交易(Uniswap)、穩定幣(USDT)以及ETH-wETH互相轉換。這是p 函式的侷限決定的。

考慮到資產定價這麼複雜的計算很難在鏈上完成,那麼就要形成一種新的機制,讓它逼近這個結果。於是我們就構建了這樣一種方案:假設沒有外部市場的情況下,如何逼近這個價格;或者有外部市場的情況下,如何把這個鏈下價格傳遞上去。

如果鏈上有個NP問題的計算結果,對於整個生態系統而言,它增加了資訊量,提供了全新的資訊。重要之處在於它不斷地拓展區塊鏈的邊界,只有邊界得到拓展,才能真正成為實質性的進步。如果整個網路只是往橫向進步,例如程式設計速度更快點,區塊再大點,這都稱不上是實質性進步。其實我們對區塊鏈很多認知是需要調整的。

如果從消除人類的不確定來說,沒有必要人人都要驗證賬本。我們只要開放,讓人人都可以具備驗證賬本的權力就行了。類比到Layer1和Layer2,Layer 2是消除普通人的不確定性,而Layer1是創造出新的價值,開發者可以討論如何提升區塊大小、改善打包時間等。

那麼,在這個背景之下,NEST要做什麼?第一個是NEST要形成更多更新的去中心化風險收益結構。第二個是它要拓展區塊鏈功能,使得原來區塊鏈上不能完成的事情現在可以完成了,當然這一切必須保持去中心化。

在引用NEST的預言機時,就產生了一系列的副產品。第一個非常重要的副產品就是在引用價格時,讓風險變得可計算。在信用風險被剝離後,整個計算結果是相對較為準確的。這裡的信用風險主要指的是,在排除專案風險以後的主體風險。主體風險一般是很難透過計算得出。比如說,這個專案最終能夠產生多少現金流,失敗的概率是多少這些都可以計算分析,但問題是主體捲款潛逃了怎麼辦?其實這體現了系統的不完備性。

區塊鏈將信用風險剝離掉以後(透過去中心化的方式),只剩下流動性風險和波動性風險。由於流動性是區塊鏈所具備的天然有優勢,所以這裡暫且不去說它。波動率風險是可以計算的,它有很強的理論依據。實際上在70年代,薩繆爾森、布萊克、默頓、法瑪等人就將相關的金融思想提出來:歷史上的模型對這個風險研究得那麼透徹,而這些風險都可以定價。難道不能自動化地管理這些風險嘛?

然後這些思想都被對沖基金學去了,並形成了很多全新的投資模型和風險管理模型。最典型的就是當時的長期資本管理公司。雖然他們建立了很精妙的模型,但最終輸在了主體風險不可計算上面:俄羅斯違約了。

現在我們都談論Alpha Go戰勝圍棋等等人工智慧的話題。其實這個夢想在圖靈時代就有了。儘管人工智慧的發展斷斷續續,然而夢想卻依然存在。儘管可計算的模型會受制於主體風險,但在去中心化的區塊鏈領域卻不用擔心這種風險(至少邏輯上如此)。在沒有信用主體風險且不考慮市場無效的情況下,讓風險管理演算法化真正變得可能,顯然比長期資比本管理公司所面臨的那個時代要好很多。

風險管理可計算是不是能在鏈上去完成?

其實,Defi簡單的說就是交易、利率、正證券/負證券,就這三個結構非常粗糙地對金融做的一個劃分。

一個學科最重要的東西有兩個:一是基本概念。每一個基本概念的討論可能就要花上百年。且每一個概念的形成都要經過千錘百煉。第二個是這個概念必須推動形成這個領域的理論制高點。如果這個理論等於常識,這個學科就沒有意義了。

中本聰在設計區塊鏈架構的時候,計算/儲存/通訊這些功能及相關技術都有。當時,數字貨幣要解決雙花問題,即“錢用了一次,不能用第二次”。其實,零知識證明/同態加密這些方案都討論過,卻解決不了雙花問題。去中心化不光是分散式,不是說我把活分配給你們,而是讓你們自覺地上傳些東西並自動組合起來。

現在來看,比特幣這個結構有點低效:無論在計算、資訊儲存還是通訊方面都做得非常冗餘。冗餘指的是多臺計算機重複執行相同的計算,並重復儲存相同的資料。冗餘的架構會導致很難完成撮合交易(即資產定價非常困難),因為它很難靠函式或者投票來解決。

從市場的角度來看,撮合交易是現代經濟裡資訊互動的極致。交易並不適合在鏈上去進行撮合。換而言之,一旦撮合交易在鏈上可行了,那鏈下交易所的優勢會更大。這是一個相對優勢的問題。

撮合交易的微觀市場結構究竟有哪幾類交易者?第一級叫做內幕交易者,二是資訊交易者,三是做市商,四是價值交易者,五是噪音交易者。這裡著重講一下資訊交易者。資訊交易者指的是,擁有者所獲取的資訊佔有優勢,他每時每刻都要基於自己掌握的資訊對這個資產的價格進行折現。比如說,他每收到新資訊,就會告訴你這個價格變化是多少。這些資訊擁有者對於交易的渴望和對計算儲存通訊的要求都是最極致的,而且也是交易所成交量和流動性的主要提供者。

比如說,美國交易所的高頻交易者,都精確到納秒級別,而且在交易所閉市封盤的情況下,也要在外面繼續交易。因為他們覺得資訊不斷在變化,而自己具備資訊優勢,必須每時每刻對資產進行定價。對於這類人,具有計算、儲存、通訊優勢的交易所更加適合他們。比如說,有哪種資產在uniswap上具備價值了,也會被移到中心化交易所,因為資訊交易者要以此獲利,他們在這裡具備更大的優勢,也更願意提供更多的交易和流動性。

假設鏈下有個價格序列,如何在鏈上形成?

既然定價放在區塊鏈上並沒有什麼優勢,我們覺得價格計算應該在鏈下形成。區塊鏈這個系統不是為了讓你更有效率,而是為了讓你更可信。假設鏈下有個價格序列,如何在鏈上生成這個價格序列並保真?

即第一是資料的驗證和生成都要去中心化。
第二是要確保這兩個價格不出現偏差。
第三是生成機制不能被別人影響。

第四是所有價格序列的生成都會有一個延時,除非你每個區塊都有價格,這裡延時是指最新的一個生效價格和呼叫價格並完成交易的區塊間隔。

在你呼叫鏈下資料去鏈上時,首先會有的就是價格偏差。而這個偏差就是被鏈下可複製交易套利的可能性。同時延時會間接影響著價格偏差,因為不同時間對應的價格必然不同。目前Defi的預言機都未就這兩點作風險管理。其實你在uniswap上操作的時候,做市商就承擔著價格波動的風險以及被其他人套利的風險。問題是這個風險有多大以及做市商收取的費用能不能覆蓋這個風險?目前,這類預言機的模型還停留在較為粗糙的階段。

外部均衡價格的形成是一個NP問題(非多項式時間問題)。而Uniswap做的是一個P計算(這類指的是多項式時間問題:給我一個X,我輸出一個Y給你)。所以在這種情況下,在市場價格波動的時候,就一定會被別人套利。如果你保證收益能覆蓋損失,就可以形成一個均衡;然後你還需要保證均衡是穩定的,不能因為被擾動就開始偏離,就無法覆蓋損失,否則做市商就撤出了。

當鏈下資訊上傳至鏈上時,肯定會有價格偏差,那麼如何最佳化這個價格偏差?因為最小化價格偏差是非常困難的事情,於是我們想到價格偏差肯定小於等於套利成本。因此NEST預言機的機制包括了雙向期權/價格鏈/Beta係數。Beta係數就是為了對抗自成交攻擊,價格鏈是指能夠讓資訊流永遠存在,雙向期權是一種報價機制,這其中有一個驗證週期,主要是用來對抗堵塞攻擊,否則理論上可以儘可能短,並收斂到均衡價格。

有兩個成本是預言機一定會包含的,一個是gas費用,二是對沖成本。Chainlink是先使用再驗證,Nest是先驗證再使用。先使用再驗證有有幾個問題?第一個問題是,它到時候一定會出現一個不對等節點。它一定會碰到中心化問題,你抵押資產在這裡,一定會有一箇中心化物件來做處罰執行者。第二個是下游的風險抵押資產規模不匹配。100萬美金不可能支撐出一個1萬億美金的專案。即便是沒有作惡的動機,下游使用者也會擔心作惡風險。

我們社會是要求完備的,比如說法律是支援先使用再驗證(處罰)機制。但是區塊鏈無法按照我們傳統的方式來出處理。我們得先驗證再使用,把錯誤風險把控制在你使用之前。在NEST 裡,驗證機制成本是什麼?就是驗證者被套利之後,他要提供一個兩倍的報價,即驗證成本就是Beta係數*雙向期權(這裡beta =2)套利的成本就等於gas費用+對沖成本+ Beta係數*雙向期權。

那麼,套利的成本是多少?在我們對NEST的價格偏差做的統計以後,發現套利成本大概在千分之4左右。這個統計套利並不是絕對套利,而是市場價格波動下對於價格固定的計算的概率。按照現在乙太網的波動率,被套利的概率大概是7%左右。也就是100筆報價,大概有7筆被套利,實際檢測下來大概2-3筆的樣子。

堵塞攻擊是第一個變數。(所謂堵塞攻擊,是用交易佔據區塊,使其他人的交易無法打包。)預言機在防止堵塞攻擊時需要驗證25個區塊。整個以太坊礦工社羣慢慢都自覺的開始,凡是發起粉塵攻擊和堵塞攻擊,礦工知道你是惡意的會選擇不給你打包。礦工選擇打不打包是對系統不完美的修正,因為這是屬於協議未定義的。

其次,驗證週期和波動率決定了雙向期權的成本。任何驗證機制繞不開的驗證週期和波動率。在這個波動率上升的時候,NEST的價格偏差就會變得很大。比如,3月2日那天達到了千分之三的波動率。千分之三的波動率相當於A股的四五十倍。在這個波動率下,正常投資人不知道如何預測掌控它,往往束手無策,這個時候金融產品的設計應該以鏈上資訊流為基礎,而不是盯著鏈下。

其實,雙向期權+價格鏈+Beta係數這套機制可以用到傳統金融,它是把最聰明的資訊交易者和套利者放在一起進定價。如果你把最聰明的人集中在一起,就不需要那麼多人參與定價。

第二個變數就是延時。延時在NEST系統裡是靠激勵機制來降低,如果NEST價格不變,每過一個區塊報價變成過兩個區塊報價的話,那就意味著你的收益翻了一倍。不管如何堵塞,只要NEST價格不怎麼跌的話,總會有人報,因為收益率太高了。

在做市商引用NEST的價格進行交易,會有一層風險保護。這個風險保護能夠保證做市商在交易過程中,最終預期收益不虧損。因為這個價格會浮動,不管如何浮動,做市商都可能被別人套利。如果預言機把這個價格補償放進來,然後在雙方進行長期交易的時候自己不虧損,那麼雙方就是合適的。如果做市商不用這個風險函式進行保護,交易價格偏差很大,會一直虧錢直到退出。

以上就是我們對可計算金融和Defi預言機的探討。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;