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

22-11-07 16:40
阅读本文需 18 分钟
总结 AI 总结
看总结 收起
原文标题:《【解读】以太坊上海升级即将激活的四个 EIP》
原文来源: 十四君


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


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



1、背景 


1.1 主网升


以太坊在 2015 年提出 4 大阶段:前沿、宅基地、大都会、宁静。众所周知的是」宁静」阶段的标志也正是 2 个月前以太坊共识算法从 POW 算力挖矿全面转为 POS 权益质押挖矿,如今的他是即节能又安全且足够去中心化的首席公链每次主网升级其命名都是柏林、巴黎、上海这样的地名,历史上还有多次主网升级带来巨大变革 


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


在区块高度 12,965,000,以太坊完成代号为「伦敦」的硬分叉升级,共涉及五项提案最有影响的是启动了 EIP-1559,他由以太坊创始人 Vitalik·Buterin 提出,从此以太坊上的每笔交易都将燃烧基本 gas 费用,这会自动减少 ETH 的流通供应量,使以太坊Token从此进入通缩时代。


举个栗子 


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



根据 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 中用于收集用户签名后,批量实现交易,其次也可以用同类原理来实现多种 Token 结合逻辑的元交易支付等。


在 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)的目标已经找到实现路径。



附录
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  

原文链接


欢迎加入律动 BlockBeats 官方社群:

Telegram 订阅群:https://t.me/theblockbeats

Telegram 交流群:https://t.me/BlockBeats_App

Twitter 官方账号:https://twitter.com/BlockBeatsAsia

举报 纠错/举报
选择文库
新增文库
取消
完成
新增文库
仅自己可见
公开
保存
纠错/举报
提交