https://zhuanlan.zhihu.com/p/109531201
https://decert.me/tutorial/solidity/ethereum/eth_history
四个阶段#
第 1 阶段:Frontier 前沿–2015 年 7 月 30 日发布。
第 2 阶段:Homestead 家园–2016 年 3 月 14 日发布。
第 3 阶段:Metropolis 大都会 第一阶段拜占庭 2017 年 10 月 16 日发布,第二阶段君士坦丁堡 2019 年 2 月 28 日发布。
第 4 阶段:Serenity 宁静–发布时间待定。
前面三个阶段是以太坊的 1.0 时期,基于 POW 的共识机制,最后一个阶段是以太坊 2.0,将会从 POW 最终升级为 POS 共识机制。
第一阶段:[Frontier 前沿]#
2015 年 7 月 30 日在高度为 0 的区块上发布以太坊网络最初版本 Frontier。创世区块中包含了 8893 个交易,他们来自从 2014 年 ETH 公开发售以来参与众筹的交易地址以及以太坊基金会的地址。
Frontier 是以太坊的原始状态,开发团队将其定位为一个 Beta 版本,它并非一个安全可靠的网络,体验和功能也很简单,可以用粗糙来比喻。总体来说它的主要功能如下:
1. 挖矿功能:提供了挖矿界面,并规定了区块链奖励政策:旷工挖出一个新区块并得到确认之后,可以得到 5 个 ETH 的奖励。
2. 限制性交易功能:提供了上传和执行合约的方法,但是每个区块的 gas 上限被硬编码为 5000, 意味着在这段时间限制了在以太坊上大规模开发和进行交易。之后几天,等矿工们对网络操作和使用正常之后,gas 的上限被自动解除,此后以太坊网络可以按照预期处理交易和执行合约。
3. 中心化保护措施:Canary Contracts - 金丝雀合约用来及时提醒和阻止网络中出现的错误操作或者无效交易,避免用户在无效的链上进行操作。这是一个中心化的机制,在早期的以太坊,对网络安全运行起到必要的保护作用。
4. 体验很差的可用性:前沿阶段的以太坊网络没有图形化的操作界面,所有客户端操作只能通过命令行实现,这种粗糙的操作界面对普通用户非常不友好,所以刚开始的以太坊用户只是局限于熟悉代码的开发人员。
可见这一时期的以太坊目标是提供一个正常运行的区块链网络,创建可用的环境,让挖矿和交易能够运作起来,让开发者能够测试各种分布式的 DAPP,并进行拓荒式的原始探索。
虽然 Frontier 只是一个公测版本,但它的表现超出了人们的期望,大量矿工进入网络开始挖矿并得到代币的奖励,它们提高了以太坊网络的算力,提升了抗击黑客攻击的能力。Frontier 是以太坊发展史的第一个里程碑。
第二阶段:[Homestead: 家园]#
2016 年 3 月 14 日圆周率日,以太坊发布了第二个阶段 Homestead。它是以太坊版本的第一次硬分叉计划,在高度为 1150000 的区块发生。因为硬分叉之后的版本与之前的版本不能兼容,因此所有节点必须在分叉之前完成版本升级,才能与主链的数据保持一致。
这是以太坊第一个稳定版的网络,标志着以太坊能够平稳运行,不再是不安全和不可靠的网络。但是在技术上,与 Frontier 相比,并没有特别明显的突破。这一阶段的主要改进包括:
1. 取消金丝雀合约:去除了以太坊区块链上的中心化功能和机制。
2. 引入 Mist 钱包:提供了图形界面的 mist 钱包客户端,让用户可以方便地持有或者交易 ETH。以太坊不再是只供技术人员的开发工具,普通用户也可以方便地体验和使用以太坊。
值得一提的是,Homestead 是以太坊的第一个正式和稳定版网络,在这一阶段发布之后两个月,以太坊开发者大会 DEVCON-2 6 月 16 日在中国上海举行,大会的主题聚焦在智能合约和网络安全上。然而第二天就发生了区块链历史上最严重的一起黑客攻击事件:震惊币圈的 The DAO 攻击。因为 The DAO 项目编写的智能合约漏洞被黑客成功攻击导致 360 万 ETH 被盗,ETH 最终获得大多数社区成员投票决定强行实施硬分叉,在区块高度 1,920,000 时分叉成功,挽回了 The DAO 众筹参与人的损失。但是不认可此次分叉的那部分人仍然留在原来的那条原始链上挖矿和交易,这就是被后来成为以太经典的 ETC,以太坊从此一分为二。
第三阶段:[Metropolis: 大都会]#
大都会又分为两个阶段:拜占庭(Byzantium)和君士坦丁堡(Constantinople),将通过两次硬分叉实现技术的升级。
拜占庭计划于 2017 年 10 月 16 日在 4370000 区块高度被激活,成功完成分叉。它涉及的升级主要有:
1. 调整区块难度评估的公式:规定了不能通过操纵叔块来强制增加区块高度,提高了挖矿的难度,保证了区块产生速度的稳定性。
2. 调整挖矿奖励:挖矿收益从每个区块 5 个 ETH 降低到 3 个。
3. 延迟引爆 “难度炸弹”(Difficulty Bomb):为了以太坊的共识机制顺利从 POW 过渡到 POS, 以太坊提前于 2015 年 9 月规划了在过渡期间逐渐提高挖出新区块难度的 “难度炸弹” 机制。根据这个机制,在 POW 后期,挖矿难度将会提高到无法产生新区块,以太坊网络将会被冻结形成 “冰河时期”。目的是最终淘汰 POW 机制,避免矿工继续在旧的 POW 链上作业从而产生两条独立的链,导致社区分裂。拜占庭升级将 “难度炸弹” 计划推迟了 1 年时间。
君士坦丁堡硬分叉在几经推迟之后,于 2019 年 2 月 28 日在区块高度达到 7280000 时被触发。
君士坦丁堡升级总共包括 5 个改进协议,分别是 EIP 1234、EIP145、EIP 1014、EIP 1052 和 EIP 1283。比较重要的内容包括:
1. 优化了 gas 费用:减少 SStore 操作码的 GAS 耗费,以太坊虚拟机中允许 dApp 开发人员优化某些操作,以节省 gas。提升了以太坊网络的可扩展性。
2. 推迟 “难度炸弹”:“难度炸弹” 时期推迟 500 万个区块,历时约 12 个月,届时将会进行再次投票。
3. 智能合约验证:允许智能合约只需通过检查另一个智能合约的哈希值来验证彼此。节省大量时间和精力,提高了验证智能合约的效率。
4. 减少区块奖励:再次将挖矿奖励从每个区块 3ETH 减少到 2ETH。这是以太坊第三次区块奖励减少。
这一次升级影响最大的应该是区块奖励,对矿机厂商和矿工,甚至以太坊挖矿生态都会产生比较大的影响和调整。因为挖矿收益减少,机会成本增加,在以太坊上挖矿将会变得性价比低于其他币种,因此可能会有不少以太坊矿工会转而去挖 ETC。而矿池也很有可能为了留住矿工慢慢转向其他币种。
伊斯坦布尔(Istanbul)#
伊斯坦布尔是在9069000在块高执行的,执行时间是在 2019 年 12 月 8 日,伊斯坦布尔分叉有以下几个重要改进:
- 降低 calldata(是一个存储数据的位置,将在第 6 章介绍)参数的 gas 消耗(EIP2028);
- 降低 alt_bn128 (椭圆曲线) 预编译函数的 gas 消耗(EIP1108);
- 增加了 chainid 操作码,让智能合约可以识别自己在主链还是分叉链或二层网络扩容链上(EIP-1344);
- 添加 BLAKE2 预编译函数,让以太坊可以和专注隐私功能的 Zcash 链交互,提高以太坊的隐私能力。
其中 1 2 3 点对以太坊的二层网络扩容方案是重大利好,因为很多二层网络方案会把很多交易打包在一起传递给智能合约验证(通过 alt_bn128 函数验证)。
伊斯坦布尔分叉另外还有两个重新调整 gas 费用的改进:EIP-1884 EIP-2200 , 这里不详细介绍,有兴趣可以通过链接阅读。
信标链创世块#
2020 年 12 月 1 日,信标链正式启动,是以太坊迈向 POS 共识的重要一步。
信标链启动后,以太坊有两条独立的链,但此时的信标链仅可以进行共识,无法进行任何交易。
柏林(Berlin)#
柏林升级在12244000进行,优化了某些以太坊虚拟机操作的燃料成本,并增加了对多种交易类型的支持,柏林升级的修改有:
伦敦(London)#
伦敦升级在 12965000 进行(2021/08/05 日)。引入了 EIP-1559,对交易费进行了修改,同时还对交易费用的退款处理进行了修改,修改有:
- EIP-1559 - 改善交易费市场
- EIP-3198 - 从区块返回 BASEFEE
- EIP-3529 - 减少以太坊虚拟机操作的 Gas 退款
- EIP-3541 - 防止部署以 “0xEF” 开头的合约
- EIP-3554 - 将冰河世纪推迟到 2021 年 12 月
TheMerge 合并#
2022 年 9 月 15 日,信标链与以太坊 POW 链合并,这是一个重要的里程碑,合并之后不再使用 POW 共识,合并之后,两条链使用新名字:共识层与执行层。
执行层负责交易执行(EVM),共识层负责共识出块。
第四阶段:[Serenity: 宁静]#
以太坊的最后发展阶段,意味着一个功能完善,稳定的时期,以太坊因此走向 “宁静”。也是我们熟知的以太坊 2.0 时期。
以太坊的 2.0 将会随着两次升级的成功而开启,在 “宁静” 到来之前,还将经历 “伊斯坦布尔” 和 “以太坊 1.X” 两个阶段。
伊斯坦布尔硬分叉于 2019 年 12 月 8 日,在高度 9069000 成功启动,提出了 6 个改进提案。以太坊这次升级的关键词是成本和速度。实现了提高性能、优化成本、改进与 Zcash 的互操作性,并支持围绕智能合约的更有创造性的功能。
1. 成本:降低预编码、代码价格、gas 费等各类开发的成本,交易数据成本从每字节 68gas 降低到 16gas。这样一个区块中可以容纳更多数据,增加以太坊的带宽, 扩展性得到提高。
2. 速度: TPS 上升至 3000,以太坊网络每秒能够处理 3000 笔交易。而在之前,以太坊每秒处理的交易数量仅为 30 笔左右。
未来:以 rollup 为中心的开发路线#
Vitalik 在 2022 年 11 月 5 日,发表了以太坊的最新发展路线图:
新的路线图,包含:The Merge、The Surge、The Scourge、The Verge、The Purge、The Splurge 六大阶段, 六个阶段在同时推进。
The Merge 阶段:已经大部分完成,预计 4 月份进行上海升级,激活取款功能。
The Surge 阶段:推动以 Rollup 为中心的扩容,将使得 rollup 的开销降低。
The Verge 阶段:引入 Verkle 树,优化数据存储及验证。
The Purge 阶段:清理数据、简化存储,降低验证者硬盘空间性能要求。
The Splurge 阶段:进行 EVM 改进及全面引入零知识证明