什么是Gas War?为什么Gas费那么贵?怎么省 Gas 费?

传DAO士Pubblicato 2022-08-12Pubblicato ultima volta 2022-08-12

Introduzione

2022 年 5 月 1 日,在 NFT 的抢购过程中,不到 3 个小时,Gas 费花了 55490 个ETH,相当于1.5亿美金,号称史上第一 Gas War。

2022 年 5 月 1 日,在 NFT 的抢购过程中,不到 3 个小时,Gas 费花了 55490 个ETH,相当于1.5亿美金,号称史上第一 Gas War。要知道,本次销售 55000 个NFT 的总金额才 3.18 亿美元。

这就是无聊猿的发行商 Yuga Labs 推出的新项目 - Otherside 元宇宙 NFT。Otherside 是一个游戏化的、可互操作的虚拟世界,玩家拥有世界,NFT 可以变成可玩的角色,成千上万的人可以实时一起玩。

这次空前规模的发行吸引了几万人参与抢购,短时间内,ETH Gas 手续费迅速上涨,不少买家以超过 2 ETH 的 Gas 费成交。

在这场购买供不应求的高价 NFT 的过程中,很多买家在这场 Gas 战争中交易落败。花了几千美元,却什么都没得到,其愤怒的心情可想而知。在销售结束后,Yuga Labs 表示,将退还 Gas 费用给交易失败的用户。

传稻士社区:没有好问题,就没有好答案。

为什么会爆发 Gas War?

为什么说以太坊的 Gas 费是以太坊网络的动力?

为什么 Gas 费非交不可?

为什么其他公链的 Gas 费比以太坊低很多?

如何操作能够节省以太坊的 Gas 费?

什么是 Gas ?什么是Gas War?

Gas War 在第一次世界大战中发生过,也就是臭名昭著的毒气战。

1915年4月22日,一群法国士兵突然发现阵地上出现了奇怪的嘶嘶声,对面的德国人掏出了大量的钢铁瓶子,这些瓶子中涌出了许多黄绿色的气体,这些气体很快就变成了一堵绿色的云强,并且在风力的帮助之下正在向法国阵地飘来。

法国人不明白这是什么,还笑话德国人,但是很快他们就笑不出来了,因为当他们被黄绿色云雾笼罩的时候,都感觉到自己的皮肤奇痒难耐,而且喉咙如同被火灼烧一样,更主要的是眼睛也睁不开了。

其他的法国士兵立刻四散奔逃,但是很快他们就发现自己连步子都迈不动了,大量的士兵倒在了地上,

法军阵地上绝大部分的官兵都失去了抵抗的能力,因此战线很快就被跟随在云雾后面的德国人突破了。

而这场地狱般的景象,就是人类的第一次毒气战——伊普雷毒气战。

不过,我们这里所说的 Gas War 是指争夺以太坊区块链上交易权的大战。

Gas就是燃料费的意思。简单来说,Gas费相当于手续费,或者给矿工的辛苦费。

在区块链中,Gas费是用于测量在区块链上执行特定操作所需的成本。

一般情况下,用户只需支付正常的 Gas 费用即可,但当区块链开始拥堵时,用户支付的 Gas 费越高,便会有更多的节点优先提供服务,从而加快数据处理效率。

而 NFT 在被铸造在区块链上的时候,也需要支付Gas费用,在大规模铸造或者集中铸造的时期,由于供需不平衡,就需要加价(相当于给矿工小费)争夺资源,价高者得。也就是类似于竞拍的模式,谁付出的Gas Price越高谁的交易先上链,就像拍卖一样,价格飙升百倍,这就是Gas War。

纵观以太坊的历史,每逢有类似“加密猫”、“Otherside”一类的抢购事件发生,ETH链就会出现激烈的Gas War现象。

在交易中输掉的人不仅什么也没买到,已经支付的 Gas 费也不退还。赢的人,付出了高额费用,当然也不是很开心。只有矿工们偷着乐。

为什么需要付 Gas 费?

拿以太坊为例来说,假如你需要向其他账户转帐1 ETH ,以太坊链在处理这笔交易的时候,需要消耗网络资源。因为网络上的每个节点都必须花费存储和计算资源,用来验证每条消息并保持网络的一致状态,这时候就需要消耗Gas来补偿网络节点的成本。

区块链是一个由无数节点共同构成的去中心化网络,在这个网络中,每一个节点都可以看做是一个独立的服务器,并进行数据的处理和运算。这些节点提供的服务并非是免费的,你必须支付一笔燃料费,也就是Gas,才能让矿工为你打包交易。这也是区块链一个独特的激励机制。

Gas费就是矿工处理链上数据的手续费。由于整个网络的交易速度是有上限的,当交易数据多了,那么谁出的价格高就优先处理谁的订单。

Gas费是在区块链网络中应当承担的交易成本,所以每个币的转账都有最低额度要求,这个最低额度要求往往也是目前需要的最少Gas费额度。如果钱包中 ETH 的数量不足以支付 Gas 费用时,交易就无法进行。

所谓挖矿,就是指某个用户可以以节点的方式加入到区块链网络当中,贡献自己的资源。在贡献资源的同时,也可以获取到一定的报酬。就这样,区块链中的 Gas 维持着网络运行所需的计算和存储。

Gas费是怎么计算的?

Gas费(交易费用) = 每笔交易所消耗的 Gas 数量 * Gas 价格。

如果你听到有人说“现在的 Gas 是 100”,他的意思是,如果当下你想要在以太坊上成功地完成一笔交易,预期的 Gas 价格是 100 Gwei ( 也即1单位 Gas 的价格是 100 Gwei,也即 0.0000001 ETH)。

假设我们想发送一笔简单的以太坊交易,如果ETH的价格为1800美元。大多数流行的以太坊钱包会估算必要的 Gas 价格,并允许你在快速、中等和慢速交易确认速度之间进行选择。

假设你想在一分钟内确认交易,钱包估计 Gas 价格将设置为100 Gwei(如果想更快的交易,Gas费会更贵)。

对于不同类型的单笔交易,有一个 Gas Limit,比如一笔基本的 ETH 转账的 Gas Limit 是 21000 Gas (当然,其他更加复杂的操作所需的 Gas 量要更多)。

因此,要计算某个以太坊操作所要支付的 Gas 费用,我们只需要将这笔交易的 Gas Limit 乘以当前每个 Gas 的价格即可。比如,如果当前每个单位的 Gas 价格是 100 Gwei,而一笔简单的 ETH 转账的 Gas Limit 是 21000 个 Gas,那么这笔交易的 Gas 费用 = 21000 * 100 * 0.000000001 ETH = 0.0021 ETH。

在 ETH 价格为 3800 美元时,这笔交易的手续费是 7.98 美元。

如下图中的一笔交易为例,看看圈出来的部分。

Transaction Fee: 该交易需要的手续费,Transaction Fee = Gas Price * Gas Used,对应上面的数据就是:Transaction Fee = 82.768620951 * 46458 = 3845264.592141558 Gwei = 0.003845264592141558 ETH

Gas Price:该价格随时波动,Gas Price = Base + Max Priority,当前为:82.768620951 Gwei。

Ether Price:ETH 当前的价格为 $4,042.55

Gas Limit & Usage by Txn:Gas Limit 相对固定,为了防止部分智能合约存在漏洞,消耗完自己的代币。Gsage by Txn 取决于每个智能合约的复杂度,如果 Gas Limit < Gas Used,则会收取 Gas 费但是操作会失败。下图是常见的 Tokens 的 Gas Used:

如果 Gas limit < Gas Used,交易会失败,但是因为矿工已经去计算了,所以 Gas 费花了,但是没有执行成功。无论交易成功与否,你都要为此支付“燃料费”,这是因为即使交易失败,矿工依旧为此交易进行校验和计算,消耗了资源。为了避免合约中的错误,引起不可预计的燃料消耗,用户需要在发送交易时,设定允许消耗的燃料上限,即 Gas limit。这样的话不管合约是否良好,最坏情况也只是消耗 Gas limit 限制的燃料。就像开车到目的需要 10 升油,你只加了 8 升,你往目的地开车,到不了目的地,但是你的油也要耗费了。

Gas Fees:Base 是基础费,Max 是最高费,Max Priority 是给矿工的小费。Gas Price = Base + Max Priority。当 Max > Base + Max Priority 时,剩余部分返还给用户;当 Max < Base + Max Priority 时,不交易,等待 Base 下降(也就是手续费下降),直到 Max >= Base + Max Priority 才打包交易。这样可以为用户节约手续费,如表:

虽然用户 A 花费的手续费比用户 B 更低,但是矿工会优先执行用户 A 的交易,这样对用户就更加的节省手续费。

Burnt & Txn Savings Fees:燃烧掉的 Gas,Burnt = Gas Base * Gas Used;Txn Savings Fees 是交易剩下的 Gas,退还给用户。Txn Savings Fees = (Gas Max - Gas Base - Gas Max Priority) * Gas Used。

为什么同样是公链,Solana 的Gas费那么低?

由于以太坊的执行速度慢,Gas费高。很多链游,比如 StepN 选择了 Solana 公链。在这个公链上,Gas费极低,大约只有以太坊Gas费的6万分之一。

为什么呢?

让我们比较一下比特币、以太坊和Solana的区块时间和大小。

比特币的区块时间约为10分钟,最大区块大小为1MB,每个区块可以处理 500-4000 多个交易,这取决于交易大小。

Solana的区块时间为0.4秒,每个区块可以处理约 20,000 笔交易,这致使Gas费用极低。

而以太坊的区块时间为13秒,每个区块可以处理约70个交易。这么小的区块大小和这么高的网络使用率,以太坊的Gas费当然会失控。

尽管Solana的Gas费用只有每笔交易0.000025美元,以太坊仍然是迄今为止最受欢迎的NFT、DeFi和其他Web3活动的区块链。这跟以太坊丰富的生态应用环境有关。

为什么以太坊的 Gas 费会波动?

自从进入熊市以来,以太坊的Gas已经大幅下降。目前以太坊网络平均费用为 0.00086 以太币或每次转账 1.46 美元,这是自 2020 年 12 月 12 日以来的最低点。

为什么以太坊的Gas费会大幅降低呢?

Gas 价格是由区块空间的需求决定的,这是一个类似于拍卖的过程的结果,在这个过程中,用户根据自己的意愿“出价”(即设置 Gas 费用),然后矿工根据用户的出价高低对交易进行排序和打包进区块中。

随着以太坊区块链上的活动增加,Gas 的使用也会增加,因为有人为了让自己的交易尽快被确认,愿意支付更多的Gas费,大量的交易在竞争中抬高价格,矿工优先处理 Gas 价格最高的交易。

所以在大量用户试图获取以太坊区块空间的时期,Gas 价格会随着人们抬高他们愿意支付的“出价”(以使自己的交易尽快被处理) 而上涨。

Gas费用上升,说明以太坊链上活动活跃,用户纷纷提高自己的 Gas 费来完成交易。

造成 Gas 费用上涨的根本原因是以太坊链越来越拥堵。而造成拥堵的原因是以太坊网的利用率不断在提高,以太坊上的应用越多,短期的交易越多,拥堵就越严重。

而在熊市,交易明显减少,拥堵不严重,价格自然下降。

怎样查看当前的 Gas 费?

Gas 费的价格每分钟都不一样。有不少工具可以查看当前的 Gas 费。

下面是几个常见的、查看以太坊 Gas 费的网站:

https://etherscan.io/

https://etherscan.io/gastracker#historicaldata

https://etherchain.org/tools/gasnow

https://ethgas.watch/

https://www.blocknative.com/gas-estimator#

Chrome 浏览器也有一个插件 Blocknative,能够实时看到 Gas 的价格。

下面是 2022-02-10 至 2022-02-17 的每天每个小时的 Gas 单价。

通过看实时的 Gas Price 价格,发现存在时段的规律,就好像公路上的高峰期会堵车。避开高峰期,当 Gas Price 价格偏低的时候,再去交易,就可以节省一大笔费用。

高额的Gas费对应用有哪些影响?

1.激励了更多矿工,设置更多的以太坊节点,让整个网络规模更大,更稳定。

2.避免dApp刷量。每一次刷量是需要成本的,这个成本就是gas费,如果交易不需要gas费,dapp 便可以通过操控大量账号实现大量的交易和活跃。

3.防止恶意攻击。现在的公链基本上都能进行无限循环交易,假如没有Gas费,就会出现一类攻击者搞恶作剧,发起一个包含无限循环的交易,这个时候网络就会陷入一个死循环使得网络瘫痪。gas费的存在会让攻击者考虑其成本。

Gas 费如何影响 DAO 的投票治理?

在DAO中,常常会有提案的投票动作,由于存在智能合约,投票通过的提案会自动执行。这提供了更大的去中心化,但需要用户支付 Gas 费才能参与。

而像 Snapshot 这样的链外投票机制可以实现自由投票,但不能自动执行,并涉及额外的信任假设(例如,信任来自正确地遵循投票结果)。

由于 Gas 费增加,投票成本自然增加,参与度也在下降。如果 DAO 希望有治理权限的用户能最大限度地参与,就应该选择降低 Gas 成本的策略。

怎么省Gas费?

此外,现在有一系列的策略和技术可以大大减少你的 Gas 支出。让我们来看看目前节省 Gas 费用的6个方法吧!

1. 优化你的交易时间

根据以太坊链上发生的事情的不同,以及世界不同地区的人们醒来和活跃的时间不同,以太坊的 Gas 价格在日内可能会出现大幅波动。

上图:5月17日至23日的以太坊 Gas 价格日内波动情况,可以看出以太坊的 Gas 价格在日内波动很大。图源:ethereumprice.org

因此,在某些时候,平均而言 Gas 价格通常较低。如果你对这些时间进行盘点,并将它们作为交易时间,这将是降低 Gas 费用的一个很好的开始。那么,什么时候是交易的最佳时间?

一般来说,Gas 价格在工作日比较高,在周六和周日比较低,所以一个简单的办法就是在周末开始批量处理你的交易。

以太坊网络最繁忙的时间,也是Gas 费用最昂贵的时间,也就是从早上 8 点到下午 1 点 (美国东部标准时间)。这并不奇怪,因为欧洲人和美国人在这段时间都是完全清醒的,而且都在工作。相比之下,(以太坊网络) 最不忙的时间是午夜到凌晨4点 (美国东部标准时间)——这段时间美国人正在睡觉,欧洲人刚开始一天的工作,而亚洲人正在结束他们一天的工作。

所以,在这些 (以太坊网络不繁忙的) 时间窗口期进行交易,你的 Gas 费用就很有机会比在其他时间更低!

2. 使用以太坊扩容解决方案进行交易

在这个领域有 Layer2 解决方案,比如基于 Optimistic Rollups 或 ZK-Rollups 的项目,它们在继承以太坊所有安全性保证的同时,提供其自身超高效的基础设施。

然后还有侧链,比如 Polygon 的 PoS 链 或 xDAI,这些侧链实际上是独立的高效区块链,但专门连接和迎合以太坊网络。

在这些以太坊扩容解决方案中,你可能只会偶尔与以太坊主链交互,而是在 L2s 网络或者跨链环境中以支付得起的费用处理你的大部分加密货币活动。因此,现在是一个让你自己熟悉这些扩容解决方案的时候,虽然这些事情仍然处于早期阶段。

3. 使用 Gas tokens

简言之,你可以在 Gas 价格低时铸造 Gas tokens,然后在 Gas 价格高时赎回,此时你可以获得一笔 ETH 退款,从而帮你补偿 Gas 费用。

Gas tokens 之所以有效,是因为以太坊的存储退款 (storage refund) 机制,该机制会向删除存储变量的以太坊用户退款。这鼓励人们不让以太坊的状态膨胀。(注:以太坊上为了鼓励用户更有效地在区块链上储存数据,当你从区块链上面移除资料时,会提供退款)

因此,有了 Gas tokens,你可以在 Gas 价格较低时获取以太坊的状态快照,然后在 Gas 价格较高时解锁该状态,以获得一笔 ETH 退款。这就能实现更便宜的交易。

不过,Gas tokens 实际上会阻塞以太坊的状态大小,导致低效的 Gas 定价,所以它们似乎将在未来几年被淘汰。不过,在淘汰前的这段时间,它们确实可以降低你的 Gas 费用。

例如,一个受欢迎的 Gas token 项目是 GasToken.io。

该项目有两个略有不同的 Gas token 实现,即 GST1 和 GST2,但它们的工作原理相似。要使用这些 token 中的任何一个,你只需在 EtherScan 上导航到它们的“Contract”页面,并调用“Mint”(铸造) 和“Free”(释放) 函数。当你释放这些 tokens 的时候,你将会获得一笔 ETH 退款,这笔退款可用于补偿你的 Gas 费用!

4. 使用那些最小化 Gas 费用的 DApps

以太坊上的一些 DApps (去中心化应用) 提供了花费 Gas 最少的产品。

比如,Yearn 的 V2 机枪池 (vaults) 和 KeeperDAO 会自动对用户的交易进行批处理,这样一来,用户无需挨个地手动支付 Gas 费用,而是可以一起支付 Gas 费用,这大大降低了每个用户支付的 Gas 费用。

另一个可以考虑使用的项目是 Balancer V2 交易协议。Balancer V2 版本使得 Balancer 现在成为了一个单一的大金库 (Vault),这个 Vault 将保存和管理所有不同 Balancer 流动性池中的资产,这使得现在通过 Balancer 进行交易的 Gas 费用更加便宜!

使用这些花费最少 Gas 费用的 DApps 确实很简单,你只需要知道选择合适的应用即可。

5. 通过 DeFi Saver 来为交易制定策略

是否可以测试和模拟交易,而不实际执行交易,这样你就可以在支付 Gas 费用之前,了解和调整你要支付多少 Gas 费用了?

嗯,通过 DeFi Saver 全新的 Recipe Creator 及其 Simulation Mode (模拟模式) 就可以!详情参见:

https://medium.com/defi-saver/introducing-the-defi-saver-recipe-creator-34d4c26630c

以下是这个过程的工作原理。你可以使用 Recipe Creator 来排列你想要的任何类型的以太坊活动,然后运行 Simulation Mode (模拟模式) 来测试这些活动,而无需支付任何 Gas 费用。

这个系统并不是一种直接节省 Gas 的方法,但它是一种调整交易的方法,有助于降低 Gas 费用。

图源:DeFi Saver

6. 使用那些退还部分 Gas 费用的应用

以太坊上的项目知道其用户现在正忍受高昂 Gas 费用带来的痛苦。因此,一些以太坊项目正在向其用户退还部分 Gas 费用,从而弥补这种痛苦。

其中的两个项目是 Balancer 和 Furucombo。

今年早些时候,Balancer 推出了一项计划,通过 Balancer 进行交易的用户,对于一些特定的交易对,用户将获得 BAL (该项目的治理代币) 作为退还部分 Gas 费用的方式。这意味着,如果你想要进行 DeFi 交易,可以考虑通过 Balancer 来进行,因为你仅通过使用这个协议进行交易就能获得不错的 BAL 代币。

此外,还有 DeFi 聚合器项目 Furucombo,目前该项目正在运行一个 Gas 补偿计划,对使用该协议的用户奖励 COMBO 代币。详情见:

https://medium.com/furucombo/combo-mining-season-3-5e5f248923b2

总结

高昂的 Gas 价格不是一个永恒的问题。随着 Layer 2 扩展解决方案和 以太坊的到来,Gas 价格将在未来一年大幅下降。

8 月 11 日,以太坊创始人V神表示,以太坊 PoS 合并(The Merge)后,在以太坊 2.0 时代,Gas 费可能降至 0.002 美元。

不过,因为合并期很长,这个价格在今年是看不到了。

但我们目前确实必须应对高昂的 Gas 价格。所以下次你必须进行以太坊交易时,不要盲目地交易。检查一下现在是什么时间,或者你是否可以通过某个扩容解决方案来进行相同的交易,等等。

通过加强对 Gas 使用方式的了解,你现在就可以节省大量的 ETH!

Letture associate

Trading

Spot
Futures
活动图片