织梦CMS - 轻松建站从此开始!

我的网站

当前位置: 主页 > 竞争币 > 以太坊

以太坊 DeFi 的 Gas 消耗是否还有改进空间?

时间:2021-02-18 08:49来源:未知 作者:admin 点击:
我在这里系统介绍下 Gas 问题。 Gas 的使用机制 首先,以太坊的 Gas 是一种预付机制。在 DEX 的使用过程中,你会看到三个 Gas 数值 A. DEX 前端展示的 Gas B. 钱包签名时看到的 Gas limit C. 在

我在这里系统介绍下 Gas 问题。

Gas 的使用机制

首先,以太坊的 Gas 是一种预付机制。在 DEX 的使用过程中,你会看到三个 Gas 数值

A. DEX 前端展示的 Gas

B. 钱包签名时看到的 Gas limit

C. 在 Etherscan 看到的真实 Gas 消耗

打个比方,你去住酒店:

A. 携程上看到的酒店价格预估 1000

B. 酒店要刷你预付款 3000

C. 走的时候结账,住宿加酒水真实花掉 1200

下面我们先着重讨论真实消耗,再讨论如何让这个数字尽可能真实地展示给用户。

什么叫 Gas 贵?

我们所讲的一笔交易用了 100 美金 Gas,指的是:

「Gas * GasPrice * ethPrice」

这里面,GasPrice 由用户决定,要快速成交就多花点,不着急就少花点。ethPrice 由市场决定。

真正受产品影响的,是 Gas 消耗本身。所以要真的深入了解 Gas,我们讨论的基础,就要从美元,变成 Gas 数量。

数量级概念

那么 Gas 主要消耗在什么地方了呢?

两大部分: 1. 数据写入 2. 外部调用

所谓的 Gas 优化,指的就是用尽可能少的数据写入和外部调用,来完成业务逻辑。

写入数据花费大约 20,000~5,000 Gas,合约调用花费大约 3,000 Gas,这是最大头的部分,由于计算执行环境的复杂,在生产环境中,下面所有提到的 Gas 消耗都是会小范围浮动的。

  • 一笔 ERC 20 转账涉及两次写入,大约花费 60,000 Gas

  • 一笔 ERC 20 Approve 涉及一次写入,大约花费 45,000 Gas

  • 一笔 Uniswap 单跳交易,大约花费 110,000 Gas (e.g. USDT→ETH)

  • 一笔 Uniswap 两跳交易,大约花费 170,000 Gas (e.g. USDT→ETH→UNI)

  • 一笔 Uniswap 三跳交易,大约花费 230,000 Gas (e.g. USDT→ETH→WBTC→LINK)

由此可见,同样在 Uniswap,一次 Swap 也可能 Gas 消耗差距很大!

这还是在路由策略非常简单的情况下。如果路由策略开始变得复杂,例如 1inch 或 Matcha,一笔交易的 Gas 可以在 150,000 到 1,000,000 之间浮动。

因此,不能简单地讲某个平台的 Gas 贵。

看起来聚合器的 Gas 比 Uniswap 贵很多,是不是应该抛弃聚合器?

并不是这样的。

聚合器虽然 Gas 贵,但这不是傻贵。贵是因为有额外逻辑要执行,而这些额外逻辑会带来很大的利润。如果利润能覆盖 Gas 的额外开销,那就应该使用聚合器。

在过去聚合器可能不太在意 Gas,但现在 Gasprice 和以太坊价格的提高,使得 Gas 的美元开销增长了 100 倍。所以在 DODOV2,我们会综合比较 Gas 和报价,给出平均成本最低的解决方案。 (责任编辑:admin)

织梦二维码生成器
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
栏目列表
推荐内容