以太坊的 Gas 费是以太坊网络的动力,就像汽油是汽车的动力一样。我们普通用户参与到区块链中,无论是交易 Token,还是使用区块链上的去中心化应用程序(编写成智能合约),Gas 费都是一道绕不过去的坎。所以我们值得花点时间去了解一下以太坊的 Gas 费是什么,为什么要有 Gas 费,如何操作能够节省 Gas 费。
Gas 是指在以太坊网络上执行特定操作所需的计算工作量。
由于每笔以太坊交易都需要计算资源才能执行,每笔交易都需要付费。在这个方面上,Gas 是指在以太坊成功进行交易所需的费用。
Gas fee = Gas Price * Gas Used(Gas 费 = Gas 价格 * Gas 使用量)
Gas 费用是以太坊的货币 ETH 支付的,单位是 Gwei,1 Gwei = 0.000000001 ETH = 10 的 -9 次方 ETH
Gas Price: 用户愿意为每个 Gas 支付的价格,是由用户自己竞价。
Gas Used: 是用户执行操作消耗的 Gas 总量,是固定数额,ETH 转账为 21000,其他 ERC20 代币因为是智能合约,一般比 21000 贵,具体由智能合约代码复杂度决定。我们可以通过网站 http://etherchain.org/tools/gasnow 看到常见的 Tokens 交易的 Gas Used。
正如你开汽车需要汽油,运行应用程序(交易 ETH、部署合约)需要 Gas。
消耗 Gas 的量是固定,但是 Gas 的单价是波动的。比如说汽车要跑 20KM 需要 1 升汽油,但是加油站汽油多的时候,1 升汽油的价格是 10 美金,但是加油站汽油不足的时候,1 升汽油的价格可能是 100美金。对应到以太坊网络,网络不拥堵的时候,Gas fee 会比较低;网络拥堵的时候,Gas fee 可能会非常的高。
以太坊就像手机的安卓系统,你在上面给别人发信息(转账)、拍照存储照片(存储)、安装软件(部署智能合约),都需要花费一定的费用(Gas 费)。
我们都知道,免费容易导致泛滥和不规范,收费的社区和不收费的社区,质量和服务是完全不一样的。Gas 的存在,可以保护以太坊网络的安全,假如说没有 Gas 费,大家都可以去上面交易和执行计算,就会产生垃圾信息和浪费资源。有 Gas 费,作恶的成本就会上升,理性的情况下,没有人愿意花钱干一件对自己没有任何意义的事情。
以太坊是去中心化的网络,需要保证网络的安全和运行,还要保证有人去记录交易,那大家为什么愿意去干这个事情呢?这就是矿工做的事情,矿工挖矿得到记账权,会得到系统自动发的 ETH 的奖励,同时每笔交易都有一个手续费(Gas 费)。有记账权矿工的收益 = 挖矿得到的 ETH + 记账手续费(Gas 费)。
BTC 的总量是固定的,为 2100 万枚。但是 ETH 没有固定上限,那怎么保证它的数量不会太多而发生贬值呢?这也是 Gas 的一个功能,Gas 是使用 ETH 来付费的,手续费中的 Base 部分,会被销毁(所谓的销毁,就是把币转到一个黑洞地址,谁都没有私钥,这部分币会永远退出流动性,不能进行交易)。这样就保证了流通中的 ETH 不会只增无减。
稍微总结一下:Gas 费能够激励人们去维护以太坊网络的安全,防止产生过多的垃圾信息;同时交易有 Gas 费,大家都争着去记账;Gas 费中的大部分会被销毁,以维持流通中 ETH 的数量不会过高。
Gas fee = Gas Price * Gas Used(Gas 费 = Gas 价格 * Gas 使用量)
我们看公式就会发现,右边部分 Gas Used 是相对固定的,我们无法改变。我们能够操作的是 Gas Price,而 Gas Price 是波动的,每分钟的价格都不一样。下面是 Gas Price 在 2022-02-10 至 2022-02-17 的每天每个小时的价格。
因此,我们可以通过看实时的 Gas Price 价格,当 Gas Price 价格偏低的时候,我们再去交易,就可以节省一大笔费用。下面是几个常见的、查看以太坊 Gas 费的网站:
Chrome 浏览器也有一个插件 Blocknative,能够实时看到 Gas 的价格。
EIP-1559 协议之前,以太坊的 Gas 费就像拍卖模型,出价高者先交易。什么意思呢?比如说我和你去加油站加油,你出价 10 美元/升汽油,我出价 8 美元/升汽油,工作人员就会优先给你加油,如果人数多的话,就优先给出价高的人加油。这样就容易导致一个问题:矿工可能会人为制造网络拥堵,让大家支付更高的手续费。
EIP-1559 协议之后,Gas 费 = (基础费 + 矿工小费)* Gas Price,其中基础费会被销毁掉,Gas Price 会随着网络拥堵情况,升高或者降低。
比如上一张图中的 Gas Price 为 48 Gwei,如果你的交易不紧急的话,你可以把交易的 Gas Price 设置为 30 Gwei;如果你的交易是很紧急的话,可以设置为 60 Gwei,则可以更快地交易成功。
如下图中的一笔交易为例,重点说一下圈出来的部分。
如果 Gas limit < Gas Used,交易会失败,但是因为矿工已经去计算了,所以 Gas 费花了,但是没有执行成功。无论交易成功与否,你都要为此支付“燃料费”,这是因为即使交易失败,矿工依旧为此交易进行校验和计算,消耗了资源。为了避免合约中的错误,引起不可预计的燃料消耗,用户需要在发送交易时,设定允许消耗的燃料上限,即 Gas limit。这样的话不管合约是否良好,最坏情况也只是消耗 Gas limit 限制的燃料。就像开车到目的需要 10 升油,你只加了 8 升,你往目的地开车,到不了目的地,但是你的油也要耗费了。
虽然用户 A 花费的手续费比用户 B 更低,但是矿工会优先执行用户 A 的交易,这样对用户就更加的节省手续费。
EIP-1559 协议:没有 EIP-1559 协议之前,以太坊存在以下问题:
EIP-1559 协议后,Gas fee = (Base + Priority) * Gas Price,也就是基础费用+矿工小费。其中 Base 部分根据网络拥堵情况,按 12.5% 幅度增减,且全部销毁。
这样就解决了上面的两个问题:费用可预测,矿工没有动机去人为制造网络拥堵,短期看矿工收益受到影响,长期看因为网络更加稳定、交易量的增加和币价的升值,收益更可观;销毁 ETH 解决了通胀的问题。
简单说就是,EIP-1559 协议给 ETH 加入了烧毁机制,且让网络拥堵情况更加透明、可预测,优化以太坊网络。
Bitget电脑网站,多种实用功能
【本文标题和网址,转载请注明来源】虚拟货币燃料费计入成本吗 http://www.gdmzwhlytsq.com/bibaike/365273.html