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

我的网站

当前位置: 主页 > 比特币 > 比特币资讯

科普:为什么以太坊Gas费突然大幅下降?(2)

时间:2021-04-25 21:17来源:未知 作者:admin 点击:
通常用户在进行转账时还会看到钱包会提高可以调节 Gas Limit 的选项。与 Block Gas Limit 不同,Gas Limit 是指对于一笔交易,用户所能接受的 Gas 使用量上限。

通常用户在进行转账时还会看到钱包会提高可以调节 Gas Limit 的选项。与 Block Gas Limit 不同,Gas Limit 是指对于一笔交易,用户所能接受的 Gas 使用量上限。由于有时合约内可能存在漏洞,一笔交易会不停死循环地进行计算。如果没有 Gas Limit,这笔交易会消耗尽用户钱包内所有的 ETH。而矿工通常所收取的费用是按实际执行该交易时消耗的计算量 (Gas Used by Transaction) 进行结算的,而 Gas Limit 内剩余的 ETH 就会回到用户账户中。

所以我们可以得出,所消耗的 ETH 数量 (Ether Cost)= 交易费用 (Gas Fee/Transaction Fee) = 每笔交易所消耗的 Gas 数量 (Gas Used By Transaction) * Gas 价格 (Gas Price)。

了解了以太坊的手续费机制以及账户类型,我们来看看用户在交易时时常会碰到的问题。

待确认交易 (Pending)/加速交易?

每当用户发起一笔交易时,交易会被放入一个交易池 (Mempool) 中。如上文提到,矿工会优先打包池子中 Gas Price 最高的交易(矿工的趋利性)。所以用户设定的 Gas Price 决定了交易被打包执行的速度。在网络拥挤的时候,由于 Gas Price 飙升,用户的交易可能长时间处于待确认状态。为了尽快将待定交易发出,用户可以选择支付更多的 Gas Price 来加速交易(律动注:理解为给矿工更多的酬劳以达到一个插队的目的)。

加速交易又是怎么操作的呢?为了更加详细地理解加速交易的逻辑,我们需要明白另一个参数:Nonce。每一个账户发出的交易都会有一个按顺序排列的交易编号--Nonce,从 0 开始,每次发起一笔转账,该账户的 Nonce 值会增加 1。

当用户想要加速交易时,在以太坊钱包中,用户可以选择加速交易选项,这时会被要求支付更高的 Gas 费用,用户同意之后相当于发起了一笔新的交易,而新的交易与待确认交易的 Nonce 值相同。

由于以太坊网络规定,Nonce 值是连续不可跳跃的,且同一个地址每笔交易的 Nonce 值不可重复,所以矿工会打包新生成的交易,在新交易被打包确认之后,之前较低 Gas Price 的交易会废弃掉。

若用户不想加速交易,只要此交易还在交易池中未被打包,用户可以随时选择取消交易。取消交易的逻辑与加速交易相同,用户发起一笔 Gas Price 更高,但与待确认交易 Nonce 相同的交易,但交易金额变为 0,所以本质上,取消交易的成本与加速交易的成本一样需要成本。

需要注意的是,在待定交易确认完成之前,后面的交易都需要排队等候,所以用户不要由于等候时间过长重复发起多笔交易。

交易失败 (Fail)

律动 BlockBeats 发现,目前最常见的交易失败原因是交易 Gas 已用尽 (Out of Gas)。也就是说,这笔交易的计算量超过了用户所设定的 Gas Limit。一般在这种情况下,交易状态将会显示为失败,并提示 Gas 已用尽,并且所支付的 Gas 不会被退还。 (责任编辑:admin)

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