以太坊的演化史:盘点历史上13次重要升级

 2023-06-11 16:28:16发布 2023-08-30 10:35:25更新

昨天,以太坊开发者确认了网络即将到来的全面升级,本次升级被命名为 Dencun。

Dencun 一词为 Cancun(坎昆)和 Deneb 所组成的合成词,Cancun 为本次以太坊执行层升级的名字,而 Deneb 则为协议层升级的名字。

因此,Cancun 升级与 Deneb 升级被合称为 Dencun 升级。

自2013年以太坊白皮书发布至今,以太坊生态共诞生了 24 个重要的里程碑事件,其中大部分为升级分叉,少数为其他类型的事件。

这些升级旨在提高以太坊网络的性能和安全性,同时为开发者和区块链用户提供更好的使用体验。

本文将盘点以太坊历史上的13次重要升级,以此为基础,探讨以太坊升级的演变过程和最新的发展趋势。

 

2015/07/30 边境升级

以太坊发布的边境 (Frontier) 升级是一个准系统级版本,面向开发者,可以通过代码和命令行操作,没有图形界面的单一软件版本。

因此,可以将其视为以太坊的 beta 版。

在边境版本中,每个区块的Gas限制被硬编码为5000Gas。两个月后的边境解冻升级取消了这个限制,并将Gas默认价格设置为50gwei。

在本次升级中,难度炸弹被引入,以人为方式调节挖矿难度,从而在POS上线时倒逼POW矿工无利可图。这为后续转POS埋下了伏笔。当难度炸弹爆炸时,以太坊将进入“冰川时代(官方术语)”。

 

2016年3月14日 家园升级

家园(Homestead)升级是以太坊发布的第二个主要版本,这意味着首批探险者已完成了对“边境”的大开发工作,并进入了建设家园的安居乐业阶段。

家园升级是首个发布 EIP 以太坊改进提案的升级,共包含三个EIP,分别为2、7、8。

EIP2 提高了合约创建的Gas费成本,从21000增加到53000;

EIP7 增加了新的函数DELEGATECALL,便于代码复用;

 EIP 8则对网络协议 devp2p 进行了向前兼容。

 

2016/07/20 The DAO分叉

The DAO是一个在2016年推出的由智能合约控制的投资DAO,通过ICO募集了价值1.5亿美元的以太币,占当时以太坊流通量的14%。

随后,由于合约代码存在漏洞,它遭到了黑客攻击。尽管经过大量的尝试,以太坊还是无法阻止黑客,最终采用硬分叉的方式来恢复被盗资金。

但这也动摇了许多遵循Code Is Low原则和去中心化信仰的成员,那些本应该废弃的旧链现在仍被信仰者维护,这就是ETC以太坊经典。

这不是一个普通的升级,而是在最黑暗的时刻,以太坊被迫妥协的结果。

从此,以太坊分道扬镳,形成了ETH和ETC。

 

2017/10/16 拜占庭升级

以太坊已经完成了边境和家园两个重要升级,计划下一步是进行大都会升级。

大都会升级计划最初被拆分为拜占庭和君士坦丁堡两次升级,但实际上大都会阶段的工作量要比预期的复杂得多,因此又拆分为伊斯坦布尔、柏林等多个升级。

在大都会阶段之前,Vitalik 意识到以太坊必须向 POS 转变,并逐步确保矿工在 POW 无利可图的情况下,被迫接受POS。

这将有助于确保 POS 上线时,大量矿工不会继续留在 POW 导致以太坊的分裂。

为了逐渐减少 POW 的收益,最新升级一口气发布了10个 EIP,其中 EIP649 将难度炸弹延迟了一年半,并将出块奖励从5个减少到3个。

通过这些措施,以太坊为POS的实现做好准备。

 

2019/02/28 君士坦丁堡(圣彼得堡)升级

由于安全社区 ChainSecurity 发现了一个漏洞,原计划的君士坦丁堡升级被推迟。

时隔两年,以太坊终于迎来了一个升级,其实这次升级是双重的,即在同一个区块中完成了两次升级,分别是君士坦丁堡和圣彼得堡。

本次升级中,EIP1234将区块奖励从3ETH降低为2ETH,再一次加速了将矿工转向POS的进程。然而,由于还没有准备好转向POS,难度炸弹又被延迟了12个月。

EIP1014 中提出的新指令 CREATE2 在合约正式部署之前就能预先计算出合约地址,将类似于比特币闪电网络的状态通道概念引入以太坊。

这意味着可以在链下进行计算,并将对应的合约部署到链上进行结算。

 

2019/12/08 伊斯坦布尔升级

此次升级是当时提案数量规模最大的,超过 30 个 EIP 被提议加入这次分叉中。经过详细的讨论, 6 个 EIP 最终被认为适合并已准备好加入这次升级。分别是:EIP 152、EIP 1108、EIP 1344、EIP 1844、EIP 2028、EIP 2200 ,重点优化如下:

1、根据操作码的计算开销调整操作的 gas 开销,提高拒绝服务攻击的弹性;

2、让基于 SNARKs 和 STARKs 的 Layer 2 解决方案性能更优化;

3、实现以太坊与 Zcash 的互操作性;

4、允许合约引入更多创造性的功能。

 

2020/01/02 Muir冰川升级

以太坊自上次升级距今不到一个月时间,再次紧急进行了一次升级,这在一个月内进行两次硬分叉的情况非常罕见。

这次升级是由于对难度炸弹“爆炸”时间的预估错误所致。由于预估错误可能会导致提前爆炸,而POS切换又没有准备好,因此不得不紧急升级再次延迟难度炸弹。

这次升级是临时决定的,因此没有按照大都会以城市的命名规则来命名。

 

2020/12/01 信标链发布

POS信标链是一条与当前 PoW 以太坊主网并行运行的 PoS 链,可以被设计用来做许多事情:

信标链为以太坊生态系统引入了一种全新的 Staking(质押)机制。

现今,以太坊的PoW(工作量证明)机制通过运用“矿工”来处理交易,使得每个矿工可以运用专业的挖矿设备去争取成为第一个解决出密码难题的人,以此生成下一个区块以及获取挖矿奖励。

相比之下,信标链的 Staking 机制则放弃了这种方式,并允许人们通过在软件中锁定(质押)一定数量的 ETH 来验证交易。这样做的目的主要是为了确保网络的去中心化和安全性。作为回报,质押者们将有资格获得ETH奖励。

此外,信标链还为分片链做了全新的准备措施。

具体地来说,通过创建64条协同工作的分片链,可以使常常拥堵的以太坊区块链网络上的交易变得更加快速。根据以太坊基金会提供的文档,这一特性将会让所谓的“以太坊2.0”发挥其最大的潜力,并有望在不久的未来得以实现。

从2015年就开始酝酿的POS计划,终于迈出了重要一步。

 

2021/04/15 柏林升级

柏林升级开启了 Devcon 城市“冠名”的时代。

柏林升级意味着以太坊底层协议的一次变更。

以太坊的去中心化本质使得网络升级成为难题,需要社区和以太坊客户端开发者就某些协议变更达成共识,达成共识的协议变更会被写入各个以太坊客户端。

例如 Geth、Open Ethereum、Besu 和 Nethermind,在一个特定的区块高度上启动网络升级。

此次柏林升级主要优化以太坊的主网性能,优化合约,涵盖 Gas 效率、以太坊虚拟机 (EVM) 读取代码方式的更新,以及防止拒绝服务 (DDOS) 攻击等。

 

2021/08/05 伦敦升级

本次升级发布了对以太坊影响最大的EIP之一:EIP1559,改变了以太坊的经济模型。

在此之前,以太坊的区块打包过程是通过拍卖机制进行的。这种机制要求用户为交易设置较高的Gas费用,然后这些费用被全部分配给矿工。

但随着 EIP1559 的出现,Gas 费用被分为两个部分:一部分给到矿工,另一部分则被燃烧掉。

这意味着以太坊已经进入了通缩时代,同时对以太坊的经济模型产生了深远的影响。

 

2022/09/15 巴黎升级(Merge)

巴黎升级是一次史诗级事件。该升级直接修改了以太坊执行层和共识层,EIP3675将共识升级为POS权益证明。

经过两年的陪跑,信标链成功上位。这意味着经过长达7年的筹划,以太坊的POS之路终于走到了尾声。

然而,尚有一个未解决的问题,那就是质押提款。

由于信标链在这两年的时间里并不支持质押提款,许多质押者无法取出资金。仅在巴黎升级前半年,ETH价格曾一度飙升到4000美元高点,早期质押者只能眼睁睁地看着无法动弹。

这个问题必须得到解决,否则人们将不敢将自己的ETH质押进去作为节点,这会给POS链带来中心化风险。

幸运的是,像Lido等LSD产品已经在一定程度上解决了质押提款问题。

 

2023/04/12 上海升级

以太坊上海升级的主要目标之一,是让已质押在以太坊信标链 (Beacon Chain) 智能合约的以太币 (ETH),可以开放提取。

2022 年实施的以太坊合并,让以太币持有者可以将以太币锁定在以太坊信标链的智能合约中。

上海升级完成后,大量的以太币就可以解锁,对区块链发展、以及市场的影响值得关注。

同时,这次升级也是以太坊的共识机制从工作量证明 (PoW) 转向权益证明 (PoS) 的必要步骤。

 

2023年,Dencun 升级

本次升级包括五个 EIP,以 EIP-4844 为核心,以及 EIP-1153、EIP-4788、EIP-5656、EIP-6780 四项改进提案。

EIP-4844 

本次以太坊升级的核心,也被称为 proto-danksharding。

该提案意在引入一种新的事务类型,能够接受在信标节点上短时间持久存储的“blobs”数据。这一改进可腾出更多空间来扩展区块链,同时又能够向前兼容以太坊的扩展路线图。

EIP-4844的意义在于深远且影响巨大。完整的数据分片需要花费相当长的时间来完成实现和部署,但是通过rollup技术,可以以低成本实现分片。

此外,EIP-4844有望将rollup费用降低一个数量级。开发者们认为,该功能可让以太坊在不牺牲去中心化的情况下保持竞争力。

这一升级有望降低 L2 rollup 的 gas 费用,并将为以太坊带来长期的性能提升。

EIP-1153 

EIP-1153 提出了临时存储操作码,使用该操作码会在每个事务处理完成后被弃用。临时存储的值永远不会被序列化到存储。

Optimism团队已就这一提案的动机作出解释,并指出仅在Uniswap上应用该提案即可为用户节省预估高达300万美元的gas成本。

这实际上是非常惊人的成就,因为 gas 成本一直是以太坊面临的难题之一。

这一提案的好处包括:

临时存储操作码是被单独考虑的,不会无意中破坏;
客户端不需要加载原始值;
使用后不需要清除存储槽;
不更改现有操作的语义;
简化 gas 核算规则。

EIP-4788 

EIP-4788提出了一项新的设计改进方案,可以改进桥和权益池的设计,以提高以太坊共识层的最小化信任访问。

该提案将在以太坊虚拟机中公开信标链区块根(Roots of the Beacon Chain Blocks),信标链区块根是一种密码蓄能器(Accumulators),用于证明任意的共识状态。

实现公开信标链区块根后,dApp用例可以改进其自身的信任假设,因此,Staking Pools、智能合约桥等应用的开发将变得更加容易。

EIP-5656 

EIP-5656引入了一项新指令,可复制指定的内存区域。

此提案对以太坊虚拟机相关代码进行了更改。在其他生产环境中,内存复制是一个基本操作,但在 EVM 上实现这一功能会带来 gas 开销。

然而,该提案将为以太坊提供一个高效的EVM指令,用于复制内存区域。该指令对于各种计算量大的操作非常实用,例如EVM 384,其中内存复制被标识为一个重要的开销。

通过此修改,内存复制将不再是繁琐的手动操作,而是通过指令进行自动处理。这将显着提高以太坊计算能力,并为开发者提供更多工具来改善和优化智能合约的性能。

EIP-6780 

EIP-6780 对 SELFDESTRUCT 操作码的功能进行了修改。

原先,该操作码会对帐户状态进行大量更改,特别是会清除所有代码和存储。过去,开发者曾考虑去除该操作码,但本提案采用了不同的解决方案。

EIP-6780 试图让 SELFDESTRUCT 的某些常见用法仍然有效,并降低来自合约版本控制的 EVM 实现变更的复杂性。最终效果是该提案删除了可能终止智能合约的代码。

此次升级还没有确切日期,预计在 2023 年底上线。

推荐阅读