mt logoMyToken
Market cap:
0%
FGI:
0%
Cryptocurrencies:--
Exchanges --
ETH Gas:--
EN
USD
APP
Ap Store QR Code

Scan Download

以太坊协议层的七年之变

Collect
Share

什么是以太坊

什么是以太坊?一千个人有一千个答案,而本文想探讨的是最为一致的答案,即以太坊的协议是什么?或用更技术地描述——如果要开发以太坊的客户端(PoW链/ETH1),我需要依照什么规则?

你没法找到一份规范描述以太坊当前的共识规则,因为以太坊的协议是通过增量更新来描述的。以太坊黄皮书描述了创世时的完整协议,而每一次协议变更都称为一次硬分叉(当然,也有人尝试用「网络升级」这个表述),需要所有的客户端更新代码。简而言之,以太坊通过硬分叉来实现协议层的变化,变化的最小单元被称为以太坊改进提案(EIP, Ethereum Improvement Proposal),一次硬分叉包含一组以太坊改进提案。 本文将回顾以太坊的历次硬分叉及其中包含的改进提案,试图展现过去的七年中以太坊究竟做了什么

jqPGDkR11jMq2uKbrDOyd7eEQHy3TUNrvyYLJFZz.png

历次硬分叉介绍

概况

以太坊的历次硬分叉可以通过此页面查看。自 2015 年 7 月30日上线起,共进行了 14 次硬分叉,包含 39 个 EIP。间隔最近的两次硬分叉是 26 天,间隔最远的两次则是 490 天

 

硬分叉分为「主动升级」和「被动升级」。主动升级指的是开发团队主动对以太坊协议的修正,而被动升级则是「不得不」采取的行动,以应对潜在的安全性风险。被动升级至少包括「DAO Fork」、「Tangerine Whistle」、「Spurious Dragon」、「Muir Glacier」、「Arrow Glacier」、「Gray Glacier」此外,多次主动升级也包含了推迟难度炸弹的选项

硬分叉是如何达成共识的呢?尽管关于硬分叉的协商并无成文规定,而是依照某种社区管理进行,但其流程发生过一次变更,标志性事件是 Martin Holst Swende 提出了「以 EIP 为中心的升级」。

 

代表性硬分叉解读

历次硬分叉背后蕴含着一些代表性事件,颇具戏剧性,包括 DAO 分叉、上海 DOS、双堡奇缘和拆弹危机

DAO 分叉

DAO 分叉事件是以太坊发展过程中最为深远的一次事件。由于 the DAO 的智能合约被黑客攻击,约 360 万 ether 被黑客盗走,但有 28 天的冻结时间。在这期间,借助 Carbonvote ,持币者表达意愿,以太坊基金会决定将这部分资金转移到新的智能合约,允许投资者提款。此次分叉产生了 Ethereum Classic,也引发了大量的社会争论

硬分叉决策流程变更

硬分叉是如何决定的?实际上以太坊长期缺少成文文档,更多依赖「社会共识」(如果我错了请改正)。EIP-233 试图规范分叉的正式流程,但并未被接受

 

尽管本文无法展现以太坊社区对硬分叉决策流程的讨论,但以太坊的硬分叉决定流程显然发生过变化。在 Berlin 硬分叉之前,开发者首先确定硬分叉的时间,再决定要纳入哪些 EIP,确定之后再进行实现和测试

不是改变的改变

值得一提的是,以太坊的区块空间上限(Block gas limit)并非共识的一部分。矿工有权更改区块空间上限,每个区块的上限变化最多为 0.1%。不去硬编码这个数值主要是为了避免潜在的攻击风险

 

EIP 都在做什么

纳入硬分叉的 EIP 的类型主要包含计费模型变更、新操作码引入、难度炸弹、经济模型、预编译、安全考虑等

计费模型变更

计费模型变更是数量最多的 EIP,共有 10 个,占 25.6%。其通过增减操作码的单价,以平衡 gas 消耗和实际占用系统资源的不匹配,可消除系统被 DOS 攻击的隐患,或是有利于特定类型应用的部署。一部分 DOS 隐患是因为对系统资源的错误估计造成的,EIP-150 和 EIP-160 解决了这个问题;而另一部分 DOS 隐患则是系统的固有特性,伴随着状态数据增长,访问状态数据的实际资源消耗也随之增长,因此需要定期调整相应操作码的单价,典型的有 EIP-1884(我认为写得最好的 EIP 之一)

由于以太坊的状态表示模型,计费模型必须定期调整,这是特性,而非故障

新操作码引入

共有 9 个 EIP 为以太坊虚拟机引入了新的操作码(不含 EIP-1884),占 23.08 % 。其中比较有影响力的包括 EIP-7 (DELEGATECALL), EIP-1014(CREATE2), EIP-3198(BASEFEE) 等

经济模型

有 4 个 EIP 对经济模型有影响,2 个降低了新区块奖励,1 个调整了难度计算模型(EIP-100),此外引发较多争议的 EIP-1559 调整了手续费市场

安全考虑

有 3 个 EIP 是出于安全考虑的,包括重放攻击保护(EIP-155),状态前缀树清理(EIP-161),合约代码大小限制(EIP-170)

其它

其它 EIP 还包括网络协议改进(EIP-8),增加交易执行状态接口(EIP-658),增加新的交易类型(EIP-2718)等。此外,EIP-2 包含了 Homestead 的所有更新,较为复杂

 

总结

本文介绍了以太坊历史上的历次硬分叉,解读了几次硬分叉背后的代表性事件,并详细描述了以太坊硬分叉决策流程向 EIP 为中心的转变。文章还深入分析了历次硬分叉中的 EIP 所发挥的作用

以太坊即将迎来新的时代,往事涌上心头,读者朋友,你有何感受?

 

在加密行业你想抓住下一波牛市机会你得有一个优质圈子,大家就能抱团取暖,保持洞察力。如果只是你一个人,四顾茫然,发现一个人都没有,想在这个行业里面坚持下来其实是很难的。
感谢阅读,喜欢的朋友可以点个赞关注哦,我们下期再见!

Disclaimer: The copyright of this article belongs to the original author and does not represent MyToken(www.mytokencap.com)Opinions and positions; please contact us if you have questions about content