10 月,开发者不可错过的开源大数据大会-2021 WeDataSphere 社区大会深圳站 了解详情
写点什么

以太坊柏林硬分叉正式激活,主网将迎哪些更新?

2021 年 4 月 15 日

以太坊柏林硬分叉正式激活,主网将迎哪些更新?

2021 年 4 月 15 日(星期四)下午 6:12 分左右,柏林硬分叉在主网的 12244000 区块上正式激活。近一周以太坊全网算力均值为 502.37 TH/s,平均出块时间 13 秒。目前已有 74.6%的客户端准备就绪。



据悉,因 Geth 客户端的过于集中化的问题,本预期在 2020 年 7 月上线的柏林硬分叉一路延期至今。与早期以太坊网络升级略有不同,此轮升级不需要在 Meta EIP 中进行跟踪。柏林硬分叉之后,其他升级工作均将在 eth1.0-specs repo 当中进行。


柏林硬分叉中包含哪些变更?


此次柏林硬分叉主要优化以太坊的主网性能、优化合约,涵盖 Gas 效率、以太坊虚拟机 (EVM) 读取代码方式的更新,以及防止拒绝服务 (DDOS) 攻击等。在部署到主网以前,此次升级会先在 Ropsten、Goerli 和 Rinkeby 测试网上运行。


具体操作中,柏林硬分叉将以下四个 EIP 引入以太坊网络。


EIP-2565:降低 ModExp 预编译合约成本


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


该项提案主要是对先前用于模块化乘幂的预编译机制 EIP-198 进行重新定价。EIP-198 是一项专门用于模块化幂去处的函数,引入了多种加密算法以支持 RSA 签名验证。EIP-2565 将降低 gas 成本,使其与其他操作的执行成本保持一致。



PEEPanEIP-2565 发布的 gas 定价图表


EIP-2718: 增加交易类型


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


这项提案将引入一种新的交易类型,能够以“信封”(Envelope)形式轻松支持多种交易类型。


当初在以太坊首次登陆主网时,仅支持一种交易类型,其字段为“To”(交易执行的位置)与“Data”(交易中所包含的一切数据)。以太坊客户端采取同步行动,且必须保证各方在完全相同的时间内执行完全相同的变更。因此,如果“To”字段为 0,则所有客户端就必须将“Data”字段解释为合约部署并以特定方式立即执行。


一段时间以来,用户对于交易类型的需求不断发展。这方面趋势最早在 EIP-155 — 对简单重播攻击的保护 中有所体现。但客户当时并不同意引入新的交易类型,而是更倾向于以差异化方式解释该字段。EIP-155 中的“伪龙(Spurious Dragon)”硬分叉是一项共识变更硬分叉,要求所有客户就该字段的解释达成共识。


此次 EIP-2718 的发布无法直接解释 EIP-155 的复杂性问题,但有助于阻止未来更多复杂性因素的引入,同时也让新型交易类型(例如 EIP-1559 式交易)的添加变得更加轻松易行。


EIP-2929: 增加状态访问操作码的 GAS 消耗


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


这项提案关注的是在交易中首次使用 SLOAD,CALL, BALANCE, EXT 与 SELFDESTRUCT 时,存在的 Gas 成本增加问题。


例如,首次执行会令 CALL 系列函数的 gas 成本由 700 大幅增加至 2600,SLOAD 系列函数则增加至 2100。但对于各个地址或存储槽位,这种高额费用只会产生一次。这意味着除首次调用之外,交易中任意数量的后续调用都仅耗费 100 gas。


之所以上调首次调用的 Gas 成本,是为了缓解以太坊中的最大 DoS 攻击向量。这种设计也有助于在无状态以太坊环境下限制必要的见证人规模。目前,Merkle 证明所需要的见证人数量要远大于验证特定区块链的必要数量,以太坊正在寻求新的规模控制方法。


虽然 EIP-2929 还无法彻底解决证人数量问题,但至少控制住了过高的 Gas 成本。另外,EIP-2929 还能降低预编译的调用成本,消除预编译访问所产生的额外 700 gas 开销。


EIP-2930: 可选访问列表


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


此项提案的主要目标是修复现有合约中的重大变更并缓解由 EIP-2929 所引发的部分 Gas 成本增长。此提案将添加一种交易类型,其中包含交易操作打算访问的目标列表(即地址与存储键列表)。通过指定访问列表,客户可以更轻松地处理交易,更安全地降低 Gas 成本。


EIP 管理与治理方面迎来哪些变更?


“缪尔冰川”是一项独立的升级提案,也是当初在链上发布 Ice Age 功能时的必要网络要求。为了趁早与其他提案一同部署,以太坊团队在 2020 年 1 月将“缪尔冰川”部署在了主网之上。


为了设计出更好的网络升级流程,EIP 编辑、EIP 作者、客户端开发者、ECH 以及其他社区成员组成了 EIP 改进流程(EIPIP)小组。以太坊 Cat Herders 还组织了一轮项目关键安装调查,希望了解以太坊客户群体中的多样性现状。


此外,客户端开发者将持续研究不同建议,不断改善网络性能与安全性,并为后续升级打下坚实的基础。由于升级周期较为平缓,我们可以充分利用这段时间为下一次的“伦敦(London)”升级添加更多新功能。


节点运营者或矿工需要下载以太坊客户端的最新版本,目前可升级的 Eth1.0 客户端包括:



注:如果您在以太坊公链上使用 Besu,则必须升级至 21.1.2。此版本包含所有受支持的测试网与以太坊主网 Berlin 激活区块。


相关链接:


https://medium.com/ethereum-cat-herders/the-berlin-upgrade-overview-2f7ad710eb80


2021 年 4 月 15 日 18:295317

评论

发布
暂无评论
发现更多内容

面试的信心来源于过硬的基础(iOS开发方向)

ios 面试

自研规则/流程引擎-ice简介

迟到的月亮

规则引擎

一文读懂区块链领域最新发展方向 NFT经济将成未来发展方向

CECBC区块链专委会

艺术品

高承实:绘一幅区块链社会画像

CECBC区块链专委会

区块链

团队里不能留的三种人

石云升

辞退 28天写作 职场经验 管理经验 4月日更

架构师实战营 [模块一]- 微信业务架构和学生管理系统架构设计

ifc177

架构实战营

业务架构训练营第0期模块一作业

目标一个亿

话说 ReentrantLock_源码

木子的昼夜

话说 ReadWriteLock 第二篇

木子的昼夜

什么是架构?怎么来理解?

秋天

架构师 架构·

架构实战训练营-模块一课后作业

Johnny

架构实战营

架构实战营第一期作业

王华

架构实战营

话说 线程的概念&生命周期

木子的昼夜

C++ sort 排序及自定义排序

玄兴梦影

区块链的环保实验,助全球提高垃圾回收

CECBC区块链专委会

环保

话说 面试题连环问

木子的昼夜

话说 用户线程&守护线程&线程组&线程优先级

木子的昼夜

话说 线程切换&线程数设置

木子的昼夜

话说 内存屏障,有序性保证

木子的昼夜

话说 LockSupport

木子的昼夜

面试题 : 一个单调递增的数组 随机拿出一个数 你怎么找到这个数

木子的昼夜

聪明人的训练(五)

Changing Lin

4月日更

中国唯一入选 Forrester 领导者象限,阿里云 Serverless 产品能力全球第一

阿里巴巴中间件

面试题: String "123" 转 int类型

木子的昼夜

架构实战营 - 模块 1- 作业

请弄脏我的身体

架构实战营

【LeetCode】合并两个有序数组Java题解

HQ数字卡

算法 LeetCode 4月日更

话说 线程创建&启动&停止

木子的昼夜

话说 Lock condition

木子的昼夜

话说 ReadWriteLock

木子的昼夜

面试题: 合并两个有序链表

木子的昼夜

用 JavaScript 实现时间轴与动画 - 前端组件化

三钻

JavaScript 前端 动画 组件化 时间轴

以太坊柏林硬分叉正式激活,主网将迎哪些更新?-InfoQ