2.5[Intermediate] EVM Gas 分析

此文章是 #EVM Analysis 系列 的其中一个章节。

什么是 gas?

Gas 就像是机车行驶过程中需要燃烧燃料一样,对于区块链信息的记录至关重要,它是指在网络上执行特定操作所需的计算工作量。

为什么需要 gas?

Gas 还有助于保障以太坊网络的安全。对每次在网络上执行的操作都收取一定费用,可以防止网络上出现过多的垃圾信息,例如用户有易或无意的无限循环浪费网络资源。

收取 Gas 还会让矿工更有动力记账。在 EVM 上进行每笔交易都需要矿工付出资源执行,因此用户必须支付一定的费用给矿工作为劳动的报酬。Gas 费就是用户进行交易所需要支付的费用。

Gas 如何提供?

以以太坊为例,当用户需要在链上进行一笔交易时,gas fee 不是从用户发送的 token 数量中扣除,而是从用户地址剩余的 ETH 中扣除。

Gas fee 会在用户进行交易的同时扣除,交易预计要支付 gas fee 的数量会在交易时提示给用户,因此用户需要保证在钱包中拥有足够的 ETH 可以支付 gas fee。

以太坊上支付 gas fee 的使用的是其原生代币 ETH,同理在 EVM 链上进行交易基本都需要先在钱包中兑换出足够足够的原生代币(如 ETH)才能进行。

例如,Alice 的钱包地址中有 5 ETH,她希望转出 1 ETH 给 Bob,假如当时的交易较拥堵,完成这笔交易需要 Alice 支付 0.1 ETH 作为 gas fee。当在链上完成交易后,Bob 将收到这 1 ETH,而 Alice 的钱包将剩下 3.9 ETH(5-1-0.1=3.9).

EIP-1559 后的 gas fee

2021年8月5日(12:33:42 PM +UTC),在以太坊区块高度 12,965,000 时激活了第十一次硬分叉——伦敦升级。本次升级的社区提案(EIP)中最受关注的 EIP-1559 对以太坊的 gas 费机制进行了重大的改变。

伦敦升级主要从两方面优化升级前 gas fee 的问题

  • 费用分配机制:由原来一整笔给矿工的费用,拆分为基础费(Base Fee, 也称作 Burnt Fee)和优先费(Priority fee)。

  • 基础费:每个区块都有作为底价的基础费,会根据上一个区块的基础费和区块利用率计算而来。基础费是用户无法自行调节必须支付的费用,但也让用户更容易预测交易费用。这部分费用最后将被销毁并退出流通。

  • 优先费:由用户选择性支付,该费用直接支付给矿工,对于想要加快交易速度的用户同样可以设置高额度来吸引矿工。

  • 区块的松弛机制:在面对突然激增的交易需求时,EIP-1559允许区块的大小可变。如果超过目标区块大小,每个区块的基础费将最多增加 12.5%。

伦敦升级后虽然让 gas 费的计算变的更加复杂了,但提升了用户在设定 gas fee 时的体验,这些机制也使得 gas 价格可以更加平稳。

在 Footprint Analytics 中如何监控 gas fee

一笔总交易的 Transaction Fee 是基础费和优先费之和, 从另外一个角度来看, 也是 Gas Price 与 Usage by Txn 相乘。Gas Price 是矿工工作的单价,Usage by Txn 是矿工使用的工作量。

知道了原理,就可以在 Footprint Analytics 上对 Gas 进行多角度的分析。分析师可以根据需求使用 ethereum_transactions 和 ethereum_blocks 的字段进行运算。

ethereum_transactions dictionary
ethereum_transactions dictionary

更多 数据字典 可以在此了解。

由于 gas 的消耗相比 1 ETH 会小很多,通常使用 GWei  或 Wei  作为计量单位。Footprint Analytics 上的数据单位为 Wei,计算 gas fee 可通过 receipt_effective_gas_price 和 receipt_gas_used 进行相乘获得。

如果想了解基础费可则需要与  ethereum_blocks 通过 block_number 字段进行连表获取该 block 的 base_fee_per_gas。

如何使用数据关注 gas 的波动

gas 会受到当前网络情况的影响,当交易频繁时也会推高 gas price。可以利用 Footprint Analytics 的趋势图了解到 EVM 链上特定时间段的 gas 涨幅,为用户节约不必要的支出。

Ethereum Gas
Ethereum Gas

除了看近期 gas 的波动情况,通过时段分析也可为交易者节约费用。通过计算可以看到近 30 天不论从中位数还是平均的 gas price,UTC+0 时间的 14 点到 21 点是价格较高的时段,选择避开这段时间交易是更为明智的选择。

Ethereum Median & Avg Gas Prices By Hour of Day (UTC)
Ethereum Median & Avg Gas Prices By Hour of Day (UTC)

对 gas price 进行分箱分析,近 30 天有 12% 交易的 Gas price 在 20 - 30 Wei 之间,用户可以通过此判断即将进行的交易价格是否合理。

Ethereum Txn Gas Price Distribution in 30D %
Ethereum Txn Gas Price Distribution in 30D %

同样是 EVM 的其他公链,也可以进行比较,选择一个 gas fee 消耗低的公链进行交易也不妨是一个明智的选择。但不同公链的 gas 费使用的代币不同,直接拿来对比不具有可比性,因此需要都将他们转换成美元。

这时我们可以通过连表功能与币价表( token_daily_stats )进行关联,将之前计算出的 gas fee 再乘上它每日的币价便可快速地转回成美元计价。

很明显的可以看出以太坊上的每日的平均 gas fee 近期在 2 美元左右,而 Polygon 在 0.02 美元左右,相差大约 100 倍。对于交易金额不大的用户每次交易都要支付高额的 gas fee 成本会显得更大,选择一个 gas fee 低的公链操作将会是个更好的方案。

Ethereum Daily Avg Gas Fee in USD
Ethereum Daily Avg Gas Fee in USD
Polygon Daily Avg Gas Fee in USD
Polygon Daily Avg Gas Fee in USD

由于 EVM 上交易的特性,每笔交易都需要消耗 gas 费,通过数据对 gas 进行分析,了解目前的形式,对于交易频繁的用户可以是必不可少的功课。

课后小测试

做个简单的小测试看看你掌握了多少知识吧!

  • 测试题:请您在Footprint制作一个任意一条链或是多链对比的Gas Fee相关的dashboard;你可以复制已有的Charts或是自己新建charts来组织哦。

  • 通过这个链接 https://www.footprint.network/?channel=courses 注册Footprint,即可免费获得7天的高级账号,它能更好地辅助你完成测试题哦。

  • 如何提交答案:欢迎加入我们的 Discord社区 提交你的答案,并与社区优秀分析师一起交流!如果答案优秀的话,你还有机会获得价值 $299 的月度高级账号哦。

**
推荐阅读**

Footprint Analytics 是首家 Crypto 领域支持无代码数据分析平台。平台还提供一个统一的数据 API,让用户可以快速检索超过22条公链生态的 NFT,GameFi 以及 DeFi 数据。

如果您对该课程有任何反馈或建议,您可以通过以下方式联系我们。

Footprint Website:  https://www.footprint.network

Discord: https://discord.gg/3HYaR6USM7

Twitter: https://twitter.com/Footprint_Data

Subscribe to Footprint Analytics
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.