对于以太坊用户来说,真正的灵魂三问莫过于:我在做什么交易?我该给多少的 Gas?应该把 Gas Price 设成多少才经济实惠?
简单来说,Gas 是用来度量以太坊上一笔交易所需花用的计算量的单位。一笔交易的复杂度越高,所需花用的 Gas 也就越多,所以,越是复杂的交易,在发起交易时越要设定(预留)较多的 Gas 额度,如果发起者预留的 Gas 数量不够多,交易会因为计算资源耗尽而失败。
但是好就好在,这事用不着操心,可以设一个自己的账户支付得起又充分大的数值,因为,没有用掉的 Gas 是不会计算手续费的,换言之,虽然你设置了这笔交易可以用掉 100 Gas,但实际上只用掉了 20 Gas,那打包你的交易的出块者就只能得到 20 Gas 的手续费,不能白收你的。此外,现在的 Gas 使用量估算技术已经很普遍了,用户使用 Metamask 钱包插件跟应用交互的时候,会发现自己根本不需要手动设置 Gas Limit,插件已经帮你估算好了。
数据:前ARB最大个人持币地址于过去9小时内抛售3728枚stETH,仍持有6294枚stETH:6月10日消息,据链上数据分析师余烬监测,前 ARB 最大个人持币地址 boby1337.eth 于过去 9 小时内已通过 CowSwap 将 3728 枚 stETH 兑换为 671 万枚 USDT,抛售均价为 1802 美元,目前该地址还持有 6294 枚 stETH,约合 1117 万美元。[2023/6/10 21:27:57]
但是讲到 Gas Price,就头疼了。大家都知道,这个参数表达的是交易发起者自己愿意为每一单位的 Gas 支付的价格,而这部分价格最终会被打包该笔交易的出块者得到;有鉴于此,出块者当然青睐那些 Gas Price 高的交易。但是,谁不想让手续费便宜一些呢?谁不想经济实惠地达成交易呢?
A股收盘:深证区块链50指数上涨0.25%:金色财经消息,A股收盘,上证指数报3393.33点,收盘上涨0.23%,深证成指报11860.4点,收盘上涨0.04%,深证区块链50指数报3525.44点,收盘上涨0.25%。区块链板块收盘下跌0.6%,数字货币板块收盘下跌1.07%。[2023/4/18 14:10:39]
因此,几乎所有的以太坊用户在日常使用中都会接触到一种工具:Gas 价格指示器,它的作用是告诉你,你设置多少的 Gas Price,就能让自己的交易在自己想要的时间内被打包。比如下图展示的就是生态里可能是最常用的 Gas 价格指示器:Gas Station。
Tokens.com子公司宣布与P2E游戏Splinterlands合作:金色财经报道,元宇宙贸易公司Tokens.comCorp.宣布其子公司Hulk Labs已获得P2E游戏Splinterlands验证节点许可证,并与Splinterlands团队建立了合作伙伴关系。Hulk计划与NFTyarcade合作,进一步扩展到Splinterlands生态系统。[2023/1/19 11:19:59]
大多数像你我一样的用户,在使用 Gas Station 时都不会发觉有什么问题。但是,假如你要做高频的交易呢?或者假如你要写一个交易机器人呢?Gas Station 真的可以依赖吗?
这可不是在找茬,也不是装神弄鬼。这篇文章就提到了 2020 年 3 月 14 日(因 ETH 价格暴跌而导致链上活动大量增加)时候许多用户的艰难遭遇:在以太坊协议中,一个账户发起的交易是有顺序的,由一个只增不减的流水号 nonce 来标记顺序;当你的前序交易因为 Gas Price 太低而被出块节点丢弃的时候,不论你给后序交易设置再高的 Gas Price,都于事无补,因为节点不能越过前序交易直接打包后序交易,但是前序交易已经丢弃了,这就等于使你的账户锁死了。唯一的解救办法就是找回你最早一笔还未上链的交易,使用这笔交易的流水号重发一笔交易,并且 Gas Price 要足够高。同样地,许多交易机器人也因为同样的原因被卡,原因就是因为它们依赖的 Gas 价格报告器对网络 Gas 价格的预估有误,发出几笔交易之后,机器人就卡死了。
英国央行:英国政府减税将促使关键利率发生“重大”变化:9月30日,据华尔街日报报道,英国央行称,英国政府减税将促使关键利率发生“重大”变化。[2022/9/30 6:03:08]
这些血淋淋的教训充分说明了,为每一笔交易安排合适的 Gas 价格,有多么重要。因为当链上应用活跃的时候(比如前一段时间的 Yield Farming 热潮),一笔交易的成功不仅会影响这笔交易,还会影响后序交易。
但是,是什么阻碍了我们获得准确的 Gas 价格估计呢?我们能克服吗?
在最根本上来说,阻碍我们的是区块链网络的点对点网络架构:所有节点都是分散的,当某一笔交易被发送到一个节点时,该节点做一定的校验之后会把交易数据广播给其它节点;这种网络结构决定了,没有任何一个节点能实时获得整个网络的未处理交易的全局状态,交易的传播需要时间,也需要偶然(某些节点可能会用更高的 Gas Price 作为门槛、拒收低手续费的交易来保护自己)。对于这一点,我们只能改善,不可能从根本上克服,因为我们不想要一个中心化的网络结构。
Citadel创始人Ken Griffin:美国SEC对加密货币监管不力:5月20日消息,量化交易巨头Citadel创始人Ken Griffin表示,稳定币需要被监督;美国证券交易委员会(SEC)对加密货币监管不力;我们需要定期披露支持加密货币的因素;加密货币监管环境与所需要的不一致。(金十)[2022/5/20 3:29:38]
但另一方面,至关重要的是我们预估 Gas 价格的方法。目前为止,绝大部分 Gas 价格指示器所用的方法,都是根据过去一段时间里被打包到区块里的交易的 Gas 价格加以统计方法处理,得出对未来 Gas 价格的估计。仔细想想这其实很不合理,在你发交易的这一刻,决定你的交易多快能上链的是现有未处理交易中比你交易的 Gas 价格更高的交易有多少,以及在你的交易还未打包的这段时间里有多少人发出了比你的 Gas 价格更高的交易。拿已经上链的交易,也就是历史数据,去做这样的预估,貌似合理,实则荒谬。当网络活动快速增加、Gas 价格快速攀升的时候,按历史数据估计的方法大概率只能给出低估的 Gas 价格。更准确的估计应该基于现有未处理交易的 Gas 价格分布,哪怕还需要统计方法处理,也会比拿历史数据来估计要更简单。
这就是 GasNow 厉害的地方。它不再基于历史数据来预测未来,它基于星火矿池节点的交易池中交易的 Gas 价格分布。为了收益的最大化,矿池一方面要尽可能地收集交易,另一方面,要从高到低打包交易池中待打包的交易。所以,GasNow 给出的数据,是真正具有参考意义的。
如图,网页直接告诉了你矿池交易队列中由高到低排序的第 50 笔、第 200 笔、第 400 笔交易的 Gas 价格。这就有的放矢了
理论上来说,所有的 Gas 价格指示器,都应该转变成 GasNow 这样的模式,不再根据历史数据,而是根据实时数据,来帮助用户做决策。但饶是如此,GasNow 也是有竞争力的。因为矿池的交易池会比普通的、没有优化的节点的交易池更全面,更有参考意义。
Gas Station 在自述中说,“希望能提高 Gas 价格的透明度”,这当然是个很有意义的目标;而且,Gas 价格的不清晰,其实根值于网络的点对点特性(因此,我个人非常不愿意把这种不清晰当成是一种 “问题”),值得更多人作出更多的尝试,用服务本身的分散性来降低点对点网络带来的不确定性、使我们获得更全局的视野。
但至少,GasNow 应该是离这个理想更近一步了。
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。