尽管被称为“以太坊网络的血液”,但在以太坊社区之外,Gas费仍然是个晦涩难懂的名词,虽然Gas通常用于描述以太坊网络上的交易费用,但真正了解Gas需要深入了解以太坊的运行机制。
Gas费和智能合约
ConsenSys将Gas费定义为“使用以太坊的计量单位”,但可以总结为一个更简单的解释,也就是使用该以太坊世界计算机的费用。
Gas所代表的不仅仅是在以太坊网络上处理交易的成本,以太坊能够运行各种应用程序,从而使其成为去中心化网络的基础。因此,从技术上讲,Gas可以被称为“交易费”,但应谨慎使用。
以太坊网络的创建者之一加文·伍德(Gavin Wood)撰写的《以太坊黄皮书》(Ethereum Yellow Paper)精确列出了有关该网络的特定指令的Gas成本:
在网络上执行的每种类型的指令都有其自己的固定价格。要确定交易或智能合约的成本,只需将其执行的每条指令的价值相加即可。
然而,当实际必须支付Gas费时,就会出现问题。
最能描述Gas的术语是以太坊网络的燃料。但是燃料本身并不是一种货币,它需要购买并以美元或欧元计价。
要支付费用,它需要使其以太坊(以太坊网络的基础加密货币)表示,像石油一样,没有固定价格将天然气转化为醚。留给买卖双方(矿工)来制定一个适合双方的价格。该定价是通过虚拟拍卖实现的。
相关文章:
一文读懂以太坊ETH
如何在币安交易所购买以太坊ETH?
Gas在以太坊网络上的工作方式
为了在以太坊网络上执行指令,交易的发送者需要在将其提交给网络之前指定“gas limit”。“gas limit”是某人愿意为其指示进行处理的最高Gas数量。
这些交易的处理器,服务器操作员(称为矿工)在收到挂起的交易时有几种选择。首先,他们可以通过使用计算机处理指令,在过程中使用电力来接受交易,并保留发件人设定的附加费用。如果发件人设置了比交易所需的更高的“gas limit”,他们还可以向发件人退还一些Gas。或者,如果发件人设置的“gas limit”低于当时市场所支付的“gas limit”,则他们可以拒绝此次交易。
如果交易的指令(执行中)在矿工正在处理时用尽了Gas,那么它将 “恢复为原始状态”。换句话说,交易被返回给发送者。尽管如此, 即使只是部分完成交易,发送方仍必须向矿工支付一定的费用,以补偿他们为处理交易而花费的计算能力。矿工还必须将交易添加到区块链,即使尚未完全执行。如果发件人指定了比必要的更高的“gas limit”,则矿工会将差额退还给发件人。
尽管此机制因其处理交易的方式而广受赞誉,但实际上却很容易出现复杂性。
对于高“gas limit”的交易,这个问题尤为严重。对于比特币和其他以支付为中心的区块链来说,支付更多通常意味着交易发送速度更快。以太坊并非总是如此。对于以太坊网络上的每个区块,矿工都受到最大的“block gas limit”的约束,“block gas limit”决定了每个区块可以消耗的最大gas数量。
当前的“block gas limit”大约设置为10,000,000 Gas,矿工不太愿意包含高“gas limit”的交易,因为这会浪费一部分“block gas limit”。对于这些高“gas limit”交易,矿工通常会退还其中的大部分款项。相反,矿工选择进行较小的交易。
例如,对于矿工而言,两个单独的Gas为21,000 Gas的交易比一个Gas为42,000的交易更有经济意义。
Gas费的问题
为了使以太坊能够用作世界计算机,网络上的费用必须微不足道。因此,支付这些交易的方式以太坊也需要以微不足道的数量标出。
为了跟踪费用,费用以几个较小的单位命名,最广泛使用的是gwei。1 gwei等于0.000000001ETH(10 ^ -9)。
还有其他单位,它们都以密码学界的重要人物命名。但是,它们都不像gwei那样被广泛使用或公认。
如何计算以太坊交易费用
有几种方法可以计算在以太坊网络上执行交易所需的费用,建立网络的方式可以设置任意费用。因此,从理论上讲,发件人可以选择任意数量作为他们愿意支付的交易费用,而无论其微小程度如何(低至1 gwei)。
实际上,由于矿工仍然受到收费的激励,因此这种方式行不通。
在网络上有数十种Gas费计算器,可以让资深以太坊用户大致了解他们的交易需要多少Gas。我们建议ETH Gas加油站有其直观的界面和准确性。
截至发稿时,在5分钟内发送交易将花费23 gwei(约合0.091美元)。要在2分钟内发送交易,这将花费34 gwei(约合0.135美元)。
就是说,这些建议的价格仅是估计值。无论Gas价格如何,仍然存在不确定性因素。最近200个区块(约30分钟)中有97%接受了21,000个Gas价格为35 gwei的交易。根据计算器,具有这些特征的交易在网络上得到确认的平均时间为21秒。
即使这样,也可以在没有在线计算器的情况下在以太坊网络上确定交易费用。潜在的发送者只需要知道以太坊的每个操作需要多少Gas,然后基本了解Gas的平均市场价格即可。
例如,以太坊网络上的简单代币传输需要21,000Gas才能完成。4月的第三个星期,平均Gas价格约为20gwei。因此,计算交易费用需要将所需的Gas单位乘以现行的Gas价格即可。
21,000气体x 6 gwei = 126,000 gwei = 0.000126 ETH
以当前价格,发送21,000令牌转移的用户将为网络进行处理和验证支付$ 0.021的Gas费。
以太坊拍卖机制存在的问题
以太坊使用“首次价格拍卖”系统对Gas进行定价。该系统通过让每个发件人提交愿意支付多少的出价(称为Gas limit)来工作。矿工然后挑选所需的交易并将其包括在下一个区块中。从理论上讲,这允许发送人通过支付更高的费用来确定交易的优先级,同时通过退款节省以太坊。 实际上,这种机制存在严重缺陷。
通常发生的情况是,矿工选择出价最高的交易,从而导致发送方对他们进行的其他交易设置更高的出价。还有一个透明度问题。有人无法知道其他未决交易带来了什么出价,这也导致了超额付款。
以太坊的开源教育中心Ethhub 的创始人埃里克·康纳(Eric Conner)指出,不同发件人在一个区块中支付的交易费用通常存在很大差异。康纳(Conner)建议,根据他的数据,许多用户经常多付5倍于所需的费用。
以太坊改进提案(EIP)编号1559通过提出网络基本费用来解决此问题。然后,称为BASEFEE的EIP 将根据网络的拥塞程度来调整该数字。
当前使用的拍卖机制没有考虑对网络的需求,这导致了严重的拥塞。在某些情况下,这甚至导致以太坊网络在某些应用中陷入瘫痪。
为了使像BASEFEE这样的系统正常工作,一个区块的最大Gas容量需要从1000万增加一倍到2000万。这样,block gas limit 可以动态调整。例如,如果网络利用率为50%(平均负载),则新系统会将block gas limit 设置为1000万。
康纳(Conner)建议,当使用超过50%的网络时,基本费用会增加,反之亦然。他解释说,这将使钱包能够以可靠的方式自动为用户设置汽油费,从而有效地消除了对人工费用调整的需求。
该提案最值得注意的方面是,矿工将不再能够从收费中获利。BASEFEE提议销毁费用,而不是将费用付给矿工,这迫使矿工仅通过区块奖励就赚取收入(每天在所有矿工之间分配约350万美元)。销毁费用将阻止矿工操纵交易以从发件人那里获得更多的钱。它还将确保仅以太币可用于支付交易,从而巩固其价值。
取而代之的是,矿工将从“小费”中获利,“小费” 是钱包设定的少量固定货币来补偿它们。较高的小费可确保更快的结算时间,但不会导致非自愿多付款,当前系统经常如此。
许多人期望此更新将在以太坊即将到来的迭代版本以太坊2.0中找到自己的位置,该版本将带来赌注并大大提高网络中以太坊的经济价值。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。