一文读懂以太坊概念分析

新手2/22/2024, 9:13:49 AM
本文科普以太上的Gas fee分類。

转发原文标题:一文读懂什么是以太坊Gas、Gas Limit、Gas price、Gas fee、Base fee、Max fee等

Gas翻译为中文是燃料/汽油的意思。在以太坊(或其他网络),为了执行特定的操作(比如发送代币、存储、兑换代币)需要消耗一定的燃料,这个燃料我们称之为Gas。这就好比汽车要跑,就需要消耗汽油。在以太坊,要进行各种交互,就需要消耗Gas。举个例子:

假设开车从A地到B地需要消耗10升汽油,每升的价格8元,那么,从A到B需要消耗的汽油费用:10*8=80(元)。

同样,在以太坊网络,假设执行发送代币这个操作,需要消耗Gas的数量是21000个单位,每个单位Gas价格是100gwei。则执行这笔操需要支付的费用:21000*100=2100000gwei。

为什么需要Gas

我们都知道,在web2当中最重要的一个策略就是免费,来吸引流量实现变现。那么web3中的以太坊为什么不这么做呢?

收取gas费除了打赏奖励矿工等激励性质的作用之外,另一个作用就是防止恶意的攻击,假设没有gas费的设置,攻击者就可以发布无数死循环的合约,然后不断通过发送交易让节点运行,劫持全网的大量算力使得系统瘫痪。通过规定gas消耗量,以避免一些代码恶意的无限循环,导致资源浪费。当所有的gas消耗殆尽,就停止继续运转,好比汽车的汽油耗尽,车就停下来不走了,这就不至于无效者继续占坑。

Gas Limit

什么是Gas Limit

在开头例子中,要计算从A地跑到B地汽油花了多少钱,除了要知道汽油价格(多少钱1升),还需要知道消耗的汽油量(用了多少升)。

同样,在以太坊网络,要计算某笔操作的成本(手续费),除了要知道Gas的价格,还要知道消耗的Gas的数量。

Gas数量要消耗多少,由合约创建者设定,不同合约、不同类型的操作,消耗的gas数量不尽相同,操作越复杂需要消耗的gas越多,所以很难预先估计Ga的消耗量,为此采取的办法是,给定一个比实际消耗更高的限值,即Gas Limit,如果实际未消耗这么多,剩余部分将退回用户。

在计算消耗的Gas数量时,钱包提供商比如metamask往往直接给出Gas Limit,如果实际消耗小于Gas Limit,剩余的返还。如果实际消耗超过Gas Limit,交易无法完成。

假设一笔以太坊网络转账需要消耗的Gas数量为21000,Gas Limit设置为50000,而实际只消耗21000,那么剩下的29000将自动返还。但如果实际消耗需要51000,而你只设置为50000,那么这笔交易将不会完成,消耗的50000也不会退回。

所以,如果试图通过减小Gas Limit数值达到减少手续费的目的,可能会适得其反。不仅交易可能不成功,手续费照样扣。

Gas Limit如何确定?

Gas Limit的数值一般是钱包提供商默认自动给出的,通常不需要我们手动修改或者调整。

Gas price

什么是Gas price

Gas price,是指 Gas 的价格/单价,通常用Gwei来表示。

Gas price如何确定

在2021年8月5日伦敦升级实施后,Gas price变成包含两部分的费用:基本费(base fee)和小费(Max priority fee)。

「1.Base fee」

即基本费。每个区块都有一个作为底价的基本费,为了有资格被包含在一个区块中,Gas价格必须大于等于基本费。基本费用的确定方法,这里不展开,反正用户自己修改不了,由以太坊本身决定。

「2.Max priority fee」

即小费的意思。在滴滴打车的时候,遇到高峰时段,如果加10元、20元小费,可能你会优先叫到车。在以太坊网络Gas费的设计机制中,同样适用这个道理。你给小费,就可能优先成交。这里需要注意,基本费是根据网络拥堵情况实时变动的,可以通过网站查询基本费,而小费可以自己调整,一般调高不调低。

「3.Max fee」

即每单位Gas的最高费用。最高费用是你愿意为每单位Gas支付的绝对最高金额,以使你的交易得到确认。在大多数情况下,你的实际交易费用将低于你预先指定的最高费用,你交易的最低Gas价格是当前的基本费用。然而,如果在你交易尚未完成时,基准费用增加了呢?那么,你的交易就有可能被卡住,或失败或被放弃。因此,为了在EIP-1559下实现可预测的交易结算,目前认为最好的做法是设置一个预期基本费用增加的最高费用。

上图是具体的交易信息:

  • 1、base fee:27.630981243 Gwei
  • 2、max priority fee:0.01 Gwei
  • 3、max fee:57.802896536 Gwei
  • 4、gas price:base fee + max priority = 27.640981243 Gwei
  • 5、gas limit:46,097
  • 6、Usage by Txn:46,097 (交易实际的gas量)
  • 7、gas fee: gas price * Usage by Txn = 1274166.312358571 Gwei = 0.001274166312358571ETH

声明:

  1. 本文转载自 [Web3星云], 原文标题“一文读懂什么是以太坊Gas、Gas Limit、Gas price、Gas fee、Base fee、Max fee等”,著作权归属原作者[dogwang],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。

一文读懂以太坊概念分析

新手2/22/2024, 9:13:49 AM
本文科普以太上的Gas fee分類。

转发原文标题:一文读懂什么是以太坊Gas、Gas Limit、Gas price、Gas fee、Base fee、Max fee等

Gas翻译为中文是燃料/汽油的意思。在以太坊(或其他网络),为了执行特定的操作(比如发送代币、存储、兑换代币)需要消耗一定的燃料,这个燃料我们称之为Gas。这就好比汽车要跑,就需要消耗汽油。在以太坊,要进行各种交互,就需要消耗Gas。举个例子:

假设开车从A地到B地需要消耗10升汽油,每升的价格8元,那么,从A到B需要消耗的汽油费用:10*8=80(元)。

同样,在以太坊网络,假设执行发送代币这个操作,需要消耗Gas的数量是21000个单位,每个单位Gas价格是100gwei。则执行这笔操需要支付的费用:21000*100=2100000gwei。

为什么需要Gas

我们都知道,在web2当中最重要的一个策略就是免费,来吸引流量实现变现。那么web3中的以太坊为什么不这么做呢?

收取gas费除了打赏奖励矿工等激励性质的作用之外,另一个作用就是防止恶意的攻击,假设没有gas费的设置,攻击者就可以发布无数死循环的合约,然后不断通过发送交易让节点运行,劫持全网的大量算力使得系统瘫痪。通过规定gas消耗量,以避免一些代码恶意的无限循环,导致资源浪费。当所有的gas消耗殆尽,就停止继续运转,好比汽车的汽油耗尽,车就停下来不走了,这就不至于无效者继续占坑。

Gas Limit

什么是Gas Limit

在开头例子中,要计算从A地跑到B地汽油花了多少钱,除了要知道汽油价格(多少钱1升),还需要知道消耗的汽油量(用了多少升)。

同样,在以太坊网络,要计算某笔操作的成本(手续费),除了要知道Gas的价格,还要知道消耗的Gas的数量。

Gas数量要消耗多少,由合约创建者设定,不同合约、不同类型的操作,消耗的gas数量不尽相同,操作越复杂需要消耗的gas越多,所以很难预先估计Ga的消耗量,为此采取的办法是,给定一个比实际消耗更高的限值,即Gas Limit,如果实际未消耗这么多,剩余部分将退回用户。

在计算消耗的Gas数量时,钱包提供商比如metamask往往直接给出Gas Limit,如果实际消耗小于Gas Limit,剩余的返还。如果实际消耗超过Gas Limit,交易无法完成。

假设一笔以太坊网络转账需要消耗的Gas数量为21000,Gas Limit设置为50000,而实际只消耗21000,那么剩下的29000将自动返还。但如果实际消耗需要51000,而你只设置为50000,那么这笔交易将不会完成,消耗的50000也不会退回。

所以,如果试图通过减小Gas Limit数值达到减少手续费的目的,可能会适得其反。不仅交易可能不成功,手续费照样扣。

Gas Limit如何确定?

Gas Limit的数值一般是钱包提供商默认自动给出的,通常不需要我们手动修改或者调整。

Gas price

什么是Gas price

Gas price,是指 Gas 的价格/单价,通常用Gwei来表示。

Gas price如何确定

在2021年8月5日伦敦升级实施后,Gas price变成包含两部分的费用:基本费(base fee)和小费(Max priority fee)。

「1.Base fee」

即基本费。每个区块都有一个作为底价的基本费,为了有资格被包含在一个区块中,Gas价格必须大于等于基本费。基本费用的确定方法,这里不展开,反正用户自己修改不了,由以太坊本身决定。

「2.Max priority fee」

即小费的意思。在滴滴打车的时候,遇到高峰时段,如果加10元、20元小费,可能你会优先叫到车。在以太坊网络Gas费的设计机制中,同样适用这个道理。你给小费,就可能优先成交。这里需要注意,基本费是根据网络拥堵情况实时变动的,可以通过网站查询基本费,而小费可以自己调整,一般调高不调低。

「3.Max fee」

即每单位Gas的最高费用。最高费用是你愿意为每单位Gas支付的绝对最高金额,以使你的交易得到确认。在大多数情况下,你的实际交易费用将低于你预先指定的最高费用,你交易的最低Gas价格是当前的基本费用。然而,如果在你交易尚未完成时,基准费用增加了呢?那么,你的交易就有可能被卡住,或失败或被放弃。因此,为了在EIP-1559下实现可预测的交易结算,目前认为最好的做法是设置一个预期基本费用增加的最高费用。

上图是具体的交易信息:

  • 1、base fee:27.630981243 Gwei
  • 2、max priority fee:0.01 Gwei
  • 3、max fee:57.802896536 Gwei
  • 4、gas price:base fee + max priority = 27.640981243 Gwei
  • 5、gas limit:46,097
  • 6、Usage by Txn:46,097 (交易实际的gas量)
  • 7、gas fee: gas price * Usage by Txn = 1274166.312358571 Gwei = 0.001274166312358571ETH

声明:

  1. 本文转载自 [Web3星云], 原文标题“一文读懂什么是以太坊Gas、Gas Limit、Gas price、Gas fee、Base fee、Max fee等”,著作权归属原作者[dogwang],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
It seems that you are attempting to access our services from a Restricted Location where Gate is unable to provide services. We apologize for any inconvenience this may cause. Currently, the Restricted Locations include but not limited to: the United States of America, Canada, Cambodia, Thailand, Cuba, Iran, North Korea and so on. For more information regarding the Restricted Locations, please refer to the User Agreement. Should you have any other questions, please contact our Customer Support Team.