以太坊核心开发者会议:速览柏林、伦敦与上海硬分叉要点和进展_GAS:ETH

柏林硬分叉已在测试网中上线:是时候在测试网上开始应用和钱包的开发了!伦敦硬分叉在准备阶段:EIP-1559实现正在进行中,并且为了赶在7月或8月的最后期限前完成升级,升级的范围很窄。上海硬分叉的升级重点仍在讨论中:要么就是核心开发者们将他们的精力都集中到eth1->eth2合并的工作中,要么就是当合并原型制作之后,部署那些呼声比较高的EIP柏林升级内容已经在所有主要测试网部署,并且将在4月14日,区块高度12,244,000上线主网。此次升级将提高以太坊的安全性,并为伦敦升级中的EIP-1559部署做好准备。如果读者正在运行一个节点并且还没更新客户端版本,尽快去更新!至于客户端更新的版本,《以太坊柏林升级公告》内有公布。

在安全方面,访问以太坊状态的操作码的gas费与其计算成本相比价格过低了,而EIP-2929可以解决该问题。利用操作码gas费过低这一点,恶意参与者可以创建重复调用这些操作码的区块,而这些区块的处理速度比普通区块慢几个数量级。EIP-2929通过提供gas成本约3倍来缓解这一问题。还有客户端方面,改进了数据库管理。比如Geth客户端的快照数据库格式也有助于更有效地处理状态访问较多的区块。

然而为了减轻EIP-2929对用户的负面影响,柏林升级引进了与其配套的EIP-2930。它允许用户在提交交易时指定一个「访问列表」,以使用低于2929规定的gas费。这其中gas费的计算方法有些复杂,但是,从高层次来看,如果客户端提前知道交易将涉及状态的哪一部分,他们就可以预加载,对这些访问收取更少的gas费。我鼓励大家参考这个EIP进行精确的计算。

对于想要体验生成「访问清单」功能的应用和钱包开发者,Geth客户端很快就会上线相关的工具了?可以点击这里查看开发进程。更广泛地说,如果你是一名应用或钱包开发者,现在是时候在测试网上测试柏林升级的内容了!

关于EIP-1559,柏林在两个方面提供帮助。首先,EIP-2929解决了EIP-1559的最大风险:DoS攻击会在比现在大两倍的区块上进行。这是客户端开发者们反对EIP-1559的首个原因,并且每次在核心开发者会议中讨论1559时都会讨论到这个问题。换句话说,如果没有2929,我们就不能稳妥地上线1559。

第二,柏林通过EIP-2718在协议级别引进了对多种交易类型的支持。EIP-2930引进的「访问清单」创建功能需要一种新的交易类型,因此EIP-2718提供了一个全面的框架以支持多种交易类型。这意味着,在柏林中实现2718和2930允许客户端团队提前做架构基础工作,为支持1559类型的交易做好准备。

最后,大家对柏林升级还有一个忧虑,担心EIP-2929将提高DeFi交易的成本。然而EIP-2930的引进会抵消掉一部分(并不会抵消全部)。防止这类型交易gas费提高的明显解决方案就是提高区块gaslimit。

不过,这样做总是有好有坏:提高区块容量会加速状态增长,这导致节点与网络同步更加困难。另一方面,不提高区块gaslimit就会提高网络用户的交易成本(支付昂贵的gas费)。或许这样是一个比较公正的折中方案:引入2929降低DoS的风险,然后缓慢地提高区块容量,直到2929所提高的gas费被逐渐抵消。

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金宝趣谈

[0:15ms0-5:209ms