什么是 Gas 费(Gas Fee)?Gas Fee 的计算方法

2023-04-23分类:区块链技术 阅读(

Gas Fee 是指在区块链用户在执行交易或与智能合约交互时,需要向网络验证者支付的费用,这些费用一般会以区块链网络原生资产的形式支付。

Gas Fee 最初被设计为用于补偿网络验证者验证交易所需要的能耗,并为区块链网络本身提供一层安全保障——使用户恶意发送垃圾交易的成本变高。

Gas 一词最初是由以太坊提出的,根据以太坊开发者页面,“Gas 是使以太坊运行的燃料,就像汽车需要汽油运行一样。”

其他区块链网络有的沿用了 Gas Fee 的用法(如 Polygon、BNB Chain 等),有的可能会称这些为交易手续费、矿工费或其他类似的费用(如比特币、Litecoin 等),但本质上都是用户为了执行交易向网络验证者支付的费用。

Gas Fee 的计算方法

不同网络有不同的 Gas Fee 计算方式,我们以以太坊为例:Total Fee = Gas limit * (Base fee + Priority fee)


来源:MetaMask
  • Gas Limit 指的是用户愿意在某一交易中花费的最大 Gas Unit。Gas Unit 是衡量在以太坊网络上执行特定操作所需的计算工作量单位,某笔交易需要的 Gas Unit 是由交易涉及的计算工作量大小决定的,因此执行不同的交易需要的 Gas Unit 是不同的。例如,1 个标准的 $ETH 转账交易需要 21,000 Unit 的 Gas,而涉及智能合约的交易一般更为复杂,所需要的 Gas Unit 也更高。
  • Base Fee 指的是某一交易在以太坊中被执行所需要的最小 Gas Fee,这个值是根据任意特定时间与网络进行互动的用户数量动态调整的,互动用户越多,Base Fee 越高。实时 Base Fee 可以在 Etherscan Gas Tracker 中查看。
  • Priority Fee 指的是为了让某笔交易更快被执行、由用户主动附加的额外费用。以太坊网络的验证者可以看到哪些交易附带了 Priority Fee。当验证者验证一个附加了 Priority Fee 的交易时,他们会收到这笔费用。因此这个机制鼓励验证者优先完成附带更高 Priority Fee 的交易,以赚取更多的利润。另一方面,想要比其他用户更快完成交易的用户就需要在交易中附加更多的 Priority Fee。

注:以上计算方式是以太坊网络 2021 年 8 月伦敦升级后的现行计算方式,想要了解伦敦升级前的计算方式,请参考 EIP-1559。

Gas 退款机制


来源:Ethereum.org

假设我们将 Gas Limit 设定为 50,000 执行一笔 $ETH 转账交易,网络验证者将消耗 21,000 Unit 的 Gas,剩余的 29,000 将被退回。

假设我们将 Gas Limit 设定为 20,000,网络验证者依然会消耗掉 20,000 Unit 的 Gas 以试图完成交易,但由于 Gas Unit 不足,这笔交易将不会被确认。但由于验证者已经完成了价值 20,000 Gas Unit 的工作,这 20,000 Unit 的 Gas 将被消耗而不会退回。

Gwei

在以太坊进行交易并支付 Gas Fee 时,我们经常可以看到 Gwei 一词作为 Gas Fee 的单位,那么 Gwei 是什么呢。

在设计以太坊时,$ETH 被设计为最小能分拆为 1,000,000,000,000,000,000 份(18 个 0),为了方便计算,最小分拆单位被设定为为计量单位 wei。后来由于 Gas Fee 通常比 1 $ETH 少得多,Gwei (gigawei) 被设定为用于表示 Gas Fee 的计量单位。giga 的意思是千兆(就像 gigabyte-GB 一样,千兆字节),1 $ETH = 1,000,000,000 Gwei(9 个 0)

Tags: Gas