当前位置:首页区块链以太坊柏林硬分叉完成 Gas费会受到什么影响?

以太坊柏林硬分叉完成 Gas费会受到什么影响?

柏林硬分叉已于 4 月 14 日在主网上线,引入了四份 EIP 。其中的两份 (EIP-2929 和 EIP-2930) 对交易的 gas 成本有影响。本文将解释部分 gas 成本在柏林前是如何计算的,加入了 EIP-2929 后会如何变化,以及如何使用 EIP-2930 引入的访问列表。

要点速览

  • 柏林硬分叉改变一些操作码的 gas 成本。如果在一个 dapp 或一个智能合约里 gas 费的值是硬编码的,它们可能会中止运行。如果这种情况发生了,且智能合约是不可更新的,消费者将需要用 EIP-2930 的访问列表才能使用那部分的操作码。
  • 访问列表可以用作减少少量的 gas 成本,但实际上它们在一些情况下是会增加总 gas 消耗量的。
  • gETH 增加了一个叫 ETH_createAccessList 的新 RPC 方法,用以简化访问列表的创建。

柏林硬分叉前的 gas 成本

EVM 执行的每个操作码都有一笔相关的 gas 成本。它们大多数的成本是固定的:PUSH1 总是消耗 3 个单位的 gas,MUL 消耗 5 个,等等。其他一些是会变化的:比如 SHA3 的操作码成本依赖于它的输入大小。

我们主要讨论操作码 SLOAD 和 SSTORE,因为它们是最受柏林硬分叉影响的。我们以后会讨论针对地址的操作码,比如所有的 EXT* 和 CALL* ,因为它们的 gas 成本也改变了。

柏林前 SLOAD 的 gas 成本

在没有 EIP-2929 之前,SLOAD 的 gas 消耗很简单:它总是消耗 800 gas。所以(目前)没有什么可说的。

柏林前 SSTORE 的 gas 成本

在 gas 消耗方面,SSTORE 可能是最复杂的操作码了,因为它的成本取决于像存储 sLoot 的当前值、新值、以及它是否之前被修改过。我们仅对一些情况进行分析以获得一个基本理解;如果你想了解更多,请阅读文末的 EIP 链接。

  • 如果存储 sLoot 的值从 0 变成 1 (或任何非 0 的值),gas 消耗量是 20000。
  • 如果存储 sLoot 的值从 1 变成 2 (或任何其他非 0 的值),gas 消耗量是 5000。
  • 如果存储 sLoot 的值从 1 (或任何非 0 的值) 变成 0,gas 消耗量也是 5000,但在交易的最后你会获得 1 笔 gas 费返还。本文不会讨论 gas 费返还,因为它们在柏林硬分叉中不受影响。
  • 如果存储 sLoot 的值在之前相同的交易中被修改了,往后所有 SSTORE 的 gas 消耗量都是 800。

其实说了这么多,总归一点,想要在币圈安安稳稳的赚到钱,恐怕现在只有挖币了!回归本质挖币才是区块链最基本的基础,而挖币也无疑是以最低成本,最快的方式,没有之一。挖币无惧无聊的横盘继续笼罩和暴涨暴跌困扰,总之 只要算力在手每天都有币到账!而手机算力挖币是目前唯一一个大众群体也可以参与的挖取你比特币以太坊的方式!

温馨提示:

文章标题:以太坊柏林硬分叉完成 Gas费会受到什么影响?

文章链接:https://www.btchangqing.cn/234837.html

更新时间:2022年12月01日

本站大部分内容均收集于网络,若内容若侵犯到您的权益,请联系我们,我们将第一时间处理。

以太坊柏林硬分叉完成 Gas费会受到什么影响?
区块链

4.16比特币午间行情分析及操作建议

2021-4-16 14:08:23

区块链

Filecoin穿越牛-熊-牛的发展史,你知道吗?

2021-4-16 14:31:13

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索