复盘 | 奥德赛被撸停的真正原因?链上分析事件全过程
摘要: 在 Web3 的世界里,每个人都可以第一时间通过公开透明且不可篡改的链上数据,并快速弄清事情缘由,还原事实真相。
文章来源:比特引力
文 | 小七 2022.6.30
前言
本篇文章梳理了奥德赛事件的前因后果,篇幅有点长,觉得有必要说明下这篇文章的结构和主要内容,以便大家更容易消化这篇文章,希望大家在阅读的过程中能有所收获。
第一部分:什么是奥德赛?
第二部分:躺枪主角 GMX 的合约分析Gas费花去哪里?被谁收走?GAS 费用的构成?「预言机」是如何工作的?Keeper 是什么?
第三部分:Arbitrum 作为一个二层项目,其 Gas 费高于一层的原因是什么?
第四部分:奥德赛事件带来的一些思考和启发
行情越熊,大家对于出圈的活动就越狂热。
最近热点,当之无愧——奥德赛(Arbitrum Odyssey)。
仿佛在一片黑暗沉寂中,出现的一小点光亮,足以使众人簇拥而上。
奥德赛是由以太坊二层解决方案 Arbitrum 联手 Galaxy 举办的为期 8 周的生态体验奖励活动,俗称拉新与促活。
活动唯一的目的就是激励用户(实际上主要是羊毛党)体验参与 Arbitrum 生态中的各类项目应用,从跨链桥、DeFi 到 NFT 、游戏,不一而足。
活动从 4 月 13 日快照投票选应用,到 6 月下旬日开始活动,到 8 月下旬结束活动,为期 4 个月,一个活动占了一年的三分之一,不可谓不盛大。
活动开始之初,一时间大 V 纷纷喊单,操作教程满天飞。
圈内如果不知道奥德赛,你都不好意思和别人打招呼。
前有 Optimism 普惠空投,一般做过简单交互的都有至少 271 个 OP,两个月猪脚饭到手。
“早知道多做交互了,害!”、“早知道就多撸几个地址了,唉!”贪婪的人总是会这样喃喃自语。
Arbitrum 还未发币。
Arbitrum 生态很多应用也未发币。
空投机会来了!
空投暴富梦蠢蠢欲动。
羊毛党纷纷涌入,做交互嘛,我懂。
成本无非出点 Gas 费嘛。
切,二层网络,Gas 能贵到哪里去?
搏一搏,单车变摩托!
如果足够刻苦钻研,凑齐13个 NFT 去赢得终极 NFT 就更棒了。
至于设计 NFT 的 Ratwell 和 Sugoi 是谁,并不重要。
空投快来砸晕我,我已经想好消费什么了。
活动第一周,奥德赛的任务是让用户通过不同的跨链桥将 ETH 跨链到 Arbitrum 上。
操作很简单,活动进行得很顺利。
Arbitrum 很开心, Arbitrum 上的应用们很开心,做交互的羊毛党也很开心。
气氛一片祥和,甚至有如火如荼的势头。
根据浏览器上的数据显示,自 6 月 21 日奥德赛活动开始到第一周任务结束时,Arbitrum 的新增地址达 20.7 w 个。
并在 6 月 27 日单日新增达到了 5.5 万个,成为单日新增地址最多的一天。
数据来源:https://arbiscan.io/chart/address
可见奥德赛活动之成功。
Arbitrum 的市场策划部领导估计已经开始写邮件申请升职加薪了。
二
但是...意外出现了。
就在大家疯狂 Fomo 参与第二周任务的时候,一个超出羊毛党常识的事件发生了——Gas 费出奇的贵!
尤其是在体验 GMX 这个项目的时候,原本低于 1u 的 Gas 费,却高达 10u。
有的倒霉蛋一波操作下来,玩合约的本金都玩秃了(实际上合约平仓后需换成 ETH ,但扣完 Gas 费后所剩无几)。
最初大家并未觉得是 Arbitrum 的问题,因为在大家印象里,L2 的费用要比 L1 低,于是大家便将矛头指向 GMX 项目方。
并认为是 GMX 项目方动了贪欲,私自改 GAS 费,才导致大家会有这么高的 GAS 费。
于是大家遍开始找证据,当时大家去查看链上交互记录,发现 GMX 合约的执行费用(minExecutionFee)一直在修改,在 6 月 28 日,其最低执行费用,还是 0.0006ETH。
https://arbiscan.io/tx/0x5719d84c4d403a2c1c29abadae0fe853cb459d223102dc23a7a9bba87ad511f7#txninfo
但在 6 月 29 日的时候,费用则增加到了 0.005 eth,且隔一段时间就变化,大家便认为这是 GMX 项目方篡改 Gas 费的证据。
但事实并非如此,有必要说明的是,无论 minExecutionFee 代表是什么,它的只是合约里的一个参数,无法项目方对它做任何更改,都没办法对 Arbitrum整个网络的 GAS 费法进行更改的,为方便大家阅读理解,这里简单介绍下 GMX 以及合约的机制。
GMX 是一个去中心化永续合约交易所。GMX 允许用户在一个去中心化的平台上进行高达 30 倍杠杆的 ETH、BTC、LINK 和 UNI 永续合约交易,而不是通过 Binance 或 FTX 等中心化交易所使用杠杆来进行做空或做多。在执行上,它相比中心化交易所操作要更复杂些,并且需要使用预言机进行喂价。
所以,它需要借助外部力量来执行开仓平仓操作,GMX 正是借助 Keeper(类似于众包)完成这项工作。用户在 GMX 进行平仓操作的时候,会分为两部分:一个是用户发送交易,另一个是执行操作,而执行操作则是由 GMX Keeper 完成的。用户不但需要交发送交易的 Gas 费外,为了能保证交易能正常执行,还需要为 Keeper 执行操作交 Gas 费。Gas 费是动态的,有时高,有时低,GMX 为了能够保证交易能正常执行下去,且让用户有一个很好的体验,一般管理员都会根据网络拥堵情况提前对 Keeper Fee 设置一个固定值。譬如在以前 Arbitrum 网络正常的时候,Keeper Fee 0.002 ETH 就可以覆盖用户链上行为。
但如果 Arbitrum 网络出现拥堵的情况,Keeper Fee 需要 0.006ETH 甚至 0.008ETH 才能保证覆盖用户链上行为,保证交易正常执行下去。我们也可以从合约代码里看到,在开仓平仓的时候每次交易都需要支付一笔 execution fees(执行),且不能低于 minExecutionFee(最小执行费用)。
https://arbiscan.io/address/0x3D6bA331e3D9702C5e8A8d254e5d8a285F223aba#code——createDecreasePosition函数
且最小执行费用(minExecutionFee) 也只有管理员有权限进行更改。
最近,Arbitrum 受到奥德赛活动的影响,用户交易数激增,造成网络拥堵Gas 费用飙升,加上 GMX 的合约要比一般的交易复杂的多,其 Gas 费也就飙升了,项目方甚至需要替用户补贴 Gas 费给 Keeper,以维持交易进行进行。
最后,我们也通过链上数据发现,这笔费用并非由 GMX 收取,而是最终由 GMX 代为支付给 Arbiturm。比如下图这笔,0.006 ETH 是 GMX Keeper 从用户那里收的费用,Transaction Fee 是 GMX 支付给 Arbitrum 的费用,这个差价则是由 GMX 进行补贴。
https://arbiscan.io/tx/0xdefe8de2a50443b0ca4839bbf97733e2d8d6579af2644b0441e854db82cbc64a
三
消除了 GMX 的误会,问题就来了:L2 不就是为了解决 L1 高费用的吗?Gas 费按道理来讲不会这么贵啊?
但从数据上来看,Arbitrum 的 Gas 费确实超过了 ETH 主网,甚至是 ETH 主网的 2 倍之多,大家便开始对L2嘲讽道:比如「以前经常听老师们吹L2,我一直不知道L2是啥意思,今天去L2上交互了下,原来L2的意思就是 gas 是 L1 的 2 倍。」
又比如:「以太坊成了 Arbitrum 的 L2 了。」
数据显示Arbitrum One 的GAS费超过了ETH.来自:https://l2fees.info/
为什么会出现这样的问题?
我们先来了解一下 Layer 2 以及 Arbitrum 的基本知识。Layer2 的扩容技术主要分为状态通道、侧链(Sidechain)、Plasma、Optimistic Rollup、ZK Rollup、Vadium 等。在这其中,Rollup 是最受关注也是当下最可能实现的扩容方案。Rollup 最主要核心理念是将原本散布在区块中的大量交易数据,聚合压缩成一笔交易,发布到主链上;而合约的实际计算和存储在链下完成。这样就让主链的运算和存储压力降低,从而实现网络的高吞吐量。
Arbitrum 也是 Rollup 中的一种,它是 Offchain Labs 团队基于 Optimistic Rollup 技术创建的,由于 Arbitrum 只将原始交易数据提交到以太坊,执行的计算过程和合约存储则发生在链下,所以相比以太坊主网,Arbitrum 的花费的 GAS 费非常少。我们通过链上数据看到,Arbitrum 目前的交易费用由 L1 固定成本(Fixed Cost)、L1 调用数据支付的费用(L1 Calldate Paid)、L2 计算费用(L2 Computational Paid)以及 L2 存储费用这四部分组成,这四部分相加得到的就是每次在 Arbitrum 上的交易 Gas 费用。其中 ArbGas 是 Arbitrum 设计用来管理执行成本的。根据 Arbitrum 的设计,每条指令都会消耗一定数量的 AVGMas(1ArbGas=100 AVMGas),越复杂的指令消耗越多,在ArbGas不变的情况下,交易费用则越高。
但我们通过下面两笔交易对比发现,6 月 29 日 向 L1 购买区块空间的平台只需要 0.0001 ETH,比 2 月 4 日那天的更低,但 L2 计算费用明显要比平常高很多。
另外也可以从下面两张图看出,6 月 29 日计算所消耗的的 ArbGas 资源(5812)要远低于2 月 4 日消耗的 ArbGas(21367),但花费的 Gas 费(0.000357ETH )却是2 月 4 日 Gas 费(0.000023ETH)的 15 倍。
https://arbiscan.io/tx/0x5719d84c4d403a2c1c29abadae0fe853cb459d223102dc23a7a9bba87ad511f7#txninfo
https://arbiscan.io/tx/0xba502a7587cf202f2e9078ed6e7612cfa05e6e5092b62c2be4af285e294918fe#txninfo
为何 L2 计算费用相差会这么大?
我们需要来了解一下 ArbGas 的定价机制。
首先,L2 Computational Paid = L2 Compulational Used *ArbGas 的价格。
通过上面两张图对比,L2 Computational Paid 主要还是由于 ArbGas 的价格飙升。
根据 Arbitrum 的设计,ArbGas 定价取决于最低价格和拥堵定价机制,最低 ArbGas 价格设置为估计的 L1
Gas 价格除以 100,ArbGas 的价格永远不会低于此价格。
在不拥堵的时候,其 ArbGas 价格就是其最低价格,当网络拥堵时,其价格就会开始从最低值飙升,类似于以太坊。
来源:https://developer.offchainlabs.com/docs/inside_arbitrum#fees
以我们现实生活中的景区举例,一般景区都有最大承载量,比如黄山最大能承载的客流量为 10w,而旅游也分淡季跟旺季,淡季人少,旺季人多,你会发现黄山景区门票的价格也不一样,旺季要比淡季贵很多,因为在旺季,很多景区为了防止因为人流量过大会提高其门票的价格,这样就会有一部分人因为价格上涨而选择去其他地方出游。
而 Arbitrum 也一样,因为每一个 rollup 区块都有容量上限,比如 1 秒时间内,每一个 rollup 区块最多只能容纳 5000 笔交易,而后面的区块就等着打包,如果交易激增,并且出现了拥堵,那么根据 Arbitrum 的设计也会其 ArbGas 的价格也会对应增加,这样就可以挤走一部分人,以减少其超载的风险。
来源:https://ethereum.org/zh/developers/docs/gas/
当交易数量激增时,并达到容量上限时,L2 ArbGas 的价格就会自动上涨,直到流量激增放缓。
下图则是昨天高峰时期 ArbGas 的费用,最高达到了 288 Gwei,费用远高于ETH 主网的 GAS 费。
6月29日 Arbitrum Gas费 来源:https://cointool.app/
29日晚10时,Arbitrum 紧急发推叫停了奥德赛活动,我们也可以通过数据看到,之后 ArbGas 费用降到了 1 Gwei 以下。
6月30日 Arbitrum Gas费 来源:https://cointool.app/
不知道看完上面的解释,你是否理解了为什么会在 L2 的 Arbitrum 上出现 GAS 费比 ETH 主网贵的情况。
归咎原因,还是因为在奥德赛活动进展的热火朝天的时候, Arbitrum 目前的状态没办法承载这么多的用户,吞吐量不够大,就跟景区一样。
针对这些问题,Arbitrum 在未来计划推出 Nitro 和 AnyTrust,试图进行降低费用,提高其吞吐量,至于具体方案,由于篇幅有限,不在这里过多阐述。
四
虽然大家已经知道了这其中的缘由,但还是有必要对这件事进行总结,从而从中吸取直接借鉴的经验。
不得不承认,在未出现这件事之前,奥德赛这次的活动还是吸引了足够多的关注,Arbitrum 结合 NFT 以活动周的形式,激发了用户参与的热情,也有助于用户了解 Arbitrum 的生态,在提高用户量的同时,也给其生态的项目带来了流量,未来会有越来越多的项目可能会借助这种活动运营方式,进行宣发和引流。
但在这个过程中,我们也看到了 Arbitrum 准备工作做的还是不够,未能很好的应对这种情况,以至于最后不得不暂停这次活动,让人诟病,被人嘲讽。
另外,虽然 GMX 事件最终得到了澄清,但在沟通的过程中,也暴露出一些问题。
面对不知缘由的用户,GMX 的 Mod 未第一时间去弄清事情真相,放任用户相互谩骂,项目方也并未第一时间出来澄清安抚用户的情绪,而是采取沉默的方式,以至于事态进一步扩大。
GMX中文区的聊天截图
而从产品设计上来看,GMX 还是不够人性化,比如无法查看用户的交易记录以及花费明细,用户不知道费用明细,便会以为是项目方私吞了这笔费用。
这些细节都是未来需要优化的地方。
这次的奥德赛事件,也是一次比较经典的 Web 3 公关事件,项目方花了不到一天的时间来澄清误会,这让我想起了最近一个挺有意思的 Web 3 三问:
1、有什么场景是在 Web 2 不能完成,必须在 Web 3 能完成的?
2、如果有,那这个场景下的 Web 3 产品有多少人需要?
3、这个场景下,Web 3 的产品解决问题的效率会更好吗?
虽然在产品层面上,并未感受到 Web 3 的优势,有的时候 Web 3 产品的体验还不如 Web 2 产品,但当 Web 3 发生这类事情的时候,我明显能感知到,在 Web3 的世界里,每个人都可以第一时间通过公开透明且不可篡改的链上数据,并快速弄清事情缘由,还原事实真相。
而反观 Web 2 ,即使企业耗费大量的公关来引导舆论,然而吃瓜群众最终也看不到事情的真相。
这或许就是 Web3 的魅力吧。
评论(0)
Oh! no
您是否确认要删除该条评论吗?