作者:北辰
過去20天,GMX平均每天有930名活躍用戶交易1.1億美金,可以說是目前最成功的去中心化衍生品交易所。
我們注意到GMX的幾個競品的負責人近期針對GMX的交易機制展開批評,雖然出發點絕對不中立,但立場只能決定價值判斷,而無法左右事實判斷。
本文僅針對GMX交易機制的事實進行討論,以作爲讀者綜合判斷GMX的參考信源。
0滑點帶來外部攻擊
GMX有一個優勢,那就是0滑點。這意味着你交易1美金的代幣與交易1億美金的代幣的價格是一樣的,都是交易時預言機的喂價。
0滑點對交易者天然具有吸引力,尤其是大額交易者。一個不太恰當但很形象的比喻是,相當於你擁有讓時間靜止的超能力,然後去跟人打架……
而GMX的機制是交易者與LP互爲對手方,交易者賺錢,意味着LP虧錢,因此LP是不被保護的。
最早公開懷疑0滑點機制潛在風險的是ZigZag的創始人Taureau,這是一個基於ZK Rollups的去中心化交易所,他於9月2日在Youtube上表示,GMX的交易模式有漏洞,他很懷疑這種模式能否長期持續,因爲trader如果利用漏洞就很容易賺GLP代幣持有者的錢。
9月18日,GMX確實遭遇了價格操縱攻擊,攻擊者利用GMX的最小价差和0滑點的特性對AVAX/USD進行價格操縱,賺取了56.5萬美元的AVAX。
價格操縱攻擊事件發生後,Joshua Lim在Twitter上分析了攻擊的步驟,他是機構數字資產服務商Genesis的衍生品交易部門負責人。
根據Joshua Lim的分析,攻擊者在GMX上以預言機的喂價反覆開大量多頭和空頭的頭寸(由於GMX是0滑點,因此預言機的喂價約等於執行價),但是GMX上的大額頭寸會影響到其它交易所的AVAX/USD價格,然後預言機才反應過來並喂價給GMX,此時攻擊者平倉盈利。
這裏舉一個更誇張的假設可能更形象。
你在GMX上做多10億美金的AVAX,照理說這麼大的資金量會拉高你實際交易的價格,但GMX的機制是0滑點,所以你還是按照預言機的喂價來開倉。但這個體量的交易會拉高其它交易所上AVAX的價格,假設漲了20%,預言機纔會把最新的價格反饋到GMX上,此時你就可以按AVAX漲了20%的價格來平倉,並把賺到的AVAX提取到其它交易所賣出。你賺到的AVAX,就是GLP持有者虧損的AVAX。
所以此次攻擊是「合理但惡意」地利用GMX的交易機制,未來是否還會遇到類似的攻擊?目前來看,唯一的避免方式就是取消0滑點機制。
不過還有一種修正方式,那就是限額,但只是增加了攻擊者的操作步驟(多用幾個錢包來開倉),並沒有從根本上解決。
Keeper引出內部作惡?
0滑點帶來外部攻擊是已經被事實驗證過的,但GMX依賴的keeper機制來作惡的事件目前並沒有發生,我們只能說就keeper機制而言,團隊的確有作惡的權限。
GMX的交易流程並不是在你發起交易後,由智能合約按預言機的喂價自動執行,而是所有的交易請求都要經過keeper來統一執行,這樣確實效率更高,但代價是keeper有權限在預言機價格的0.12%幅度以內執行。而且最大偏差達到2.5%纔會觸發強制執行,價格在Keeper的價格和預言機的價格之間。
GMX爲了監督keeper不篡改預言機的價格,還有watcher節點來驗證,但正如上所述,如0.12%這種幅度的偏差是完全合規的,因此keeper可以非常隱蔽地竊取資產(例如只比公允價格差0.1%),他可以向交易者竊取,也可以向LP竊取,只要偏差足夠小,就不會被發現。
當然,這只是一種可能性,並不意味着keeper真的會作惡,是否信任keeper是一回事,但我們必須要清楚地知道,keeper的權力並沒有關進制度的籠子裏。
GMX的另一個競品Deri Protocol的創始人0xAlpha在一篇題爲《GMX,一個可能作惡的“AMM”》中表示,無法從外部驗證他們有沒有作惡,但這不重要,重要的是crypto世界裏最基本價值觀也是最大的進步就是從「不作惡」轉變爲「不能作惡」,所以這種依靠掌權者的善意來運作的系統,不應該屬於crypto世界。
總結
針對GMX的0滑點招致外部攻擊,在取消0滑點之前,可能還會有類似攻擊,畢竟0滑點意味着交易者在任何時刻都擁有無限流動性。
針對GMX的keeper機制給團隊內部作惡的權限,如果以最壞的惡意去揣測,就是“身懷利器,殺心自起”。
當然,本文不能當作投資意見,因爲這只是一種可能性。
