详述EIP-7706并梳理最新的Ethereum的Gas机制

时间:2024-09-30 编辑: 浏览:(439)

作者:@Web3Mario

引言:

Vitalik在2024年5月13日发布了EIP-7706提案,提出了对现有Gas模型的补充方案,将calldata的gas计算单独剥离出来,并定制了类似Blob gas的base fee定价机制,进一步降低L2的运行成本。与之相关的提案还需要追溯到2022年2月提出的EIP-4844,相隔时间甚久,因此查阅相关资料,希望对最新的Ethereum Gas机制做一个综述,方便大家快速了解。

当前已支持的Ethereum Gas模型——EIP-1559和EIP-4844

在最初的设计中,Ethereum采用了一个简单的拍卖机制对交易费用进行定价,这需要用户主动为自己的交易出价,也就是设置gas price,通常情况下,由于用户付出的交易费将归属于矿工,所以矿工将根据经济最优的原则,按照出价高低来决定交易打包顺序,注意这是在忽略MEV的情况下。在当时核心开发者看来这个机制面临着以下四个方面的问题:

交易费用水平的波动性与交易的共识成本之间的不匹配:对于处在活跃状态的区块链中,交易的打包需求充足,这意味着区块可以被轻易填满,但这往往也意味着整体费用的波动性极大。例如当平均Gas Price为10 Gwei时,网络因在一个区块中再接受一笔交易而产生的边际成本是平均Gas Price为1 Gwei时的 10 倍,这是不可接受的。

对用户来说不必要的延迟:由于每个区块有gaslimit的硬性限制,加上历史交易量的自然波动,交易通常会等待几个区块才能被打包,但这对整体网络来说是低效的;即不存在允许一个区块更大而下一个区块更小的“松弛”机制来满足逐个区块的需求差异。

定价效率低下:由于采用简单的拍卖机制导致了公允价格发现的效率较低,这意味着对于用户来说,给出一个合理的定价将是困难的,这也就意味着有非常多情况下,用户付高了手续费。

无区块奖励的区块链将不稳定:当取消挖矿带来的区块奖励并采取单纯的手续费模型时,可能会导致很多不稳定,例如激励挖掘窃取交易费用的“姐妹块”,开启更强大的自私挖掘攻击向量等。

直到EIP-1559的提出与执行,Gas模型有个第一次迭代,EIP-1559时Vitalik等核心开发者在2019年4月13日提出的,并在2021年8月5日的London升级中被采用,该机制摒弃了拍卖机制,转而采用了一种Base fee和Priority fee的双定价模型,其中Base fee将根据父区块中已产生的gas消耗情况与一个浮动且递归的gas target之间的关系通过一个既定的数学模型定量计算,直观的效果为若上一个区块中gas使用情况超过了预定的gas target时,则上调base fee,若不及gas target,则下调base fee,这样做既可以比较好的反应供需关系,又可以使得对于合理gas的预测变得更加精准,不至于出现由于误操作导致的天价Gas Price,因为base fee的计算是直接由系统决定的而非用户自由指定。具体的代码如下:

其中可知当parent_gas_used 大于parent_gas_target时,那么当前区块的base fee将相比于上一个区块的base fee加上一个偏移值,至于偏移值则是取parent_base_fee乘以上一个区块gas总用度相对gas target的偏移量并对gas target与一个常量取余与1的最大值。反之逻辑类似。

另外Base fee将不再作为奖励分配给矿工,而是直接销毁,从而时ETH的经济模型处于通缩的状态,有利于价值的稳定。而另一方面Priority fee则相当于用户给矿工的打赏,可以自由定价,这一定程度上可以让矿工的排序算法得到一定程度的复用。

随着时间推进到2021年,那时Rollup的发展逐渐进入佳境,我们知道无论OP Rollup还是ZK Rollup都意味着需要将L2的数据做压缩处理后的某些证明数据通过calldata上传至链上实现数据可用性(Data Available)或者直接交由链上做验证。这就让这些Rollup解决方案在维护L2的最终性时面临着很大的Gas成本,而这些成本最终都将转嫁到用户的身上,因此那时大部分的L2协议使用成本并没有想象那么低。

与此同时Ethereum也面临着区块空间竞争的窘境,我们知道每个区块存在一个Gas Limit,这意味着当前区块中的所有交易的Gas消耗加总不可以超过该值,按当前的Gas Limit为30000000来计算,理论上存在30,000,000 / 16 = 1,875,000字节的限制,其中16指的是EVM处理每个 calldata 字节需要消耗16单位的Gas,也就意味着单个区块最多可以承载的数据规模约为1.79 MB。而L2排序器所产生的Rollup相关数据通常数据规模较大,这就使其与其他主链用户的交易确认产生竞争,导致单个区块可以打包的交易量变小,进而影响主链的TPS。

为了解决这个窘境,核心开发者们于2022年2月5日提出了EIP-4844提案,并在2024年二季度初的Dencun升级后得到了实施。该提案提出了一种新的交易类型,名为Blob Transaction,相比于传统类型的Transaction,Blob Transaction的核心思想是补充了一个新的数据类型,即Blob data。区别于calldata类型,blob data不可以被EVM直接,而只能访问其hash,也被称为VersionedHash。此外还有两个相伴而来的设计,其一相较于普通交易,blob transaction的GC周期更短,从而保证区块数据不至于过于臃肿,其二blob data的具有原生的Gas机制,总体上呈现的效果于EIP-1559类似,但在数学模型上选择自然指数函数,使其在应对交易规模波动时稳定性上表现更好,因为自然指数函数的斜率亦为自然指数函数,这意味着无论此时网络交易规模处在什么状态,当交易规模快速飙升时,blob gas的base fee反应的更充分,从而有效遏制交易活跃度,同时该函数还有一个重要的特性,当横坐标为0使,函数值为1。

base_fee_per_blob_gas = MIN_BASE_FEE_PER_BLOB_GAS * e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)

其中MIN_BASE_FEE_PER_BLOB_GAS和BLOB_BASE_FEE_UPDATE_FRACTION为两个常量,而excess_blob_gas则由父区块中总的blob gas消耗于一个TARGET_BLOB_GAS_PER_BLOCK常量之间的差值来决定,当总的blob gas消耗超过目标值,即差值为正时,e**(excess_blob_gas / BLOB_BASE_FEE_UPDATE_FRACTION)大于1,则base_fee_per_blob_gas变大,反之则变小。

这样对于一些只希望利用Ethereum的共识能力为某些规模较大的数据做存证以保证可用性的场景就可低成本的执行,同时不会挤占区块的交易打包能力。以Rollup排序器为例,可以通过blob transaction将L2的关键信息封装到blob data中,并在EVM中通过精巧的设计,利用versionedHash实现链上验证的逻辑。

需要补充的是当前TARGET_BLOB_GAS_PER_BLOCK和MAX_BLOB_GAS_PER_BLOCK的设置为主网带来了一个限制,即每个区块的平均处理3 个 blob (0.375 MB) 的目标和最多6个blob (0.75 MB)的限制。这些初始限制旨在最大限度地减少该 EIP 对网络造成的压力,并且随着网络在较大区块下展现出可靠性,预计会在未来的升级中增加。

对于执行环境Gas消耗模型的再细化——EIP-7706

在明确了当前Ethereum的Gas模型后,我们来看下EIP-7706提案的目标与实施细节。该提案由Vitalik在2024年5月13日提出。与Blob data类似,该提案对另一个具有特殊性的数据字段对应的Gas模型进行了剥离,这个数据字段即为calldata。并且优化了相应的代码实现逻辑。

从原理上calldata的base fee计算逻辑与EIP-4844中base fee for blob data相同,均采用了指数函数并根据父区块中的实际gas消耗值与目标值的偏差值来计算对当前base fee的缩放比例。

值得注意的是一个新的参数设计,LIMIT_TARGET_RATIOS=[2,2,4],其中LIMIT_TARGET_RATIOS[0]表示了执行操作类Gas的目标比率,LIMIT_TARGET_RATIOS[1]表示Blob data类Gas的目标比率,LIMIT_TARGET_RATIOS[2]表示calldata类Gas的目标比率,这个向量用于计算父区块中三类gas对应的的gas target值,计算逻辑如下,即分别使用LIMIT_TARGET_RATIOS对gas limit做整除操作:

其中gas_limits的设定逻辑如下:

gas_limits[0]必须遵循现有的调整公式

gas_limits[1]必须等于MAX_BLOB_GAS_PER_BLOCK

gas_limits[2]必须等于gas_limits[0] // CALLDATA_GAS_LIMIT_RATIO

我们知道当前gas_limits[0]为30000000,CALLDATA_GAS_LIMIT_RATIO被预设为4,这就意味着当前calldata gas target约为30000000 // 4 // 4 = 1875000,又因为按当前的calldata gas计算逻辑,每个非零Bytes消耗16 Gas,零Bytes消耗4 Gas,假设某段calldata中非零与零Bytes的分布各占50%,则平均处理1 Bytes的calldata需要消耗10 Gas。因此当前的calldata gas target应对应187500 bytes的calldata数据,约为当前平均用量的2倍。

这样做的好处在于大大减少了calldata达到gas limit的情况发生的概率,通过经济模型使calldata的用量保持在一个较为始终的状态,同时也杜绝了对calldata的滥用。之所以做这样的设计还是为L2的发展扫平障碍,搭配blob data,使得排序器成本进一步降低。

最新 更多 >
  • 1 StoneX凭借蒙特利尔交易所和ASX会员资格掀起波澜

    StoneX Group股份有限公司今天宣布,其子公司StoneX Financial(Canada)股份有限公司已在蒙特利尔交易所(TMX)获得批准参与者身份。这一地位增强了StoneX的金融服务网络,该网络目前覆盖全球40多家衍生品交易所。 蒙特利尔办事处扩大服务 StoneX加拿大蒙特利尔办事处以其商品交易和风险管理而闻名。风险管理是经纪商最常用的术语之一,指的是提前识别潜在风险的做法。最常

  • 2 小蝶今日热点总结(8.1)

    1、美联储宣布维持利率5.50%不变,这是美联储连续第七次会议维持利率不变。美联储主席鲍威尔表示,最早可能在9月份的下次会议上讨论降低政策利率的问题。他指出,我们正逐渐接近可以降低利率的那个点,但还没有到那个点。尽管这次没有降息,但这在市场的预期范围内。鲍威尔暗示最快可能在9月份调整利率,这让市场对未来的降息充满期待。美联储主席鲍威尔:九月份降息“可能在考虑之中”,委员会的共识正逐渐接近于降息。2

  • 3 加入丽都交易后,房地产市场繁荣

    Aave(Aave)代币逆市反弹,因为该协议继续巩固其在DeFi中的地位。在V3产品中加入Lido后,AAVE保持绿色。 Lido(LDO)扩大了其作为顶级以太坊质押协议的影响力。最近,丽都扩大了与Aave的合作关系,Aave是去中心化流动性的关键来源之一。 Aave协议为LDO代币增加了一个新的V3市场,在推出后的头两天就吸引了超过2亿美元的资金。 Aave V3市场是一个完全去中心化的流动性池

  • 4 思考:染色币一定得是ARC-20吗?

    我高度相信染色币的未来,但我也深思熟虑过一个问题:如果有天染色币真的成为全球性主流资产了,大家采用的标准一定会是ARC20吗?最后,我选择相信。染色币是一个根植于比特币历史、深度贴合比特币文化的资产形态。“ColoredCoin”(染色币)只有在“Colored Bitcoin”(染色比特币)的释义下才有故事。其他各种资产形态不一定得在比特币上再走一次,但染色币不一样,它生于比特币,也只能长于比特

  • 5 BNX币近期市场表现

    什么是BNX币?BNX币是BinaryX项目的原生代币,该项目是一个专注于区块链游戏和去中心化金融(DeFi)的平台。BinaryX通过其独特的游戏模式和创新的DeFi解决方案,旨在为用户提供一个兼具娱乐性和投资价值的生态系统。主要特点游戏化体验:BinaryX平台通过区块链技术实现了去中心化的游戏体验,用户可以在游戏中赚取BNX币。DeFi功能:BNX币可以用于质押、借贷和流动性挖矿等DeFi活

  • 6 MicroStrategy推动比特币激增-最新加密货币新闻

    比特币的价格已经开始回升,迅速恢复到美国市场开盘时的水平。这一复苏归功于MicroStrategy的一项重大公告,该公告暗示了潜在的数十亿美元比特币收购。该公司已提交一份注册声明,表明其有意大量购买BTC,这表明市场走势强劲。 内容隐藏1是什么推动了比特币的崛起?2 MicroStrategy如何支持比特币?投资者的3个关键要点 是什么推动了比特币的崛起? 比特币的价格曾跌至6

  • 7 Total Eclipse 挑战赛:在以太坊首个 SVM L2 上开发应用

    摘要:Eclipse 基金会宣布了其首届黑客马拉松计划,即"The Total Eclipse Challenge",作为一场独一无二的黑客松活动 ,邀请了优秀的开发者们在链上开发创新的应用。"The Total Eclipse 挑战赛" 是一项为期两周的全球虚拟黑客马拉松活动,将于 8 月 7 日至 21 日举行。该活动旨在邀请创新者探索他们最新的 dapp 创意,并为获胜者提供近 50,000

  • 8 DeFi在DEX、收益率、借贷和质押方面显示出复苏的迹象

    DeFi活动在几个指标上有所上升,令人回想起2022年以来从未见过的水平。这一次,复苏更加渐进,协议更加保守,但仍有迹象表明有希望扩大。 DeFi多年来一直处于低产量状态,而大多数协议都在调整他们的产品。在第二季度,DeFi继续改善其指标,设法从更稀缺的流动性中分得一杯羹。 DeFi增长的主要载体是Solana生态系统、DEX交易以及贷款。DeFi会影响大型鲸鱼和散户投资者,具体取决于协议的类型。

  • 9 瑞波币价格分析:XRP在过去24小时内暴跌6%的原因

    Ripplerice最近一直在复苏,在市场参与者和XRP投资者中传播了乐观情绪。 Ripple价格分析 通过TradingRage USDT配对图表 从XRP/USDT图表的每日时间框架来看,价格已从0.4美元的支撑位反弹,势头强劲。它已经收回了0.5美元和位于0.55美元左右的200天移动平均线。 市场目前正在测试0.6美元的阻力位。虽然价格逐渐攀升至该水平之上,但RSI与最近的价格高点呈现出看

  • 10 欧盟实施加密货币法规-最新加密货币新闻

    7月,随着欧盟对加密资产出台新规定,加密货币行业出现了重大发展。这些变化对稳定币产生了显著影响,尤其是Circle的美元币(USDC)。根据CCData的一份报告,截至7月25日,USDC在集中交易所的交易量激增至1350亿美元,其市值增长了5.4%,达到336亿美元。 内容隐藏1新法规的影响2 Tether和市场动态3欧洲银行的作用4利益相关者的关键要点 新法规的影响 USD