为什么需要燃料
众所周知,以太坊由遍布世界各地的节点组成,其上执行的所有操作都会在每个节点执行一次,在网络上执行的每次计算都需要收费,这样可以防止不良行为者给网络带来垃圾信息。 为了防止代码中出现无意或恶意的无限循环或其他计算浪费,要求每笔交易对可以采用的代码执行计算步骤设置一个限制。简而言之,燃料费有助于确保以太坊网络的安全。
EIP-1559带来的改变
- 交易费用更容易预测
交易费由固定部分和浮动部分构成,即由原来的”竞价“模式变为 base_fee + tip 模式 - 节省用户费用
在EIP-1559之前,用户支付的费用会做为矿工的奖励,因此矿工更愿意打包付费高的用户,所以用户要想使自己的交易被尽快打包,他们需要支付比其它用户更高的费用来确保交易被优先处理,这种机制不单低效,用户的交易成本也比较高。现在成本更加透明,用户可以预期其交易被打包所需要支付的费用。交易时间也减少了,因为动态调整交易费用可以使网络更有效地用交易填充区块。 - 缩减了以太坊的总供给量
新模式下基础费用会被系统回收,从而使以太坊的供给量较之前减少,从而避免大量供给导致的通胀。
基本概念
gas
以太坊对在其上执行的操作会收取一定的费用。不同的操作费用由其复杂程度来决定,而复杂程度由GAS来度量。比如EVM中存储操作相较其它操作有更高的GAS、复杂的逻辑较简章逻辑有更同的GAS、合约间方法调用有更高GAS。
下表是一些典型交易Gas使用量。
操作类型 | Gas使用量 |
---|---|
以太坊转账 | 21000 |
发送ERC20(同质化代币) | 65000 |
发送NFT(非同质化代币) | 84904 |
不同代币间转换 | 184523 |
gasPrice
根据网络繁忙情况,同样GAS数量的交易需要支付的费用不同,在以太坊该费用的主要由gasPrice来调节。用户需要支付的总费用为 gasPrice * gas amount。gasPrice以下两部分构成:
- base fee: 这是一笔交易被提议者打包进区块所需要的最少费用,这个值由网络来决定,之前的区块中所包含交易总数量的多少会影响它的取值(具体规则见下文)。打包完成后这些费用会被系统收回。
- tip: 这是一个可选的费用,该费用会被作为提议者的奖励,高的tip会激励提议者优先将交易打包进区块。
用户支付总费用 = gas * ( base_fee + tip )
注:通常在发送交易时开发人员只需要设置maxPriorityFee即可,maxPriorityFee = base_fee + tip
wei是gasPrice的最小单位,以下是不同单位间的换算公式:
gasLimit(最高费用)
要在网络上执行交易,用户可以为他们的交易执行而愿意支付的费用指定最高限额。 为了执行交易,最高费用必须超过基础费和小费的总和。 交易完成后,会将最高费用与基础费和小费总和之间的差额退还给交易发送人。
gas费用动态调节
区块大小
以太坊的区块大小是由区块中所有交易的燃气(Gas)消耗总量来确定的。每个交易的Gas消耗是不同的,区块的Gas限制是每个区块中所有交易的Gas总消耗的上限。EIP-1559升级后区块最大为3000W gas,以1500W gas为基准来调节base fee。
调节方法
当区块总Gas大于基准时,base fee会相应增加,此时交易费用的增加会减少用户交易。当小于基准时base fee会相应减少,以激励用户完成交易。这种价格浮动机制可以让用户根据其交易紧迫程度选择恰当的时机进行交易。
费用计算方法
base fee由一个公式计算得出,该公式将上一个区块的大小(所有交易中使用的燃料数量)与目标大小进行比较。 如果超过目标区块大小,每个区块的基础费将最多增加 12.5%。比如,1. 前一个区块中交易总gas恰好等于基准1500W,那么下个区块将不会调整费用;2. 前一个区块中交易总gas已经达到上限3000W,那么下个区块中base fee调整为 base_fee * ( 1 + 12.5% )。
上个区块gas容量 | base fee调整 |
---|---|
1500W gas | 保持不变 |
3000W gas | 增加12.5% |
介于1500W和3000W间 | 增加幅度小于12.5% |
小于1500Wgas | 减少幅度小于12.5% |
空块 | 减少12.5% |
以下是从以太坊浏览器查看到的相临两个区块base fee动态调整的截图:
上面的区块总容量小于基准,因此下一个区块的base fee会相应下调文章来源:https://www.toymoban.com/news/detail-793201.html
参考文档:
以太坊白皮书
EIP-1559
https://docs.alchemy.com/docs/eip-1559文章来源地址https://www.toymoban.com/news/detail-793201.html
到了这里,关于以太坊GAS详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!