【解读】以太坊上海升级即将激活的四个EIP

  • 十四君
  • 更新于 2022-11-05 19:58
  • 阅读 1646

这一次上海升级将为链上锁定着的230亿美金的POS质押ETH提供解锁能力,还伴随有对GAS优化的诸多EIP融入。

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

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

111.png

1. 背景

1.1 主网升级是什么?

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

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

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

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

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

举个栗子

EIP-1559改变了价高者得的Gas fee计算逻辑,之前用户为了让矿工及时打包自己的交易,需要加价支付矿工费,出价越高,被优先打包的概率越大,在一定程度上会造成Gas fee的无限增长

升级后,交易手续费分成了基础费和小费,小费给矿工激励竞价出块,基础费会销毁。虽然依旧有竞价出块的部分,但矿工收益大约下降20%,而经济模型也转为通缩式

本质上,1559的设计发挥了次高价竞价模式(second price auction)的优势,最终会让同一区块内所有交易支付的价格基本一致,对用户更公平(即因为支付base价格的交易总是会打包的,区分了紧急交易需求和常规交易需求)

2. 上海升级

为何如此急迫?

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

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

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

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

3 详情解读

640 (1).png

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

https://github.com/ethereum/execution-specs/blob/master/network-upgrades/mainnet-upgrades/shanghai.md

3.1 EIP-3651:更温暖的 COINBASE

https://eips.ethereum.org/EIPS/eip-3651

他是什么?

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

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

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

有什么用?

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

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

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

3.2 EIP-3855:新增PUSH0 指令

https://eips.ethereum.org/EIPS/eip-3855

他是什么?

对于EVM即以太坊虚拟机(执行合约代码的系统)中,设计有多种指令,但是之前缺少设计了push0 即针对0这个数值的压入堆栈的操作指令,

而此EIP则新增了PUSH00x5f) 指令,它将常量值 0 压入堆栈,该指令的需要 2 gas

有什么用?

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

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

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

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

https://eips.ethereum.org/EIPS/eip-3860

他是什么?

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

有什么用?

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

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

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

https://eips.ethereum.org/EIPS/eip-4895

他是什么?

可以说,这是本次上海升级的核心。笔者专门找到原作者对此提案的分享与ppt,可通过”十四君“公众号后台发送”上海升级“获取

从结果上讲,实现的是质押的ETH提款操作,而实现方式是引入了系统级的指令withdrawal基于信标链(共识层)的信息,无条件的直接控制指定地址的ETH余额。

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

  • 本身是由系统来发起,而不是用某个用户发起,更简洁易于审查
  • 无gas费消耗,系统发起受到共识层提款限额的控制,无需再用gas来做抗dos防护
  • 直接更新执行层的余额,无EVM执行过程,采用最简实现策略。

有什么用?

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

4 后续以太坊的重心在哪?

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

欢迎你从后台提交web3行业问题探讨 点赞关注十四,用技术视角带给你价值

点赞 0
收藏 1
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
十四君
十四君
江湖只有他的大名,没有他的介绍。