引介

网络拥堵时刻,any.sender 如何应对?

曾汨   |     |   376 次阅读

Default featured image huge

1

- 2017 年 ICO 的交易手续费高峰比起过去几个星期就是小巫见大巫 -

any.sender 是一个非托管的高吞吐量交易中继者。我们的目标是让你的交易能尽快被打包的同时最优化所支付的手续费,即使是网络极度疯狂和拥堵的时刻也不例外。那我们是怎么做的呢?

用户在以太坊上支付的手续费是比特币上的 4.8 倍

在 2017 年的牛市中充斥的堕落琐碎的交易者和投机氛围,原汁原味地回来了。但这一次,得益于 DeFi 世界的兴起,这些活动绕过了中心化交易所,许多这样的活动都直接在以太坊上发生。

2

这些活动是如此火热,以至于以太坊出块者仅在 YAM 的流动性挖矿热潮的 36 个小时内,就收获了超过 680 万美元的手续费。在当时,一笔交易若想快速打包上链,Gas 价格需安排在 200 到 330 Gwei 之间。

再来看看各种操作所需耗用的 Gas 量:

  • ETH 的普通转账要消耗 21000 Gas,约为 2.45 美元(约 0.0063 ETH)
  • Uniswap 交易需消耗 10 万 Gas,约合 11.64 美元(约 0.03 ETH)
  • 部署一个 Gnosis 安全钱包需要消耗 25 万 Gas,约为 29.20 美元(约 0.075 ETH)
  • 整个区块能容纳的 Gas 消耗量为 1200 万,约 1401 美元(约 3.6 ETH)

虽然 YAM 最终因为智能合约里有 bug 而失败了,它对整个手续费市场的影响还是大到令人震惊。

那么 any.sender 可以帮助降低手续费吗?

有两种办法可以免于支付高昂的手续费:

  • 使用 Layer-2 方案。比如通过 rollup 侧链来发送你的交易;
  • 使用更智能的手续费策略。就是按最低的手续费率来发送交易,然后有策略地提高费率,直至交易最终被打包。

虽然已经有多个真正有戏的 Layer-2 方案已经在开发中了,但他们都还不能支持你玩转 DeFi。因此,那就只有更智能的手续费策略这一条路可以走了,这也是我们 any.sender 所瞄准的领域。

我们的策略是什么样的?我们按照一个低于快速上链水平的费率来发送交易,网络每挖出一个新区块,我们都为队列中的所有交易重新估价,然后根据一个预定义的手续费策略提高费率。一笔交易的手续费估价已经提高约 13% 之后,any.sender 就会重新发布这笔交易。

所以说,我们的手续费加压策略是非常简单的,但它能最优地找出最低的网络手续费,同时保证上链时间在 1~3 分钟以内。

当然,手续费策略也必须逐渐改变以应对来自手续费市场的新的需求,但至少目前为止这个策略是能用的。那么,它到底能帮助节省多少费用呢

YAM 的诞生和灭亡

总结:any.sender 的交易的 Gas 价格比一个热门交易所和一个热门钱包的中继者平均低了 56~77 Gwei,比热门网站预估可快速上链的价格平均低了 19 Gwei。所有的交易都是在 6~7 分钟内上链的(绝大部分是在 5 分钟以内),而且,节约交易费最多的那部分也是最快上链的。

方法论。any.sender 使用上述方法每 3 个小时发出一笔新交易。我们跟踪从一个热门的钱包中继者和一个热门交易所发出的交易,并根据上链的具体时间选出这些交易。最后,我们从 etherchain 区块浏览器获得 “预估可快速上链的 Gas 价格”(就跟流行的 ethgasstation 网站提供的统计数据类似)。

3

- 图 1. 在 YAM 从生到死的两天内,23 笔交易的情况 -

图 1 展示了发自 any.sender 的交易、热门钱包中继者和热门交易所的交易所支付的 Gas 价格。还有预估的快速上链价格。

由此可见,手续费的浮动范围相当大,从 116 Gwei(any.sender)到 432 Gwei(热门交易所)都有。而预估可快速上链的 Gas 价格会大起大落。因此,YAM 从生到死这两天的情况,恰好是中继者必须实时处理的手续费高度波动情形的一个范本。毕竟,以太坊网络上从不平静……

我们回顾一下时间线:

  • 2020 年 8 月 12 日下午 3 点 ~ 8 月 13 日上午 11 点:YAM 诞生

那可是个销魂时刻,农民们热火朝天地种红薯,派拖拉机施肥,最终还要在 一击必杀·伪造者·红薯杀手 到来之前卖掉这些红薯。(译者注:近来兴起的 “流动性挖矿”(通过提供流动性来获得协议原生的代币)有一个别名叫 “Yield Farming”,直译过来就是 “耕种回报率”,而 YAM 代币的 logo 是一个红薯,因此有这一段戏谑的描述。)

在这段时间里,any.sender 发出的 9 笔交易中有 4 笔的 Gas 价格都低于 “预估可快速上链的 Gas 价格”,只有 1 笔高于热门钱包给出的价格。考虑到这段时间里矿工收获了超过 6 百万美元的手续费(区块链上活动极为活跃),any.sender 仍能支付低于预估可快速上链的价格,算是一个亮眼的成绩了。

  • 2020 年 8 月 13 日上午 11 点 ~ 2020 年 8 月 14 日 凌晨 2 点:YAM 落幕

4

- 我们怀念您,YAM -

这段时期,any.sender 发出的 7 笔交易中有 5 笔低于预估可快速上链的价格。所有交易的 Gas Price 都低于(所测量的)热门交易所和热门钱包给出的价格。

  • 2020 年 8 月 14 日凌晨 2 点 ~ 现在:CRUVE 又出来了?

5

- 我们抓住了 CURVE 启动的时间 …… 只花了一天的工作量 …… -

any.sender 发送的 6 笔交易中有 4 笔都低于 etherchain 预估的快速上链价格,而且每一笔的花费都比我们所测量的热门交易所和钱包的要少。

6

- 图 2. any.sender 的相对节约量(高于 0 的部分)和相对多消耗量(低于 0 的部分) -

图 2 展示了 any.sender 仅在少数时候才产生了更高的消耗,绝大部分场景中低于预估的快速上链价格。

详细说来:

  • 对比交易所,该交易所额外支付的价格从 23 Gwei 到 227 Gwei 不等。而 any.sender 的 Gas Price 对比该交易所平均节约了 77 Gwei。
  • 对比钱包,该钱包的超额支付的价格从 -13.81(仅有一次比我们的交易更低)到 152 Gwei。any.sender 的 Gas Price 比起该钱包平均节约了 56.9 Gwei。
  • 对比网站,有好几次,网站预估的快速上链都低于我们实际支付的价格,整体来说,与我们之际支付的价格差额从 -17.25 Gwei 到 79.03 Gwei 不等。而 any.sender 的平均节约量为 19 Gwei。

7

- 图 3. 我们的目标是让交易能在 3 分钟内上链,但是,在 YAM 爆火的那两天着实有点难 -

我们已经将目标微调为 2~3 分钟上链,因为这是使用大多数应用时的合理目标,也给了 我们充足的时间捕捉最低 Gas Price。

而且,虽然一些交易的上链时间比我们预期的要稍微长一些,所有交易都不会卡住。

我们在过去两天中收获的数据也能反哺我们的设计。所以下次还有 YAM 出现的时候,我们也将准备好极限冲刺。

为什么 any.sender 对比预估快速上链的价格的节约幅度相对最小?在手续费历史最高的时期,能够成功以低于估计价格的价格上链就已经令人难以置信了。我们认为,假设对可快速上链的 Gas 价格的预估是可靠的,我们的节约幅度相对较小,是因为我们的加压策略会使价格刚好越过可以快速上链的价格。

为什么只有 any.sender 能发出低于快速上链价格的交易?因为当前其它中继者的策略似乎是粗暴地设定一个固定的费率,然后因应手续费的波动情形周期性地调整这个固定的费率。大部分服务都 乐于支付更高的 Gas 价格,因为一笔交易被卡就会导致他们的整个队列处理受阻,而且中继者软件通常不能很好地处理这种情况。

但是,谁在付出这些超额的手续费呢?最终来说就是你,你们,用户自己,有时候你们会多花很多钱。

我们开发 any.sender 就是为了节约钱

去年我们就发现,用可靠又实惠的价格在以太坊上发送交易,不啻为一个技术难题。

没有哪个团队真正解决了这个问题。相反,大多数中继者都是读取 ethgasstation 网站的数据,在网站的预估快速上链价格上再加 50 Gwei,然后发出交易。要是那段时间网络的手续费恰好在飙升,你的交易就被卡住了。更惨的是,如果你使用一个第三方的中继者,那交易的 Gas 耗用量要增加 20 万!

我们 any.sender 的目标非常简单:

any.sender 的开发目标就是最小化交易手续费开销,办法就是一边捕捉最低价格,一边保证上链速度、不让交易被卡。

这些训练揭示了我们可以如何改进 any.sender,甚至用更低的价格获得更快的上链速度。敬请关注这个领域的创新!

感谢 Chris Buckland。

(完)


原文链接: https://medium.com/anydot/how-well-does-any-sender-cope-during-events-like-yam-wednesday-ef4d30ed279e
作者: Patrick McCorry
翻译: 阿剑

本文由作者授权 EthFans 翻译及再出版。


你可能还会喜欢:

GasNow:真正的 Gas 价格指示器

解读以太坊黄皮书:Gas、GasPrice 和 GasLimit

以太坊上发送交易的九种办法

 
0 人喜欢