如何利用GMX的交易机制进行价格操纵?外部攻击与内部作恶的方法析

作者:北辰

过去20天,GMX平均每天有930名活跃用户交易1.1亿美金,可以说是目前最成功的去中心化衍生品交易所。

我们注意到GMX的几个竞品的负责人近期针对GMX的交易机制展开批评,虽然出发点绝对不中立,但立场只能决定价值判断,而无法左右事实判断。

本文仅针对GMX交易机制的事实进行讨论,以作为读者综合判断GMX的参考信源。

  

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机制给团队内部作恶的权限,如果以最坏的恶意去揣测,就是“身怀利器,杀心自起”。

当然,本文不能当作投资意见,因为这只是一种可能性。

欢迎加入社群 探讨web3,分享项目空投信息  https://discord.gg/RW94PbPv3p

原创文章,作者:lishuchen,如若转载,请注明出处:http://www.lianchaguan.com/archives/42017

Subscribe to BlockChainTeahouse
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.