GMX:一個可能邪惡的「AMM」

老雅痞 發佈 2022-10-28T20:50:07.364774+00:00

DR:- GMX依賴於一個集中的機制,即「keeper」,它完全由團隊管理。在GMX上交易是一個2步程序:1. 你下了訂單。

作者:0xAlpha

TL; DR:

  • - GMX依賴於一個集中的機制,即「keeper」,它完全由團隊管理。
  • - keeper 決定了所有的交易價格,因此可以隨心所欲地搞垮或有利於任何一方(交易者和LP)。
  • - 有了 「keeper 」的絕對權力,GMX很容易作惡,甚至比任何中心化的交易所(包括那些卑鄙無恥的交易所)更容易。

細節中的魔鬼:GMX的keeper

最近對GMX的操縱攻擊(https://twitter.com/gmx_io/status/1571439325413511169)使我們注意到GMX的keeper機制。然而,對外部操縱的脆弱性並不是真正的問題。雖然外部操縱是一個可駕馭的問題,但keeper的真正問題是沒有辦法避免內部操縱(甚至沒有辦法發現它)。

在GMX上交易是一個2步程序:

1. 你下了訂單。在這一步驟中,除了常規的交易費用外,你還需要支付額外的ETH/AVAX(稱為 「執行費」),以便keeper執行你的交易。

2. 「keeper」以所謂的「預言機價格」執行你的訂單,該價格完全由keeper決定。

這裡是細節中的魔鬼:這個keeper不是任何鏈上或透明機制的。相反,它是一個由GMX擁有的地址簽署的程序,並在GMX自己的中心化伺服器上運行。而keeper的核心作用不僅僅是執行訂單,也是決定交易價格。在非常弱的約束條件下,keeper可以直接用它選擇的任何價格執行你的交易。而且,即使是這種弱約束(https://www.notion.so/47fc5ed832e243afb9e97e8a4a036353)(與ChainLink價格的偏差大於2.5%將觸發 「bid-ask-spread」)也只會使價格對交易者更不利。

**簡單地說,每筆交易的價格都是在交易者下單後由keeper決定的。

如何利用這一點作惡?

簡單易行!

由於每筆交易的交易價格完全由keeper決定,keeper可以做任何他們想做的事情,例如,按其意願為交易者提供有利或不利的價格。通過為交易提供不好的價格(長線交易的價格較高,短線交易的價格較低),從每筆交易中偷錢是非常方便的。

而這可以以一種非常秘密的方式進行:keeper只需要使價格比公平價值稍差(例如高出或低於0.1%),這樣就很難注意到。那麼大量的價值(0.1%的交易量)就會從交易中被偷走。

你可能認為這種偷竊對LP有利。在這種特殊情況下,確實如此。但有了這樣的絕對權力,從LP那裡偷竊也同樣容易。keeper只需要用優於公平的價格(多頭交易的價格較低,或空頭交易的價格較高)向其關聯帳戶輸送利益。這一點非常容易理解:如果攻擊中的外部操縱者可以通過操縱價格來源使他們的帳戶受益,那麼keeper通過直接操縱價格使特定帳戶受益只會更直接。唯一的區別是,前者是以移動參考交易所(即Binance)的價格為代價的,而後者則是0成本。而且,這也可以通過保持足夠小的故意偏差來避免任何關注,同時又能獲利的方式非常隱蔽地完成。

這種交易機制是如此不透明,以至於比任何基於訂單簿的中心化交易所(包括那些卑鄙無恥的交易所)更容易作惡。對於後者,你通過查看訂單簿上的報價,提前對你的交易價格有一個合理清晰的預期。如果報價不公平,你可以選擇不交易。相比之下,在GMX上,交易完全掌握在keeper手中。

好吧,但他們還沒有作惡,是嗎?

從技術上講,答案是我們不知道,因為沒有辦法從外部驗證。

然而,如果你問這個問題,你可能會錯過重點。從 「不要作惡」轉換到 「不能作惡 」是加密世界的基本價值之一,也是重大的進步。一個依靠權力所有者的善意而運作的系統不應該屬於這個世界。

不管一個 「不能作惡」的項目如何聲稱他們不會作惡,都不應該給予信任。這不是Web3的工作方式!

關鍵字: