以太坊上高额交易费用的原因及解决方案

  • Sec3dev
  • 发布于 2021-08-27 15:29
  • 阅读 27

本文分析了以太坊上高额交易费用的原因,主要归因于动态气价和固定气量,并提出了一种名为GreenCore的优化技术,通过优化智能合约字节码显著降低交易费用。最后以GreenSwap为例,展示了在降低费用方面的实际效果。

最近,以太坊上的交易费用非常高。一次代币交换有时需要超过1000美元的Gas费用,这是什么原因?

本文解释了潜在原因,并介绍了一种可以显著降低Gas费用的新解决方案。

为什么Gas费用这么高?

图1. 以太坊上的疯狂Gas费用(来源:etherscan.io)

在以太坊上,Gas费用由两个数字决定:(1) Gas价格 X,以及 (2) 燃 gas 费用 Y。交易的Gas费用就是 X * Y

X 是交易发起者提供给矿工的一个数字,以使矿工优先处理该交易。比如图1中的 1263 gwei 表示 X = 1,263,000,000,000X 由交易发起者选择,可以是任何数字。X 越大,交易被处理的可能性越高。

本质上,X 的值是动态的,取决于以太坊网络的繁忙程度。由于以太坊网络的吞吐量有限,目前仅为每秒30笔交易,因此很容易出现拥堵。当网络拥堵发生时,矿工的队列中会有许多待处理交易,而交易在队列中的位置由 X 决定。在这种情况下,交易发起者需要设置一个高 X 来优先处理他们的交易。

Y 是另一个衡量交易计算成本的数字。与 X 不同,Y 取决于执行交易所需的计算资源,而不会随着网络拥堵而改变。因此,Y 是一个静态数字,由智能合约决定——由交易执行的代码。

图2. Uniswap 的Gas成本大约为130,000(来源:etherscan.io)

例如,Uniswap 的智能合约在代币交换交易中平均需要 130,000 的费用。也就是说,对于 Uniswap,Y = 130,000。虽然 Y 在不同的智能合约中有所不同,基本上取决于代码的复杂性,但通过代码优化,Y 可能会大大降低

GreenCore:一种EVM字节码优化技术

图3. GreenCore

GreenCore 是一种自动优化智能合约字节码以降低其Gas费用的技术,即 最小化 Y 来处理交易。

图3展示了 GreenCore 的全景图,它的输入是智能合约的已部署代码(字节码序列),通过超级优化器进行优化,然后输出另一序列的优化字节码。

GreenCore 基于 计算机程序的优化理论。GreenCore 输出的代码与输入代码的格式相同,可以无更改地部署到区块链上。此外,输出代码在功能上等于输入代码:在区块链允许的所有场景下,输出代码始终会产生与输入代码相同的状态转变(注意以太坊区块链是一个状态机)。

GreenCore 的基石是一个由 最大化约束执行(Maximal Concolic Execution) 驱动的自动化超级优化器,这是一种由编程语言研究社区开发的代码验证技术。最大化约束执行能够系统地探索每一个代码路径,将路径条件编码为数学公式,并使用 SMT(满足度模块理论)求解器 检查路径不变性。然后超级优化器可以识别优化机会,如无用计算、冗余计算、较便宜的计算等,以在每个代码路径中最小化Gas费用。

最终,通过在保持路径不变性和状态转变不变性的同时,迭代变换输入代码的中间图形表示来实现优化。

有关更多细节,请参考 我们的论文

示例:GreenSwap,一种Gas优化的Uniswap

基于 GreenCore,我们开发了 GreenSwap (https://app.greenswap.tech),这是一个基于 Uniswap V2 和 V3 的高度优化的交易所。与 Uniswap 相比,GreenSwap 将Gas费用降低了多达 55%(平均超过 30%)。

图4. 在某个案例中,GreenSwap 的Gas费用低于60,000(来源:etherscan.io)

图4展示了一笔交易记录。GreenSwap 的Gas费用低于 60,000

图5. GreenSwap 与 Uniswap 的已部署字节码比较

图5展示了 GreenSwap 与 Uniswap 的已部署字节码。GreenSwap 的字节码大小几乎比 Uniswap 小 18倍。这表明在 Uniswap 中,由 GreenCore 识别出丰富的优化机会。一旦 GreenSwap 被广泛部署和 DeFi 用户使用,将节省大量交易费用。

图6. GreenSwap 的快照(2021年8月26日)

GreenSwap 已支持 ETH/USDC 之间的交换。对于用户来说,使用 GreenSwap 的方式与 Uniswap 相同。图6展示了快照。GreenSwap 使用与 Uniswap V2/V3 相同的价格预言机,并且保证每笔交易的汇率与 Uniswap 一致,但交易费用大大降低。

  • 原文链接: sec3.dev/blog/why-gas-fe...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Sec3dev
Sec3dev
https://www.sec3.dev/