ETH:解读以太坊上海升级即将激活的四个 EIP_GAS

作者:十四菌,十四君

以太坊巴黎升级之后又一重大更新即将到来——上海升级!目前有着上千专业开发者的以太坊核心社区,从15年走来已经历经15次主网升级,而这一次上海升级将为链上锁定着的230亿美金的POS质押ETH提供解锁能力,还伴随有对GAS优化的诸多EIP融入。

随十四君来深入了解即将主网激活的那些EIP提案的作用、原理、应用方向吧。

本文2300字,阅读需5分钟

一、背景

1.1主网升级

以太坊在2015年提出4大阶段:前沿、宅基地、大都会、宁静。众所周知的是”宁静”阶段的标志也正是2个月前以太坊共识算法从POW算力挖矿全面转为POS权益质押挖矿,如今的他是即节能又安全且足够去中心化的首席公链。

每次主网升级其命名都是柏林、巴黎、上海这样的地名,历史上还有多次主网升级带来巨大变革

1.2回顾2021年8月5日-伦敦升级

THETA突破9.5美元关口 日内涨幅为6.15%:欧易OKEx数据显示,THETA短线上涨,突破9.5美元关口,现报9.5144美元,日内涨幅达到6.15%,行情波动较大,请做好风险控制。[2021/6/5 23:13:30]

在区块高度12,965,000,以太坊完成代号为“伦敦”的硬分叉升级,共涉及五项提案。

最有影响的是启动了EIP-1559,他由以太坊创始人Vitalik·Buterin提出,从此以太坊上的每笔交易都将燃烧基本gas费用,这会自动减少ETH的流通供应量,使以太坊代币从此进入通缩时代举个栗子。

EIP-1559改变了价高者得的Gasfee计算逻辑,之前用户为了让矿工及时打包自己的交易,需要加价支付矿工费,出价越高,被优先打包的概率越大,在一定程度上会造成Gasfee的无限增长升级后,交易手续费分成了基础费和小费,小费给矿工激励竞价出块,基础费会销毁。虽然依旧有竞价出块的部分,但矿工收益大约下降20%,而经济模型也转为通缩式。

本质上,1559的设计发挥了次高价竞价模式的优势,最终会让同一区块内所有交易支付的价格基本一致,对用户更公平

二、上海升级

为何如此急迫?

在过往,一两年才进行一次重大升级是常事,合并共识转换这样的重量级升级都会提前测试网稳定运行1-2年后才会真正步入主网升级,那为什么这次上海升级如此急迫呢?仅仅2月后就基本定案要囊括的EIP呢?

核心因素是,合并后以太坊网络上的所有交易将不再由能源密集型的“矿工”验证,而是由已存入或质押大量ETH的个体和组织“验证者”进行验证。那对于验证者而言,他们质押的ETH可以生成和收集新的ETH,这些所谓的“新ETH”就是他们证明验证交易和保护网络的奖励。

但目前的以太坊,只能存入ETH但不能提取ETH,质押总价值接近235亿美元,都被“被困”在以太坊网络上。

如果不尽快开放解除质押功能,则质押ETH的吸引力将大打折扣,后续也就不会有那么多人进入以太坊网络,这无疑会对以太坊的未来发展和网络安全产生巨大影响。

三、详情解读

根据10-28号最新github提交的上海升级记录

3.1EIP-3651:更温暖的COINBASE

他是什么?

这标题的翻译确实很让人迷惑,这里的COINBASE并不是交易所的那家公司,而是来自比特币的概念,即区块中的第一笔交易是笔特殊交易,称为创币交易或者coinbase交易,这种交易早期设计用于矿工打包收集挖矿的gas小费收入。

温暖的和寒冷的,其实指的是此执行此交易时候是否有预先加载,影响矿工打包coinbase交易的gas费。

如果无预先加载,是寒冷的,则gas费更高如果有预先加载,是温暖的,则gas费更低

有什么用?

现在矿工打包的交易可能可以用作更多用途,比如ERC-4337中用于收集用户签名后,批量实现交易,其次也可以用同类原理来实现多种代币结合逻辑的元交易支付等。

在EIP-3651之前,更激励用ETH的支付方式

在EIP-3651之后,更激励用ERC20的支付方式

总之,是一个影响激励的交易类型的提案

3.2EIP-3855:新增PUSH0指令

他是什么?

对于EVM即以太坊虚拟机中,设计有多种指令,但是之前缺少设计了push0即针对0这个数值的压入堆栈的操作指令,而此EIP则新增了PUSH0(0x5f)指令,它将常量值0压入堆栈,该指令的需要2gas

有什么用?

原先没有push0时导致的是,有一些依赖于0做偏移量的操作,比如远程call调用与返回,则有很多参数是0,原先要操作0,只能使用指令PUSH10,这个操作要消耗3个gas,其次push1和0各占一个初始化代码的字节存储,导致的是部署此合约的成本也高了2*200gas

该EIP还统计了因此的gas损失:在现有账户户中,有340,557,331字节浪费在PUSH100指令上,意味着部署损耗达68,111,466,200gas

总之,是一个降低无意义的GAS消耗的提案

3.3?EIP-3860:提高初始化的代码量限制

他是什么?

合约部署时候,有个初始化代码的大小,基于EIP170是限制了initcode大小为24576,而如今则是将initcode的最大大小限制提升为49152即翻倍,并为每32字节的initcode块应用2的额外气体成本

有什么用?

显然,更大的代码容量,可以让智能合约系统做更多的事情,目前代码仅24kb的规模导致很难用一个合约去实现系统,原先的临时解决方案都是分多个合约部署,然后互相相互调用,但显然跨合约引用是个高gas成本的事情。

总之,是一个提高智能合约系统上限以及降低gas消耗的提案

3.4EIP-4895:信标链将提款作为操作指令

他是什么?

可以说,这是本次上海升级的核心。从结果上讲,实现的是质押的ETH提款操作,而实现方式是引入了系统级的指令withdrawal基于信标链的信息,无条件地直接控制指定地址的ETH余额。

执行提现操作的方法有很多种,本次的提现操作的特点如下

本身是由系统来发起,而不是用某个用户发起,更简洁易于审查

无gas费消耗,系统发起受到共识层提款限额的控制,无需再用gas来做抗dos防护直接更新执行层的余额,无EVM执行过程,采用最简实现策略。

有什么用?

别忘了,现在还有1400W个,合计价值235亿美元的ETH被质押“困在”以太坊信标链里。

四、后续以太坊的重心在哪?

下图是近期以太坊创始人VitalikButerin发布的最新路线图,图中绿色部分代表推进的进度,可以看到还有大量围绕性能、安全隐患、隐私、账户体系AA的目标已经找到实现路径

附录

https://www.youtube.com/watch?v=CcL9RJBljUs&t=336s

https://docs.google.com/presentation/d/1N6aX-GE-kus73vlq-v7D-z2iwUI4N4ss1tiPamfoTi4/edit#slide=id.g1231e3828e8_0_89

https://twitter.com/EthereumCN/status/1588825937629835265

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

大币网

[0:15ms0-3:925ms