Gas是什么以及为什么需要Gas?以太坊Gas是如何计算的?

2023-11-26分类:区块链技术 阅读(


以太坊是一个去中心化的智能合约平台,它允许用户在其网络上执行各种类型的交易,如转账、创建代币、部署合约等。然而,每一笔交易都需要消耗一定的计算资源,因此也需要支付一定的费用。这些费用是以以太坊的本地货币,以太币(ETH)来支付的,而用来衡量计算资源的单位就是Gas。那么,Gas和手续费是如何在以太坊上工作的呢?

Gas是什么,以及为什么需要Gas?

Gas是以太坊网络上的一种度量单位,它表示执行特定操作所需的计算复杂度。不同的操作会消耗不同的Gas,例如,简单的转账操作可能只需要21000个Gas,而部署一个复杂的合约可能需要数百万个Gas。Gas的目的是为了限制交易的规模和复杂度,以防止网络被恶意或无效的交易占用过多的资源。

Gas的价格是以gwei为单位的,gwei是ETH的一个分数,每个gwei等于0.000000001 ETH(10^-9 ETH)。例如,你可以说你的Gas价格是1 gwei,而不是说你的Gas价格是0.000000001 ETH。gwei这个词本身是giga-wei的缩写,它等于10亿个wei。wei是以太坊上最小的货币单位,以b-money的创始人Wei Dai的名字命名。

以太坊的Gas是如何计算的?

在2021年8月,以太坊进行了一次重大的升级,称为伦敦升级,它改变了以太坊上的手续费结构。现在,每笔交易的手续费由两部分组成:基础费和优先费。

基础费是由协议自动设定的,它根据网络的拥堵程度来调整。当网络的需求增加时,基础费会上涨,当网络的需求减少时,基础费会下降。基础费的目的是为了使手续费更加可预测和稳定,以及减少用户之间的竞价行为。当交易被打包到区块中时,基础费会被销毁,从而减少ETH的流通量。

优先费是由用户自己设定的,它是给验证者的小费,以鼓励他们优先打包用户的交易。优先费的目的是为了让用户有更多的灵活性和控制权,以及激励验证者保持网络的安全性和活跃度。当交易被打包到区块中时,优先费会被验证者收取,作为他们的奖励。

每笔交易的总手续费是由以下公式计算的:

Gas用量 * (基础费 + 优先费)

Gas用量是指执行交易所需的Gas数量,它取决于交易的类型和复杂度。例如,一个简单的转账交易可能只需要21000个Gas,而一个复杂的合约交易可能需要数百万个Gas。

基础费和优先费是以gwei为单位的,它们可以根据市场的供需来变化。例如,当网络的需求很高时,基础费和优先费可能会上涨,当网络的需求很低时,基础费和优先费可能会下降。

让我们举一个例子,假设Alice要给Bob转账1 ETH。假设基础费是100 gwei,Alice设置了10 gwei的优先费。根据上面的公式,我们可以计算出这笔交易的总手续费是:

21000 * (100 + 10) = 2310000 gwei

或者0.00231 ETH。当Alice发送这笔交易时,她的账户会被扣除1.00231 ETH。Bob的账户会收到1.0000 ETH。验证者会收到0.00021 ETH的优先费,而0.0021 ETH的基础费会被销毁。

Tags: Gas