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

本文发布于DODOZoo,作者:雷明达,DODO创始人。

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

Gas的使用机制

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

A.DEX前端展示的Gas

B.钱包签名时看到的Gaslimit

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

打个比方,你去住酒店:

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

B.酒店要刷你预付款3000

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

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

Polygon和Immutable合作推出以太坊扩展网络“Immutable zkEVM”:金色财经报道,Polygon和Immutable宣布建立“战略联盟”并合作推出一个专为Web3游戏设计的全新以太坊扩展网络“Immutable zkEVM”,将Polygon zkEVM技术与专为基于区块链的游戏设计的Immutable平台相结合。据悉,Immutable zkEVM将在2023年第二季度末推出,不过开发人员目前已经可以开始构建软件开发工具包 (SDK) 。Polygon和Immutable还特别澄清两个平台没有合并,Polygon自己的zkEVM主网网络将于3月27日推出测试版,而现有的基于StarkEx zk-Rollup技术的Immutable X网络将会与新的Immutable zkEVM网络一起运行。(Decrypt)[2023/3/21 13:16:19]

什么叫Gas贵?

以太坊扩容项目AltLayer任命Amrit Kumar为首席运营官:金色财经报道,以太坊扩容项目AltLayer表示,已任命 Amrit Kumar 为首席运营官。现年 34 岁的 Kumar 将负责执行公司的全球运营战略,并支持其为 Web3 应用程序和创新者构建自定义汇总即服务的目标。在AltLayer之前,Kumar与人共同创立了Zilliqa Research,并担任总裁兼首席科学官。[2022/11/15 13:08:15]

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

「Gas*GasPrice*ethPrice」

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

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

数据:以太坊ETH销毁价值突破10亿美元:金色财经报道,以太坊ETH销毁价值突破10亿美元,创下历史新高,本文撰写时为1,009,435,133.19美元,销毁量为295193.6 ETH,当前区块利用率为50.9%,Base Fee为32.3 GWei。[2021/9/15 23:25:50]

数量级概念

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

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

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

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

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

动态 | DEX周报:过去一周以太坊DEX项目总交易额合计3,415万美元:据DAppTotal.com DEX专题页面数据显示:截至目前,已统计的17个基于以太坊网络的DEX项目,过去一周链上交易额共计233,588个ETH,合计34,155,335美元。整体而言,过去一周按交易用户量排名,活跃用户量最多的DEX项目分别为:Uniswap(7,652个)、IDEX(5,476个)、ForkDelta(1,333个)、Eth2dai(883个)、Bancor(745个);按用户交易额排名,交易额最大的DEX项目分别为:Uniswap(106,594ETH)、Eth2dai(69,019ETH)、IDEX(19,782ETH)、DDEX(19,702ETH)、Tokenlon(15,141ETH)。[2020/1/13]

一笔ERC20Approve涉及一次写入,大约花费45,000Gas

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

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

一笔Uniswap三跳交易,大约花费230,000Gas(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和报价,给出平均成本最低的解决方案。

DODO贵不贵

贵,也不贵。

DODO在执行路由时,会在原始流动性外包一层函数调用,会比流动性源头贵40,000gas左右。

但是:

1、经过gas补贴后,DODO的Gas消耗可以做到和流动性源一样甚至更便宜。2、考虑到报价的优势,虽然Gas的开销大,但平均成本在DODO最低。

如何合理地展示Gas

回想之前酒店的例子。

如果你是携程,你的目的是尽可能真实地展示用户实际花销。

普通用户都已经被教育好了,去住酒店,刷的预授权肯定比消费的多,也不会太在意。

A.DEX前端展示的Gas

B.钱包签名时看到的GasLimit

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

但是以太坊用户还远远没有理解这些机制,他们不知道钱包弹出的是预授权。如果你在网页上直接显示数字C,但钱包弹出的数字B很大,用户会感到非常困惑。

所以在DODO的网页上会先显示数字B,以保证和钱包端的统一。再显示数字C,以保证没有让用户望而却步。

这里0.084是数字A,即钱包预授权。0.084-0.042是数字C,即DODO预估你真正的花销。在此场景下,你真正的花销和Uniswap单跳是差不多的。

DODO的Gas还有改进空间吗?

有的,在DODOV2主要体现在以下几方面:

?综合比较Gas和报价,避免出现报价优势,却因Gas过贵而使用户利益受损的情况;路由的改进,减少上层计算开销;?V2池子的Gas优化,减少下层计算开销;?更准确的GasPrice估算,让用户精准插队;?支持BSC,L2平行迁移。

总结

Gas是所有项目躲不开的痛,这是一种幸福的烦恼。我经历过以太坊1gwei打包交易的惨淡时光,那时链上交易和不要钱似的,但是生活却非常难捱。

如今DeFi的价值被发现了,人们的交易活跃度大大提高,Gas价格也水涨船高。每个项目方都有义务,以最少的读写操作完成业务,为以太坊生态省出宝贵的区块空间。

另外,每个项目方也都有义务,为用户寻找一个便宜且安全的L2解决方案。

DODO一直将Gas问题当作一个科研项目,并走在科研的第一梯队里。我们期待用户可以尽早体验到V2带来的Gas优化,并欢迎任何关于gas优化的提议。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:15ms0-0:581ms