freeBuf
主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

【解读】以太坊上海升级即将激活的四个EIP
2022-11-05 19:35:00
所属地 河南省

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

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



pzm6rmaka08woh77.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. 详情解读


a07pwoq9hxmp4dqy.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则新增了PUSH0( 0x5f) 指令,它将常量值 0 压入堆栈,该指令的需要 2 gas


有什么用?


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


他是什么?


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


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

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

  • 无gas费消耗,系统发起受到共识层提款限额的控制,无需再用gas来做抗dos防护

  • 直接更新执行层的余额,无EVM执行过程,采用最简实现策略。


有什么用?


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


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

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


69hho5ku4owpgif9.png



欢迎你从后台提交web3行业问题探讨

点赞关注十四,用技术视角带给你价值


# 以太坊 # Web3
本文为 独立观点,未经允许不得转载,授权请联系FreeBuf客服小蜜蜂,微信:freebee2022
被以下专辑收录,发现更多精彩内容
+ 收入我的专辑
+ 加入我的收藏
相关推荐
  • 0 文章数
  • 0 关注者
文章目录