以太坊主网 2021 年终回顾:Rollup成扩展计算的最佳短期解决方案

原文标题:以太坊主网2021年终回顾

原文作者:ECN

以太坊基金会的TimBeiko在11月做了一次主题为《理解转换到权益证明的过程》的演讲。在这次的分享里,他回顾并整理了以太坊主网在2021年里进行的四次硬分叉,分别概述进行了哪些方面的改进;梳理了以太坊2.0路线图的演变过程,解释了为什么目前以rollup为中心以及采用可执行信标链的架构;详细剖析了合并后的以太坊架构以及过渡的发生过程;最后回顾了2021年客户端团队探索合并的实现和进行测试的历程,并交代了当前的进度以及未来的实现计划。

这个演讲非常适合作为以太坊主网在过去一年的总结,ECN特此译制了这个视频的演讲部分,并附上相关的文章资源作为补充和索引,方便读者重温与整理。

2021年以太坊的四次硬分叉

柏林升级(四月)

纳入的EIP:

?EIP-2565:模幂运算Gas开销(ModExpGasCost)

对之前引入模幂运算预编译模块的EIP-198(大数模幂运算)进行重新重定价,该模块使我们能引入许多需要模幂运算的密码学算法,比如RSA签名验证。EIP-2565提议降低了该模块?ModExp(0x00..05)?的gas开销,使其与执行其他操作的开销水平相仿。

?EIP-2718:类型化的交易信封(TypedTransactionEnvelop)

这份提案引入一种新的交易类型,它是一种交易信封,可以更易于支持多种交易类型。以太坊一开始上主网时只有一种交易类型,带有字段“To"(指定交易发送的目的地)和“Data"(在交易中包含任意数据),这使得以太坊客户端必须步调一致,确保在完全相同的时间做完全相同的变更。后来,随着交易类型发生变化,在伪龙(SpuriousDragon)硬分叉时纳入了EIP-155(重放攻击的简单防护),允许客户端对字段有不同的解读。EIP-2718无法解决由?EIP-155引入的复杂性,但可以防止未来再引入更多的复杂性,使得加入新的交易类型变得更简单,例如EIP-1559类型的交易。

以太坊供应量已增加2120.28枚ETH:金色财经报道,据ultrasound.money数据显示,以太坊合供应量已增加2120.28枚ETH,以太坊Gas费用当前为6Gwei。[2022/10/31 11:58:41]

?EIP-2929:提高状态访问操作码的Gas开销(Gascostincreasesforstateaccessopcodes)

这份EIP提高了一笔交易在首次调用?SLOAD,?CALL,?BALANCE,?EXT?和?SELFEDESTRUCT?时的gas开销。但值得注意的是,对每个地址或存储槽,这样的高开销仅发生在第一次触发,随后的多次调用每次仅消耗100gas。提高这些gas开销一方面可以化解以太坊协议上仍保有的最大DoS攻击向量的影响,另一方面是为以后实现无状态以太坊限制见证数据的大小。

?EIP-2930:可选的访问列表(Optionalaccesslists)

这份提案的目的是修正EIP-2929对现有合约带来的破坏,并缓解gas开销增大带来的问题。此提案新增一个交易类型,它包含一个交易计划会访问的访问列表(内容是地址和存储项键)。通过指定一个访问列表,客户端可以更容易处理交易,而gas消耗量也因此可以安全地降低。

相关阅读:

《柏林硬分叉后的gas成本》

《以太坊柏林升级公告》

伦敦升级(八月)

纳入的EIP:

?EIP-1559:Eth1.0费用市场变更(FeemarketchangeforETH1.0chain)

以太坊技术服务商OpenZeppelin发布Optimism智能合约审计报告:11月25日消息,以太坊技术服务商OpenZeppelin发布Optimism智能合约审计报告。从2021年3月15日开始,OpenZeppelin在7周的时间里与3位审计师一起审计了Optimism的代码库,共发现4个严重和4个高度严重的问题,并提出修改建议以减少代码的攻击面和提高其整体质量。[2021/11/25 7:10:43]

EIP-1559是以太坊史上最令期待的变更之一,也是伦敦升级里带来最大变更的EIP。这份EIP将在网络区块里引入“基本费用(basefee)",它会追踪gas价格,这些价格来自网络将接受的、基于对区块空间需求的交易。这意味着钱包和用户将可以更容易预测他们交易的价格。另外,EIP-1559新增了一种交易类型,用户可以指定他们愿意支付的最高限额,当他们把这个最高限额费用发送给矿工时,会获得最高限额费用减去基本费用与矿工小费之和的差值退款。最后,这份EIP还将导致部分交易费被烧毁,这一点被社区的大部分人认为是以太坊网络经济上的一个重要改善举措。

?EIP-3198:BASEFEE操作码(BASEFEEopcode)

这份EIP是与EIP-1559搭配的。它只是简单添加了一个?BASEFEE?操作码,它返回的是执行交易所在的区块的基本费用。这将使得智能合约可以在链上访问这个值,这有助于提交欺诈证明和创建去信任的gas价格衍生品。

?EIP-3529:减少gas返还(Reductioninrefunds)

以太坊基金会:柏林硬分叉解决了以太坊长期存在的威胁:以太坊基金会表示,柏林硬分叉中,修正 gas 费、增加交易类型等更新将解决以太坊长期存在的一个漏洞威胁。这一由random trie lookups触发的漏洞会被恶意交易利用导致分钟级别区块时间的封锁,该漏洞早在 2019 年 10 月 4 日以太坊安全研究员 Hubert Ritzdorf 和 Matthias Egli 提交以太坊漏洞悬赏计划就已被揭示。[2021/5/23 22:33:41]

在伦敦引入的另一个重大变更是取消了操作码SELFDESTRUCT?的gas返还和减少了操作码?SSTORE?的gas返还。虽然设立返还的初衷是希望激励开发者在可能的情况下清除状态,然而现实是,这导致了GasToken的出现,反而增加了状态大小。利用这些返还的gas,GasToken可以在gas价格很低的时候填满状态,然后在gas价格上升的时候获得执行这些交易的返还。此外,gas返还还会导致区块执行时间的变化。EIP-3529把"执行gas返还"从50%下调到最多20%。这一变更将有助于抵消由EIP-1559引入的额外区块大小变化,因为EIP-1559允许区块使用的gas是现在gaslimit的两倍。

?EIP-3541:拒绝以0xEF字节开头的新地址(Rejectnewcontractsstartingwiththe0xEFbyte)

这份EIP将使得伦敦升级后,以0xEF字节开头的新合约就无法部署,它们会被保留下来以后作为识别符合EIP-3540语义的方式。EIP-3540提出的EVM对象格式(EVMObjectFormat,EOF)是一种可扩展和版本化的EVM字节码容器格式,会在部署时进行一次性验证。因此,EIP-3541是为以后更广泛的EVM改良奠定基础。

V神:以太坊市值最终或超比特币,马斯克对DOGE的迷恋仅出于兴趣:V 神在近期接受了 CNN Business 的采访,其表示,到目前为止,我们至少有三次这样的大型加密货币泡沫时期,而很多时候,泡沫最终停止的原因是,发生一些事情,然后让人突然明白技术还没有到想像的那一步。感觉加密货币已经为融入主流做好准备,而四年前则是完全相反的景象,那时它完全没有做好准备。现在的加密货币不再只是一个玩具了。虽然我不确定,但以太坊仍有可能最终赶上并在市场价值上超过比特币。

Buterin 承认,加密货币市场在“随着时间的推移建立起自己的免疫系统”之前,往往在破坏性事件面前显得“很脆弱”。Buterin 认为,马斯克对狗狗币的迷恋仅仅是出于兴趣,并无恶意。

Buterin 在接受中国新闻采访时承认,监管始终是一个问题」,尽管对彻底禁止的担忧已经消退。做这样的事情似乎更难,也更不现实。同时,政府确实有很大的权力,可以让参与加密货币领域的工作更加艰难。[2021/5/21 22:29:00]

?EIP-3554:难度炸弹延迟至2021年12月1日(DifficultyBombDelaytoDecember1st2021)

EIP-3554延迟难度炸弹,也以冰河时代为人所知。难度炸弹或冰河时代是以太坊引入的一种机制,在网络过渡到权益证明时”冻结“挖矿。由于权益证明的过渡还未准备好,我们需要推迟炸弹的”爆炸“时间。这在过去已经进行过三次:在大都会(EIP-649)、君士坦丁堡(EIP-1234)和穆尔冰川(EIP-2384)。

相关阅读:

Darwinia PC2在Rococo-V1中成功中继以太坊Ropsten网络区块头:据官方消息,Darwinia PC2在Rococo-V1中成功中继以太坊Ropsten网络区块头,标志着以太坊和波卡生态实现了通过达尔文网络,波卡生态桥中心,实现了连通的第一步。Rococo-V1中首笔异构链间跨链转账在Darwinia PC2上完成,波卡的测试网Rococo和以太坊测试网Ropsten网络实现了跨链转账,标志着波卡主网未来将可以通过达尔文实现与以太坊完成异构链跨链转账。[2021/4/1 19:35:31]

《伦敦升级概览》

《伦敦主网升级公告及相关代码变更》

《为什么需要1559》

《为什么我认为EIP-1559的区块容量变化无须担心》

《MEV与EIP-1559》

《从MEV视角分析EIP-1559下的交易打包市场》

《以太坊伦敦升级完成时(第37期以太七日谈)》

《EIP-3529:减少GAS返还》

信标链Altair升级(十月)

Altair是信标链的一次升级,它新增的功能包括:

支持轻客户端的同步委员会

为了减少规范复杂性的激励计算改革

修改证明奖励,以提高激励兼容性

单独核算每个验证者的怠工惩罚

惩罚参数更新为原定的惩罚水平

相关阅读:

《Altair主网升级公告》

《建模分析Altair升级的影响》

《Finalizedno.24》

《Altair升级讲解(第30期以太七日谈)》

各期的《共识层进展更新》

ArrowGlacier升级(十二月)

ArrowGlacier是另一个类似于MuirGlacier的网络升级。它将只包括一份EIP——把难度炸弹推迟到明年夏天,以防区块链冻结,即“冰河时代(iceage)"。

相关阅读:

《以太坊难度炸弹历史梳理》

《ArrowGlacier升级公告》

以太坊2.0路线图演变过程

在2018年台北的一次研讨会上,以太坊的核心开发者做出了一个分三个阶段的以太坊2.0路线图,每个阶段交付的内容是:

阶段0将带来信标链

在阶段1,会加入数据分片

在阶段2,在每个分片加入虚拟机,以在系统里实现计算。

到了2020年末,在信标链快可以启动之前,尽管阶段1的工作进展顺利,但将在阶段1引入的分片上实现计算功能的阶段2仍然有很多未解决的问题。同时,rollup(即二层的扩容方案)方面正发生非常快速的进展。多个团队公布要上测试网,且取得令人鼓舞的早期成果。大约在这个时候,Vitalik在EthereumMagicians论坛上发表了长文,论述我们应该把短期和中期的扩容工作集中在rollup上。它们不仅会在阶段2完成前上主网,还会是阶段1的最大受益者。

同年11月,MikhailKalinin发表的《可执行信标链(ExecutableBeaconChain)》,提出了目前的合并架构,带出了几点洞见:

信标链已经启动了,现在可以作为共识引擎来使用;

Rollup是扩展计算的最佳短期解决方案;

当前的Eth1客户端是作为合并后执行层的最佳基础;

搬到权益证明可以通过对当前运行的应用影响最小的方式实现

在文章里,Mikhail提议直接把权益证明作为客户端使用的新共识算法。

相关阅读:

《详解以太坊2.0信标链》

《Vitalik:以rollup为中心的以太坊路线图》

《可执行信标链》

《以太坊核心开发者会议更新006》

《Vitalik:以rollup为中心的以太坊最终图景》

合并后的架构与合并过程

概括来说,合并后,客户端将从根据PoW链转为根据PoS链来决定以太坊的最新有效区块。此外,客户端大多数的功能,以及更重要的EVM、它的状态,和它是如何执行交易的,都保持不变。现在的Eth1和Eth2客户端分别变成以太坊的执行层和共识层(或叫做引擎)。这意味着Eth1或信标链客户端的节点运行者将需要运行堆栈的“另一半”,以拥有一个完整的验证节点。

在合并的过程中,信标节点将监测当前的PoW链,当有区块的TotalDifficulty触达设定的?TERMINAL_TOTAL_DIFFICULTY?(终结总难度)时,该区块就成为最后的PoW区块,随后的区块都开始由信标链上的验证者构建和证明。当这个区块在信标链上被最终敲定时,合并就完成了。

相关阅读:

《以太坊核心开发者会议更新007》

《以太坊TheMerge重点摘要》

实现合并的历程与计划

实现合并的三次标志性事件为:四月进行的Rayonism黑客松、十月进行的Amphora工作坊,以及十一月开启的Kintsugi计划。

为了验证可执行信标链架构的可行性,在长达一个月的Rayonism黑客松里,客户端团队进行了原型设计,搭建了测试网Nocturne,证明了可执行信标链是一个可行的架构。

到了十月,在Amphora工作坊活动中,客户端团队再次聚集在一起解决规范上悬而未决的问题。活动最后,客户端团队搭建了一个开发测试网,它跑完了所有客户端组合的转换过程,并对合并后的区块做了最后敲定。

Amphora活动后,经历了四个短暂的开发测试网,开发者推出了Kintsugi测试网计划。在十一月到十二月中旬这段期间,每周开发者会上线一个新的开发测试网,并基于上一个进行改进。在圣诞假期期间,已经上线了一个长期的公共测试网,并鼓励大家参与测试。

目前实现工作已经完成了80%~90%,ArrowGlacier把难度炸弹推迟到明年六月,也就是说明年六月前更多的是测试工作。

相关阅读:

《Amphora:一个合并的重要里程碑》

《Kintsugi合并测试网公告》

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

银河链

[0:15ms0-1:479ms