草庐IT

Web3中文|倒计时26天:上海升级已定,以太坊将发生哪些重大变化?

iNFTnews 2023-04-06 原文

3月16日,据以太坊核心开发者Tim Beiko 的推文,以太坊基金会核心开发团队已经确认上海升级将于网路区块高度6209536 时进行,具体为UTC 时间4月12日晚上22:27:35。

上海升级临近,在网上各篇文章中,出现了Shapella、ShanghaiUpgrade、上海Shapella升级、Sepolia的Shapella 升级等词,对于不太关注的人来说可能已经绕晕了。那么这些表述是否正确?上海升级不是Shanghai Upgrade吗?

我们将围绕这些问题对以太坊上海升级进行深入的了解。

一、以太坊升级

2020年12月,以太坊引入了Beacon链,也称信标链,代表着以太坊将由PoW向PoS转变。

在此之前,以太坊执行层和共识层由一条链负责,现在,执行层和共识层由两条平行的链分开负责。共识层由Beacon链负责,执行层由曾经的以太坊主网负责。

但Beacon存在一个问题,用户可以通过智能合约从执行层向共识层存入ETH,却无法从共识层向执行层取出ETH。随着时间推移,Beacon链上积累了很多ETH,至今仍无法被取出。数据显示,Beacon链上ETH已超过1770万枚,占总供应量的14.75 %,换算后市值接近300 亿美元。因此Beacon链的ETH提款功能必须被实现。

然而,在以太坊最终于2022年9月合并(将主网与Beacon链合并)时,质押的ETH并未被释放,以太坊基金会明确表示,只有在上海升级后才能提款(质押的ETH释放),因此,ETH释放成为上海升级最大的看点。

(1)上海升级

以太坊执行层升级以城市命名。上海升级是以太坊执行层的下一次硬分叉,此前已经经历了君士坦丁堡升级、伊斯坦布尔升级、柏林升级、伦敦升级、巴黎升级。

每次升级都意味着以太坊有了一些重大的更新,比如伦敦升级后 EIP-1559 改变了矿工的收入结构,巴黎升级后改变了以太坊的运行机制等等。

而此次上海升级,将解决以太坊合并后留下的ETH质押问题。上海升级一共将部署5个EIP:

① EIP-3651: Warm COINBASE,降低以太坊网络费用(降低访问 COINBASE 地址的 gas 开销)

② EIP-3855: PUSH0 instruction,减少的是交易规模(新增操作码 PUSH0)

③ EIP-3860: Limit and meter initcode,修复拒绝服务攻击向量和限制gas 费用(对 initcode 的大小设限并引入 gas 计量)

④ EIP-4895: Beacon chain push withdrawals as operations,允许验证者提取质押的 ETH(信标链推式提款作为系统操作)

⑤EIP-6049: Deprecate SELFDESTRUCT,以太坊开发者交易费用的可能上限和积极影响(取消SELFDESTRUCT)

此外,为了顺利推进上海升级,一些实现EVM对象格式(EOF)的EIP已被放在下一次坎昆升级进行。

(2)Capella升级

以太坊共识层升级以星星命名。Capella升级是以太坊共识层的下一次硬分叉,此前经历了Phase0升级、Altair升级、Bellatrix升级。

本次Capella升级有3个主要内容:

① 提款验证器自动提款。第一点功能只是促进了验证器集中的某个验证器的完全退出或全额提款。当轮到他们提款时,可将他们的全部余额提取到提款地址。

② 带0x01提款凭证及余额超过MAX_EFFECTIVE_BALANCE值的验证器的部分提款遍历。第二点功能允许验证器自动将超过最低限制32 ETH以外的ETH提取到上述相同的提款地址。

③从BLS_ WITHDRAWAL_ PREFIX更新为ETH1_ ADDRESS_ WITHDRAWAL_ PREFIX版本的提款凭证,以启用验证器提款。就第三点功能而言,如果验证者在存款时没有设置提款地址,现在可以设置一个地址,以便他们可以使用部分和全额提款功能。

(3)Shapella升级

Shapella并不是一个单词,而是Shanghai-Capella的合成词。因为共识层已与主网合并,开发者便把两者合称为Shapella升级。

有意思的是,以太坊基金会并没有官方声明将此次升级改名为 Shapella,但随着时间的推移,核心开发人员开始将两个重大升级合称为Shapella。

所以,本次上海升级更准确应该称为“Shapella升级”,因为它同时在执行层和共识层完成升级。标志着以太坊向权益证明(PoS)网络的全面过渡的完成,并将最终实现质押的ETH提款。

二、测试网提前部署Shapella升级

第156次以太坊执行层核心开发者会议(ACDE)于北京时间3月2日 22:00 举行,此次会议的议题包括:总结Shapella升级在Sepolia测试网上的情况、为Goerli测试网的Shapella升级设定时间、讨论下一次升级的范围,以及在客户端弃用一些非共识功能。

(1)Sepolia测试网的Shapella升级

Sepolia测试网的Shapella升级在分叉期间发送了几个 BLS 凭证更新,处理起来都没有问题。由于在Sepolia上的验证者集是非常小的,只有一笔完整提款得到了测试。Nethermind发现了有少量坏块,但与上海升级的代码无关。开发者还发现了MetaMask上的漏洞——提款账户的余额更新不准确,但问题似乎已解决了,可能由缓存问题导致。

(2)Goerli测试网的Shapella升级

客户端团队认为可以推进Goerli测试网的Shapella升级,在北京时间3月14日18:25进行Goerli测试网的Shapella升级。如果在Goerli上的升级进行顺利,他们将会在3月16日的ACDE上确定主网Shapella升级的日期。

三、Shapella带来的影响

Shapella升级主要确保验证者质押提款,这其实是主网上已经可用的功能。当以太坊于2022年9月合并时,提款功能被禁用,这是为确保安全过渡而采取的措施。一旦以太坊Shapella更新完成,验证者将能够通过EIP-4895从Beacon链中提取质押的ETH。

此外,本次升级EIP-3651、EIP-3855、EIP-3860、EIP-6049等改进将降低网络用户、优化某些活动的gas成本。随着以太坊网络的快速发展,此类增强功能将使网络及其用户受益匪浅。

(1)对质押者的影响

验证者仍然需要质押32 ETH才能获得网络验证权,但Shapella升级推出后,他们更有动力参与。

(2)对ETH的影响

目前,ETH处于通货紧缩状态,一旦Shapella升级形成,这种情况可能会改变。虽然ETH生态系统的波动性较大,无法预测对价格的影响,但之前的例子表明,以太坊的每一次重大升级都会推高价格。

(3)对其他加密资产的影响

以太坊目前拥有近19%的市场支配地位,如果遇到一些抛售压力,可能会导致整个市场波动。然而,从中长期来看,围绕上海硬分叉的资金不足立场和利益相关者情绪可能不会对市场产生如此严重的影响。

(4)对购买者的影响

以太坊仍然是最受欢迎的加密资产之一。上海硬分叉之后,由于近期的一些卖压,价格可能会暂时下跌,为机构提供了一个入场点。

(5)对DeFi的影响

质押提款肯定会促使人们寻找流动性质押衍生品并将其再投资。这对于更广泛的DeFi前景来说可能是个好消息。

(6)对ETH 2.0的意义

Vitalik Buterin曾表示以太坊在合并后仅完成了55%。然而,随着以太坊上海升级,生态系统可能会得到重大推动,迅速走向终结。随着股权开放和生态系统获得更多流动性,ETH 2.0可能比以往任何时候都更接近。

结语

虽然尚不清楚即将到来的Shapella升级在短期内对以太坊价格的影响,以及提款流程一旦可用将如何运作,但Shapella升级是以太坊PoS网络全面功能的又一大步,受到加密世界的高度期待。

未来,开发人员将致力于实现以太坊分片,以及其他可扩展网络的升级。在这个近十年之久的项目中,如果没有贡献者的努力付出,我们在DeFi和更广泛的以太坊生态中所体验的一切都是不可能的。

接下来,就让我们一起享受上海升级,并期待着下一次的坎昆升级!

相关阅读:关于以太坊“上海升级”,你需要知道哪些?

参考:

Shiqi《从 0 到 1:了解以太坊上海升级》

BanklessDAO:《详述以太坊Shapella升级》

《什么是以太坊上海升级?》


编辑:Bowenn@Web3CN.Pro

声明:web3中文编辑作品,内容仅代表作者立场,且不构成投资建议,请谨慎对待,如文章/素材有侵权,请联系官方客服处理。

有关Web3中文|倒计时26天:上海升级已定,以太坊将发生哪些重大变化?的更多相关文章

  1. ruby - 通过 rvm 升级 ruby​​gems 的问题 - 2

    尝试通过RVM将RubyGems升级到版本1.8.10并出现此错误:$rvmrubygemslatestRemovingoldRubygemsfiles...Installingrubygems-1.8.10forruby-1.9.2-p180...ERROR:Errorrunning'GEM_PATH="/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/ruby-1.9.2-p180@global:/Users/foo/.rvm/gems/ruby-1.9.2-p180:/Users/foo/.rvm/gems/rub

  2. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  3. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  4. ruby - 在不使用 RVM 的情况下在 Mac 上卸载和升级 Ruby - 2

    我最近决定从我的系统中卸载RVM。在thispage提出的一些论点说服我:实际上,我的决定是,我根本不想担心Ruby的多个版本。我只想使用1.9.2-p290版本而不用担心其他任何事情。但是,当我在我的Mac上运行ruby--version时,它告诉我我的版本是1.8.7。我四处寻找如何简单地从我的Mac上卸载这个Ruby,但奇怪的是我没有找到任何东西。似乎唯一想卸载Ruby的人运行linux,而使用Mac的每个人都推荐RVM。如何从我的Mac上卸载Ruby1.8.7?我想升级到1.9.2-p290版本,并且我希望我的系统上只有一个版本。 最佳答案

  5. 亚特兰蒂斯的回声(中文版): chatGPT 的杰作 - 2

    英文版英文链接关注公众号在“亚特兰蒂斯的回声”中踏上一段难忘的冒险之旅,深入未知的海洋深处。足智多谋的考古学家AriaSeaborne偶然发现了一件古代神器,揭示了一张通往失落之城亚特兰蒂斯的隐藏地图。在她神秘的导师内森·兰登教授的指导和勇敢的冒险家亚历克斯·默瑟的帮助下,阿丽亚开始了一段危险的旅程,以揭开这座传说中城市的真相。他们的冒险之旅带领他们穿越险恶的大海、神秘的岛屿和充满陷阱和谜语的致命迷宫。随着Aria潜在的魔法能力的觉醒,她被睿智勇敢的QueenNeria的幻象所指引,她让她为即将到来的挑战做好准备。三人组揭开亚特兰蒂斯令人惊叹的隐藏文明,并了解到邪恶的巫师马拉卡勋爵试图利用其古

  6. ruby - 我正在学习编程并选择了 Ruby。我应该升级到 Ruby 1.9 吗? - 2

    我完全不是程序员,正在学习使用Ruby和Rails框架进行编程。我目前正在使用Ruby1.8.7和Rails3.0.3,但我想知道我是否应该升级到Ruby1.9,因为我真的没有任何升级的“遗留”成本。缺点是什么?我是否会遇到与普通gem的兼容性问题,或者甚至其他我不太了解甚至无法预料的问题? 最佳答案 你应该升级。不要坚持从1.8.7开始。如果您发现不支持1.9.2的gem,请避免使用它们(因为它们很可能不被维护)。如果您对gem是否兼容1.9.2有任何疑问,您可以在以下位置查看:http://www.railsplugins.or

  7. ruby - 如何配置 Ruby Mechanize 代理以通过 Charles Web 代理工作? - 2

    我正在使用Ruby/Mechanize编写一个“自动填写表格”应用程序。它几乎可以工作。我可以使用精彩CharlesWeb代理以查看服务器和我的Firefox浏览器之间的交换。现在我想使用Charles查看服务器和我的应用程序之间的交换。Charles在端口8888上代理。假设服务器位于https://my.host.com。.一件不起作用的事情是:@agent||=Mechanize.newdo|agent|agent.set_proxy("my.host.com",8888)end这会导致Net::HTTP::Persistent::Error:...lib/net/http/pe

  8. ruby - Ruby 性能中的计时器 - 2

    我正在寻找一个用ruby​​演示计时器的在线示例,并发现了下面的代码。它按预期工作,但这个简单的程序使用30Mo内存(如Windows任务管理器中所示)和太多CPU有意义吗?非常感谢deftime_blockstart_time=Time.nowThread.new{yield}Time.now-start_timeenddefrepeat_every(seconds)whiletruedotime_spent=time_block{yield}#Tohandle-vesleepinteravalsleep(seconds-time_spent)iftime_spent

  9. ruby-on-rails - 从 Rails 2.3 升级到 Rails 4.0 - 2

    我们有一个目前在Rails2.3.12版和Ruby1.8.7版上运行的应用程序。我们想将我们的应用程序更新到Rails4.0和Ruby2.1.0。我们有大约200个模型和150个Controller。我想知道升级过程需要多大的努力。您还可以提供升级可以遵循的步骤。我们应该先升级Ruby然后再升级Rails还是相反? 最佳答案 您想要实现的目标将是史诗般的努力。我无法为您提供分步说明,因为不可能在一个答案中涵盖所有情况。我建议不要同时升级Ruby和Rails,而是分步升级。升级本身的复杂性是巨大的,但只要您的应用程序具有合理的测试覆盖

  10. 玩以太坊链上项目的必备技能(初识智能合约语言-Solidity之旅一) - 2

    前面一篇关于智能合约翻译文讲到了,是一种计算机程序,既然是程序,那就可以使用程序语言去编写智能合约了。而若想玩区块链上的项目,大部分区块链项目都是开源的,能看得懂智能合约代码,或找出其中的漏洞,那么,学习Solidity这门高级的智能合约语言是有必要的,当然,这都得在公链``````以太坊上,毕竟国内的联盟链有些是不兼容Solidity。Solidity是一种面向对象的高级语言,用于实现智能合约。智能合约是管理以太坊状态下的账户行为的程序。Solidity是运行在以太坊(Ethereum)虚拟机(EVM)上,其语法受到了c++、python、javascript影响。Solidity是静态类型

随机推荐