作者:潘致雄,链闻研究总监
以太坊在历史上已经进行过了 8 次的网络升级。当我们尝试将历史每次分叉的区块高度映射到一条线型的时间轴之上,会发现以太坊网络升级的频率正在逐渐减少,甚至在 2018 年一整年都没进行过升级。本文并未尝试探究以太坊的升级频率在减少的原因,不过最直观的猜测,可能是因为以太坊基金会需要将一部分工程师的精力放到 2.0 的研发中,也可能是因为随着平台的成熟,不需要进行高频率的分叉,毕竟这对于运行网络的节点而言非常麻烦,需要对客户端进行升级。
最近的一次硬分叉升级已于北京时间 12 月 8 日 8 点左右完成,升级代号为「伊斯坦布尔」,激活 6 个 EIP 提案升级网络。以太坊联合创始人 Vitalik Buterin 表示,在本次升级后,普通的每秒交易数(TPS)会提高约 5% 到 10%,而对于 Layer 2 技术 Rollup 来说,可以提高约 4 倍。
众所周知,以太坊整个项目是按四个阶段逐步推进的,分为:前沿(Frontier)、家园(Homestead)、大都会(Metropolis)和宁静(Serenity)。前三个阶段可以称之为以太坊 1.0,而宁静则可以称之为以太坊 2.0。由于 2.0 是一个非常庞大和跨越数年的项目,所以采用工作量证明机制的 1.0 和升级为权益证明的 2.0 很可能将会在很长一段时间内并存,分别演进。
下一次的硬分叉升级代号为「柏林」,计划将引入 ProgPoW 挖矿算法,将削弱专用挖矿设备 ASIC 的对于网络的影响力。由于 1.X 和 2.0 可能会平行进化数年的时间,所以对于 1.X 网络而言,挖矿算法的公平性依旧是一个值得探索的话题。当然随着 2.0 逐渐完成,原本在网络中植入的「难度炸弹」将持续发挥作用,当以太坊进入「冰河时代」,1.X 的矿工难以生成新区块之后,用户也就不得不转换到 2.0 的「宁静」。
当然,2.0 的最核心的科技是分片技术,可以极大程度提升以太坊这个分布式系统的效率。不过 2.0 中还安排了一些其他重要的技术,也可以进一步提升网络的性能,比如 eWASM。所以这类技术也可能会在 2.0 完全推出之前,将部分的特性先在 1.X 链上进行试验。
本文将以太坊官方文档中的路线图页面进行了梳理,试图标示出历史上每次升级所带来的影响。当然,由于大多数升级的最重要意义就是提升网络的基础技术能力或性能,所以这部分的内容就不详细展开了。
值得关注的一些内容:
- 以太坊在主网上线时并未植入「难度炸弹」;
- 在植入难度炸弹之后,已执行两次硬分叉推迟难度炸弹,第三次硬分叉推迟难度炸弹最快在本月内进行;
- 以太坊在 2018 年未进行过网络升级;
- 在伊斯坦布尔之后,以太坊的升级代号将以 Devcon 举办顺序依次命名;
- 未来的开发周期将会以 EIP 为中心,只有当 EIP 足够成熟之后,才会考虑合并至升级中。
前沿(Frontier):进入第一阶段
2015 年 7 月 30 日,这是以太坊创世区块生成的日期,也是以太坊第一阶段开始的日期。
以太坊「前沿」,是一个去中心化的软件平台
前沿解冻(Frontier Thawing):植入难度炸弹
2015 年 9 月 7 日,自此次升级之后(也就是区块高度 200,000),难度调整机制将被引入,也被称为「难度炸弹」,网络中的算力难度将会在一年左右经历指数级增长,所以也就保证了以太坊会在接下去的一年之内再一次进行硬分叉。
引入难度炸弹的目的是为了给网络提供一个从 PoW 迁移至 PoS 的机制,当算力太高导致矿工无法挖出任何一个区块的时候,将是网络转换为 PoS 的最好时机。
家园(Homestead):进入第二阶段,总算有图形界面钱包了
2016 年 3 月 14 日(π日),这是以太坊第一次硬分叉,也是路线图第二阶段开始的日期。该版本中最重要的功能是优化了智能合约并为智能合约语言 Solidity 引入了全新的代码。另外还在该版本中发布了桌面端钱包 Mist,用户可以通过 Mist 持有资产或使用智能合约。后来 Mist 项目在 2019 年初宣布终止。
以太坊「家园」,是一个区块链应用平台
DAO 分叉(DAO Fork):诞生 ETC 和 ETH
这是为什么以太坊有两个网络的原因。2016 年一个名为 The DAO 的去中心化自治组织项目通过发行代币融资 1.5 亿美元。在 6 月,The DAO 的合约被黑客利用,价值数千万美元的 ETH 被未知的黑客窃取。这个事件的后续发展还是有很多细节的,总而言之,大多数社区成员认为应该进行硬分叉,将被盗资金从黑客那里拿回。所以在 2016 年 7 月 20 日,进行了名为「DAO Fork」的硬分叉。还有不少社区成员并不认可这种行为,他们认为去中心化的区块链平台不应该进行任何人为干预,已经发生的交易不能被撤销。存在分歧的社区在硬分叉后产生了两个网络,黑客依旧掌握资金的以太经典(Ethereum Classic)和被盗资金已返还给投资者的以太坊(Ethereum)。
橘子口哨(Tangerine Whistle):减轻 DoS 攻击
以太坊网络自 2016 年 9 月 18 日起,遭遇了个人或团队的攻击,网络被大量未完成交易堵塞,类似于一种拒绝服务攻击(DoS)。所以以太坊基金会计划进行两次硬分叉彻底解决这类攻击。第一次的硬分叉会聚焦处理最紧急的网络健康问题,也就是价格过低的操作码。第二次的硬分叉会聚焦在次要优先级的问题,比如攻击者利用大量空账户进行洪水攻击,可能会增加不必要的区块链账本的大小。
2016 年 10 月 18 日的第一次硬分叉,增加了以太坊虚拟机(EVM)操作码(opcode)的成本,这也就意味着在链上执行这类计算,需要付出的成本将会提高。这类操作码是防止垃圾信息攻击的基础,这次的升级就是对这些进行了调整,以减轻这类攻击的影响。
伪龙(Spurious Dragon):彻底解决攻击
时隔一月之后,2016 年 11 月 22 日进行的即是第二次硬分叉,希望彻底解决自 9 月起引发的一系列攻击问题。将通过四个提案联合解决,分别是:增加重防攻击保护、提升 EXP 操作码的费用、状态树清理、调整智能合约的最大字节数限制。
拜占庭(Byzantium):进入第三阶段 & 首次推迟难度炸弹
2017 年 10 月 16 日,此次硬分叉包含了 9 个改进提案。除了与操作码、智能合约等底层相关的更新之外,还将「难度炸弹」推迟至一年半之后,并将区块奖励从 5 ETH 减少为 3 ETH。在拆除难度炸弹之前,区块生成时间接近 30 秒。
巴列奥略王朝时的拜占廷帝国疆域,公元 1265 年前后
君士坦丁堡 (Constantinople):双重硬分叉 & 再度推迟难度炸弹
在沉寂了一年多之后,以太坊基金会将于 2019 年 2 月 28 日进行「大都会」的最后一步,也就是名为「君士坦丁堡」的硬分叉,共包含 6 个改进。有意思的事,此次升级中还有一个名为「彼得斯堡」(Petersburg)的硬分叉会同时进行,去除了之前在君士坦丁堡中的一个改进提案(EIP-1283)。
在本次的 5 大更新中,除了技术相关的调整之外,再次推迟难度炸弹 12 个月,并将区块奖励从 3 ETH 减少为 2 ETH。
奥斯曼帝国时期的君士坦丁堡,1572 年
伊斯坦布尔(Istanbul):性能优化
以太坊 2.0 计划在 2020 年启动第一阶段(phase 0),在 2.0 没有完全上线之前,大多数用户和开发者可能会主要使用以太坊 1.X,所以后续 1.X 的更新也是非常重要的。本次的伊斯坦布尔硬分叉在 12 月 8 日激活,包含了 6 项改进,提升性能和优化部分的操作码。以太坊联合创始人 Vitalik Buterin 表示,在本次升级后,普通的每秒交易数(TPS)会提高约 5% 到 10%,而对于 Layer 2 技术 Rollup 来说,可以提高约 4 倍。
由博斯普鲁斯海峡和马尔马拉海交汇处所见的伊斯坦布尔全景
谬尔冰川(Muir Glacier):又推迟难度炸弹
不断有用户和开发者发现最近以太坊的区块生成间隔有略微提升,这将导致以太坊网络的 TPS 下降。以太坊开发者进行了讨论,有人提议在区块高度 9,200,000 进行代号为「谬尔冰川」的硬分叉以移除难度炸弹,预计发生在 2019 年 12 月 31 日前后。根据开发者在讨论组中的数据来看,以太坊的区块生成时间在移除难度炸弹之前将一直保持增长,到 1 月 6 日左右可能会达到 25 至 30 秒时间。
由 Frank La Roche 在约 1897 年摄影记录下的谬尔冰川
柏林(Berlin):开始以 Devcon 的城市命名
从这个版本开始,升级代号将会遵从以太坊开发者大会 Devcon 的顺序,而第一届 Devcon 0 就是在柏林举办的。之前其实为「伊斯坦布尔」规划了很多的改进,但是由于各种原因,最终部分没有来得及放在伊斯坦布尔中的改进提案将会移至「柏林」,暂时被接受的 EIP 有 8 个。
第一届(Devcon 0)在柏林,中间为 Vitalik Buterin 和 Gavin Wood
伦敦(London)、上海(Shanghai)
目前在官方文档中,也就提到过这两次的升级代号,其他任何信息还未被讨论过。不过官方有提到,未来的开发周期将会以 EIP 为中心,只有当 EIP 足够成熟之后,才会考虑合并至升级中。而且会优先考虑「准时」且「规模小」,而不是「延期」且「规模大」。
第三届(Devcon 2)在上海
本文来自,仅作分享,存在异议请联系平台删除。本文观点不代表刺猬财经 - 刺猬区块链资讯站立场。