Echo | 从历次升级看以太坊协议的演化
摘要: 原文发表于 2019 年 5 月 13 号。增补了最近几次硬分叉的信息
编者注:原文发表于 2019 年 5 月 13 号。初版译本在此处。修改很少,增补了最近几次硬分叉的信息。
纵观全局,区块链技术出现的时间并不久。尽管区块链相关的基本概念(密码学、去中心化、点对点网络和交易)已经被研究了数十年,但直到 2008 年比特币诞生之后,人们才相信这些概念确实可以组合到一起、创造出可用的产品。尤其是以太坊,直到 2015 年才以一种公开的、可用的面貌出现在人们的视野中。尽管预期的发展时间线和具体细节有所变化,以太坊仍坚持按照计划推进,不断升级协议,以确保提升可用性、安全性、功能性以及去中心化程度。
随着今年 2 月君士坦丁堡升级的完成,以太坊也就踩在了 Serenity(也被称为以太坊 2.0)阶段的门槛上,只待再经过一系列硬分叉和阶段性升级(包括 “以太坊 1.x”)便可实现。然而,为了更好地理解以太坊 2.0 的目标,我们先要回望一下当初是从何处启航。这里提供了一份以太坊大事记,回顾了以太坊历史上重要的计划内(外)的硬分叉和升级,为下一阶段的发展做准备。
Olympic | 2015 年 5 月 9 日
以太坊区块链于 2015 年7 月正式公开上线。而在这之前的临门一脚是 Olympic——第 9 个也是最后一个开放的测试网,用以进行概念验证(PoC),让开发者预先探索以太坊区块链发布后的运行情况。Vitalik 宣布将发放共计 25000 枚 ETH 来奖励对网络进行压力测试的开发者们。测试要求很明确:尝试让网络超负荷,并 “疯狂操作网络状态”,从而了解协议将如何处理流量过高的情况。开发者需要测试四个方面:交易动作、虚拟机运行、挖矿机制以及一般惩罚机制。
Frontier | 2015 年 7 月 30 日
经过几个月的压力测试后,以太坊网络已经做好了进正式主网发布的准备。7 月 20 日,以太坊的创世块被挖出,社区开始逐渐扩大。在 Frontier 发布前几个月,Vinay Gupta 发表了一份说明,阐述了以太坊的发布过程。慷慨激昂的陈词中不乏对以太坊潜在用户的警示,Gupta 表示 Frontier 是 “最原始形态” 的以太坊,开发者们应当谨慎行事。就在 Frontier 发布的前几天, Stephen Taul 也像 Gupta 一样对开发者发出了提醒:“与美国拓荒潮期间那些勇敢的开拓者们一样,以太坊社区的参与者将发现巨大的机会,同时也将面临许多挑战。”
Frontier 协议包含以下几个关键特性:
-
区块奖励:当矿工们在以太坊区块链上成功挖到一个区块时,他们将收到以 ETH 发放的奖励。在 Frontier 阶段,矿工的区块奖励是每区块 5 ETH。 -
Gas:在 Frontier 发布后的初期,每个区块的 Gas 上限被硬编码为 5000 gas。说白了,这就意味着网络上不会有什么大动作。这样就留出了一段缓冲期,以便矿工开始在以太坊上工作,并让早期用户安装客户端。几天后,该 Gas 上限自动解除,网络可以按照计划开始处理交易和智能合约。 -
Canary 合约:Canary 合约被纳入了 Frontier ,用以告知用户哪些链已遭受或易遭受攻击。Canary 合约被会赋予 0 或 1 的值。如果合约被赋值 1,客户端就能识别出这是一条出错的链,并在挖矿时避开这条无效链。本质上来说,Canary 合约的这些功能使得以太坊核心开发团队在网络出现问题时能够暂停网络的运行。在以太坊早期阶段,Canary 合约是一个极度中心化却又不可或缺的保护机制。 -
可用性:所有开发者的操作均通过命令行来执行,因为没有图形用户界面。整个网络是可用的,但用户界面非常粗糙,只有熟悉以太坊并具备操作经验的人才有能力使用。
Homestead | 2016 年 3 月 14 日
EIP-2:Homestead 核心升级
EIP-7
EIP-8:面向未来的升级
DAO 分叉 | 2016 年 7 月 20 日
大都会:拜占庭分叉 | 2017 年 10 月 16 日
EIP 100
EIP 658
EIP 649
大都会:君士坦丁堡 | 2019 年 2 月 28 日
EIP 145:按位移动指令
EIP 1052:智能合约验证
EIP 1014:CREATE2
EIP 1283:SSTORE
EIP 1234:区块奖励以及暂缓难度炸弹
前景:伊斯坦布尔(Istanbul)以及宁静(Serenity)
编者注:遗憾的是,作者在此处期望的未来,到本次校对(2021 年 7 月)为止,尚未成为现实。2020 年底,信标链正式推出,ETH 持有者可以在以太坊区块链上把资金锁定,从而成为信标链验证者、参与 PoS 的共识过程。但是,信标链还不具备任何的功能,甚至信标链验证者的奖励也无法转账,资金也无法退出。信标链仍需经历一个叫做 “Merge(合并)” 的过程,才能真正用于承载当前由 PoW 共识机制来承载的区块链上活动。(“Merge” 的实施尚无明确的时间表。乐观估计可能在明年的第一季度。) 此外,在原文发表之后,以太坊区块链又经历了多次硬分叉,我们把这几次硬分叉的信息,增补如下:
“伊斯坦布尔” 升级 伊斯坦布尔分叉的激活高度为 9, 069, 000 号区块,激活时间是 2019 年 10 月 8 号(UTC 时间)。 升级内容:
EIP-152:增加 BLAKE2 压缩函数 F
预编译功能
增加在以太坊合约内验证 Equihash PoW 的功能。这就开启了 Zcash 和以太坊之间中继交易以及原子化互换交易的可能。 EIP-1108:降低 alt_bn128 曲线的预编译 Gas 消耗量
让 zk-SNARKs 运算变得更便宜,让更便宜的扩展和隐私应用能开发出来。例如 Matter labs、Aztec Protocol、Rollup 以及 Zether。 EIP-1344:ChainID 操作码
为合约增加一种跟踪自己所在以太坊链的方式,好让合约(尤其是 Layer-2 方案如 状态通道 和 Plasma 所用的合约)跟踪正确 Layer-1 链,尤其是在硬分叉期间。 EIP-1884:给与默克尔树大小相关的操作码重新定价
改变了一些 EVM 操作码的 Gas 耗用量,以防止滥发交易攻击并更好地平衡每个区块的计算开销。在以太坊网络上,一个操作所需耗用的 Gas 数量往往跟这个操作所需付出的计算开销相匹配。该 EIP 提高了一些计算密集但当前的 Gas 耗用量较少的操作码的耗用量,即 SLOAD、BALANCE 以及 EXTCODEHASH。 EIP-2028:降低交易数据 Gas 消耗量
通过降低在交易内调用数据的 Gas 消耗量来让 zk-SNARKs 和 zk-STARKs 的应用更便宜。这样做还可以帮助 Layer-2 解决方案提高吞吐量。Starkware 就是一个例子。 EIP-2200:改变 SSTORE 操作的 Gas 净耗用量计量方式
改变 EVM 数据存储操作的 Gas 耗用量计量方式,让合约能够引入一些新的函数,比如重入锁(re-entry lock)以及 same-contract multi-send。 见:https://ethfans.org/posts/istanbul-upgrade-eip-explainer
“缪尔冰川” 升级 伊斯坦布尔分叉的激活高度为 920 万号区块,激活时间是 2020 年 1 月 2 号(UTC 时间)。 升级内容:
EIP 2384
将难度炸弹推迟 400 万个区块,约 611 天。 见:https://ethfans.org/posts/ethereum-muir-glacier-upgrade-announcement
“柏林” 升级 伊斯坦布尔分叉的激活高度为 1224 4000 号区块,激活时间是 2021 年 4 月 15 号(UTC 时间)。 升级内容:
EIP-2565:ModExp Gas Cost
降低使用 ModExp (0x00..05)
预编译模块的 Gas 消耗量EIP-2929:提高状态访问操作码的 Gas 消耗量
提高一笔事务(transaction)中首次使用 SLOAD
、*CALL
、BALANCE
、EXT*
以及SELFEDESTRUCT
的 Gas 消耗量EIP-2718:标准化的事务信封
引入一种新的、作为信封的事务类型,从而能够更好地支持多种事务类型 EIP-2930:可选的访问列表
加入一种新的事务类型,该种类型的事务会包含一个访问列表:该事务计划访问的地址和存储项键的列表。这可以在一定程度上缓解由 EIP-2929 带来的 Gas 消耗量增加。 详见:https://ethfans.org/posts/the-berlin-upgrade-overview
即将到来的 “伦敦” 升级 时间未确定。 内容已确定:
EIP-1559:ETH 1.0 链的手续费市场改革 EIP-3198:BASEFEE 操作码 EIP-3541:拒绝以 0xEF 字节开头的新合约 EIP-3554:难度炸弹推迟到 2021 年 12 月 1 日 详见:https://ethfans.org/posts/london-upgrade-overview
原文链接:
https://media.consensys.net/a-short-history-of-ethereum-a8fdc5b4362c
作者: ConsenSys
作者:以太坊爱好者;来自链得得内容开放平台“得得号”,本文仅代表作者观点,不代表链得得官方立场凡“得得号”文章,原创性和内容的真实性由投稿人保证,如果稿件因抄袭、作假等行为导致的法律后果,由投稿人本人负责得得号平台发布文章,如有侵权、违规及其他不当言论内容,请广大读者监督,一经证实,平台会立即下线。如遇文章内容问题,请联系微信:chaindd123。
评论(0)
Oh! no
您是否确认要删除该条评论吗?