作者:饼干,链捕手
北京时间 6 月 29 日晚,在 Arbitrum 奥德赛(Odyssey)活动第二阶段启动的第一天,由于链上的繁重负载导致高于正常的 gas 费用,Arbitrum 宣布暂停奥德赛活动。
据 L2 Fees 数据,在这一天,Arbitrum 网络进行每笔交易的平均 gas 费用最高时飙升超过 9 美元,高于同期以太坊主网的 gas 费两倍。
Arbitrum 作为最受欢迎的以太坊二层扩展网络之一,其最主要的目标是大幅降低 gas 费用以提升用户体验,但出现这样的事情无疑令人啼笑皆非。那么,Arbitrum 网络究竟发生了什么?
事件回顾
事件首先要 Arbitrum 的奥德赛活动说起,此前 Arbitrum 宣布推出为期 8 周的 Arbitrum 生态项目探索活动,激励玩家参与生态项目交互,包括跨链桥、 DeFi 、NFT 和游戏等,第一周活动集中在跨链桥上,大部分交易都是从其它链发起并直接到账,仅部分跨链桥需要手动 withdraw,因此并未引起 Arbitrum 网络异常。
奥德赛的第二周活动包括固定利率借贷协议 Yield Protocol 和去中心化交易平台 GMX 的体验任务,这些协议的操作则相对繁杂,其中 GMX 平台的任务要求用户完成 3 次交互,然而高昂的 gas 费让用户感到不适,并促使用户在各种途径寻找其中原因。
据 GMX 社区成员反映,GMX 在前一天最小的交易费用为 0.0006 ETH,当前却设置为 0.005 ETH(setMinExecutionFee = 0.005ETH)。该费用不属于 gas 费,而是用于启动和关闭 GMX 交互合约时的费用。在大量用户发现此原因并强烈反对之后,GMX 将费用下调至 0.002 ETH。
不过需要注意的是,在此期间 Arbitrum 上绝大多数应用 gas 费并没有明显提升。以 Uniswap 为例,以太坊主网费用为 0.005 ETH ,Arbitrum 上 gas 费用是其一半——0.0025 ETH(2.75 美元);此外,Arbiscan 数据显示,Arbitrum 绝大多数链上事务交易费用为 0.002 ETH~0.003 ETH(3 美元以下)之间,也没有达到 6 美元以上。
也就是说,Arbitrum 高昂的 gas 费用主要是被 GMX 平均出来的,“二层网络 gas 费大幅高于以太坊主网”更多地是一种假象。同时,这些数据似乎将矛头指向 GMX,有人甚至指责 GMX 暗自调高费用大赚一笔。
而对于调整参数的原因,GMX 在 Discord 频道上回应,用户在 GMX 上开仓和平仓的过程涉及两部分交易,分别为发送请求开仓/平仓、keeper 执行请求,这些交易的成本取决于当前 Arbitrum 的 Gas 价格。在过去几个小时里,由于与 Odyssey 相关的链上活动大幅增加,Arbitrum 的 Gas 价格出现了飙升,但发送请求开仓/平仓的手续费用只用于执行交易;而 keeper 执行请求的手续费用,GMX 没有也不会从此类费用中赚取任何收益。
在 GMX 官方解释之后,整个 Arbitrum 网络的 gas 费仍然居高不下。Arbitrum 于晚上11点左右宣布由于链上的繁重负载导致高于正常的 gas 费用,因此决定暂停暂停奥德赛活动并部署 Nitro 增加其容量并降低交易成本,以便 Arbitrum 内的所有社区和项目继续拥有最佳体验。但没有公布明确的 Nitro 上线的具体日期。
Arbitrum 网络拥堵的真正原因
以太坊上的 POW 机制让用户饱受网络拥堵的困扰,在大规模的交易或者转账时期极易发生网络拥堵,用户必须支付高于平常的gas费用才能打动矿工帮忙处理交易。
然而,Layer 2 也有相似的竞价机制。据 GoPlus Security 对 Arbitrum Gas 费飙升的分析,Layer 2 的费用分两部分,一部分是 L1 数据提交费,理论上是用户越多,均摊到每个用户的费用越便宜;另一部分是 Layer 2 本身 Sequencer 的运行费用,则是人越多越贵。
因此,造成 Arbitrum 网络 gas 费过高的真正原因是奥德赛活动太火爆,超出了 Arbitrum 网络预设的承受能力。目前 Arbitrum 网络中负责处理交易的节点(Sequencer)有每秒 120,000 arbgas 的带宽限制。arbgas 是用于计算(computationa)和储存(storage)交易数据的计量单位,大量的用户涌入将 computational gas 拉升最高超过 1000 倍,使得每笔交易的 computational gas 占用过多的带宽,在节点数量不变的情况下,整个网络处理交易的能力大幅下降。
同时,每笔交易中 arbgas 的定价由节点全权定义,理论上节点可以将 arbgas 下调至 0 以保持 Layer 2 低手续费的性能,但是如此操作会导致节点来不及处理大量交易事件,最终结果仍然是网络拥堵。在这种情况下,Arbitrum 最好的应急方案是暂停奥德赛活动,而根本的解决方案是启动 Nitro 以扩大网络带宽。
据了解,Arbitrum Nitro 基于 WASM 技术构建并且将以太坊客户端 Geth 的核心编译到 Arbitrum 中,还提供了跨链通信以及新的批处理和压缩系统。,因此与 EVM 更兼容且比当前的技术快一个数量级。官方团队预计 Arbitrum Nitro 运行后第 2 层执行速度将提高 20 至 50 倍,成本会大幅下降。
GoPlus Security 还表示,所有的 Layer2 网络都会存在这个问题。GoPlus Security 给出的解决方案是,优化计费模型和降低 Computational 的实际成本。
Layer2 的故事如何继续讲下去
Layer2 扩容主要方向是 Rollup,即在二层网络上把多笔交易打包起来,然后作为一个整体提交到主网进行验证结算以提升交易速度。Arbitrum 等 Rollup 四大天王被市场寄予厚望,但 Optimism 和 Arbitrum 网络相继遭遇重大问题,这反映出 Layer 2 仍然处于非常早期的阶段,随着用户的涌入,各种 bug 的出现可能会成为常态化事件。
此前在 6 月初,Optimism 开放空投代币 OP 的领取,然而大规模用户造成的高负载导致主网和远程调用(RPC)出现严重延迟等现象,Optimism 通过部署 10 名工程师来维护公共端点正常运行,同时将 Optimism 的容量增加一倍来缓解网络延迟的状态。事后Optimism 反思大大低估了空投会产生的流量,需要将公共端点的容量提高 7 倍,而得到的教训还包括定期执行负载测试、用过度供应取代drop、要求合作伙伴提前扩大容量、优先考虑并发批量提交等等。
还有 StarkNet v0.9.0 版本升级,导致之前的钱包地址将作废,测试网的所有早期项目参与者面临白名单不可用、活动历史记录丢失、资产转移繁琐等问题。
尽管多个 Layer2 协议都提出了进一步提升性能的解决方案,但其开发速度能够满足赛应用的快速增长的需求?目前,已经有头部应用选择探索其它公链。6 月 22 日,衍生品龙头协议 dYdX 宣布将之后的 v4 版本作为基于 Cosmos SDK 和 Tendermint 共识的独立区块链推出。其原因是 Stark 技术开发周期长、L2 方案 Node Operator 网络完全去中心化还需要很长时间。
Layer 2 需要做好充足的准备以迎接用户的到来,不能每次都低估了用户的参与程度和高估了网络性能。Cinneamhain Ventures 合伙人 Adam Cochran 个人社交平台发表了观点:Layer2 不是万能的,对于 Arbitrum,他们的 Nitro 已在批处理和压缩方面做出了巨大的提升。