Web3系列教程之入门篇---2:什么是Gas
理解以太坊网络的核心要素之一就是“Gas”。Gas就像是汽车所需的汽油,为以太坊提供运行所需的能量。在交易时,用户需要支付一笔交易费用,也就是所谓的Gas费用。
当以太坊网络进行升级,如2021年8月的伦敦升级时,交易费用的计算方式和Gas的运作方式也有所变化。因此,本教程将分为两个部分,前部分易于理解,后部分提供升级的动力。
在伦敦升级前,交易费用的计算是基于简单的公式:Gas费用 = Gas使用的数量 × Gas价格。Gas价格以gwei为单位,1Gwei等于0.000000001ETH。
例如,如果Alice想向Bob支付1ETH,交易的Gas成本为21,000Gas,假设Gas价格为200Gwei,那么Gas费用为4,200,000Gwei,即0.0042ETH。这笔费用会被矿工从包含Alice交易的区块中获得。
用户可以使用钱包如Metamask,根据当前网络条件为要执行的交易提供合理的Gas价格估算。
在执行交易时,每个智能合约被编译成字节码,然后在以太坊虚拟机上运行。这个过程涉及到一系列操作,称为OPCODES。每个OPCODE都有固定的Gas成本。这些成本相加,构成了智能合约执行所需的总Gas费用。
为了确保每个区块的计算成本不超过允许范围,以太坊网络对单个区块中的最大Gas量施加了限制。这确保了节点不会由于计算复杂性的增加而与网络的其他部分脱节。
在伦敦升级后,每个区块都会设置基本Gas费用,这是包含交易的每单位Gas的最低价格。这个价格由网络根据对块空间的需求本地计算,这些基本费用将被销毁,以减少ETH的供应量并达到平衡。此外,引入了小费的概念,用于补偿矿工执行和传播用户交易。钱包会自动设置小费,但用户可以选择手动设置。
升级后的Gas费用计算公式为:Gas费用 = Gas使用的数量 × (基本费用 + 小费)。
在伦敦升级之前,所有区块的区块Gas限制是恒定的,为15MGas。然而,伦敦升级引入了可变块大小,每个区块有一个15MGas的目标Gas限制,但大小可以根据网络需求增加或减少,最高可达30MGas。平均而言,网络通过修改区块大小和基本费用达到了1500万左右的平衡。
以太坊的目标是成为一个高度安全和去中心化的区块链网络,执行智能合约。然而,高昂的Gas费用是一个热门话题。因此,正在进行多项工作来降低Gas费用和改善用户体验,包括以太坊2.0升级和第2层扩展。
最后,推荐使用以下资源获取更多关于Gas的详细信息:[1] GitHub上的EVM操作码列表[2] 有关Gas的YouTube视频[3] 伦敦升级的官方文档[4] 智能合约中的Gas优化[5] 更多关于第2层扩展的信息。
多重随机标签