什么是 Gas
Gas 是理解以太坊网络的最重要和最基本的方面之一。
Gas 是让它(以太坊)运行的燃料,就像汽车需要汽油来运行一样。
在浏览入门教程时,你可能已经注意到,在以太坊网络上进行的交易需要用户支付一笔交易费。
- 这个交易费是如何计算的?
- 你需要为一笔交易支付多少 ETH?
- 为什么有些交易比其他交易更贵?
- 为什么会 存在 Gas 费用?
这些问题的答案就在 Gas 的概念中。
最近的一次升级,即 2021 年 8 月的伦敦升级,稍微改变了交易费用的计算方式和 Gas 的工作方式。出于这个原因,我们将把本教程分为两个部分。
- 伦敦升级前
- 伦敦升级后
伦敦升级前的内容很好理解,比伦敦升级后的内容更容易让你初步理解,同时也提供了升级的动机。
Gas 一般概念
就像秒是时间单位,米是距离单位一样,Gas 本身就是以太坊网络上的一个计算单位。
Gas 单位是用来衡量在以太坊上执行交易所需的计算量的。由于每笔交易的执行都需要一定的计算资源,因此需要支付一定的费用,通常称为 Gas 费或交易费。
Gas 费是以以太坊的原生货币--以太坊或 ETH 支付的。燃气费的计算方式在伦敦升级之前和之后略有不同。
注意:一般来说,当有人说'Gas'--他们指的是'Gas 费用'而不是单位本身。然而,为了本教程的目的,我们将在技术上正确地说 "Gas",指的是单位,而 "Gas 费用 "指的是以太币的费用。
伦敦升级前
在伦敦升级之前,你需要为一笔交易支付多少以太币是用一个简单的公式计算的。
燃气费 = 燃气花费 * 燃气价格
- Gas Spent 是指用于执行交易的 Gas 总量(以 Gas 为单位)。
- Gas 价格是指你愿意为每一 个 Gas 单位的执行支付的乙醚数量
Gas 价格以 gwei 为单位--ETH 的一种计价方式。
1 Gwei = 0.000000001 ETH
1ETH = 10^9 Gwei
因此,你可以说你的天然气价格是 0.000000001 ETH,而不是说你的天然气价格是 1 Gwei。
Gwei 是 Giga-Wei 的缩写,等于 1,000,000,000 (10^9)Wei。Wei 是 ETH 的最小面额。1ETH=10^18 魏。
例子
就执行所需的 Gas 量而言,最便宜的交易只是将 ETH 从一个账户转移到另一个账户。这笔交易需要 21,000 个 Gas 单位。
假设 Alice 想给 Bob 支付 1 个 ETH。Gas 成本是 21,000 个 Gas。假设 Gas 价格为 200Gwei。
因此,燃气费=21,000 * 200 = 4,200,000 Gwei = 0.0042 ETH
因此,当 Alice 寄钱时,1.0042 ETH 将从她的账户中扣除,而 Bob 将收到 1 ETH。0.0042 ETH 的费用将归于开采包含 Alice 交易的区块的矿工。
你可能想知道,天然气价格是如何被设定为 200Gwei 的?燃气价格设置为多少是由用户决定的。气价较高的交易有较高的优先权被纳入区块,因为矿工首先开采这些交易会得到较高的报酬。因此,天然气价格,基本上就像一个公开的拍卖,或对矿工的贿赂。谁愿意向矿工支付最高的价格,或最高的贿赂,谁就能比低价的人更快地得到他们的交易。
像 Metamask 这样的钱包会根据当前的网络条件为要执行的交易提供合理的天然气价格估算--因此大多数用户不需要自己去碰天然气价格值。(虽然,你可以通过 Metamask 设置启用修改)。