优惠论坛

标题: 以太坊协议层的七年之变、到底是什么? [打印本页]

作者: 金色财经小编    时间: 2022-9-27 01:17

什么是以太坊

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

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

历次硬分叉介绍

以太坊的历次硬分叉自 2015 年 7 月30日上线起,共进行了 14 次硬分叉,包含 39 个 EIP(「君士坦丁堡」和「彼得堡」视为同一次)。间隔最近的两次硬分叉是 26 天,间隔最远的两次则是 490 天。

硬分叉是如何达成共识的呢?尽管关于硬分叉的协商并无成文规定,而是依照某种社区管理进行,但其流程发生过一次变更,标志性事件是 Martin Holst Swende 提出了「以 EIP 为中心的升级」。这种新的硬分叉协商机制首次在 Berlin 升级使用,并避免了一次大型失误,细节将在后文中介绍。

代表性硬分叉解读

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

DAO 分叉

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

拆弹危机

为什么 Muir Glacier 和 Istanbul 两次硬分叉之间只有 26 天,这是因为核心开发者们错误计算了难度炸弹的爆炸时间,导致在 Istanbul 中未纳入推迟难度炸弹的提案。等到发现难度炸弹即将要对网络产生影响时,第 76 次核心开发者会议迅速接受了 EIP-2384,并纳入到 Muir Glacier 硬分叉中。

硬分叉决策流程变更

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

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




欢迎光临 优惠论坛 (https://www.tcelue.ooo/) Powered by Discuz! X3.1