本文介绍了以太坊的治理问题,包括决策流程、机构和历史事件。以太坊的治理流程基于链下,由以太坊基金会牵头,并通过在线论坛进行。任何人都可以提交EIP,并由专门的编辑人员审查。以太坊的发展受到节点运营商和dapp开发者的影响,但没有任何单个用户、个人或组织有权更改协议。最具争议的决定是DAO硬分叉,导致永久性的链分裂。以太坊的治理是一个复杂的迷宫,受社会规范和叙述的影响,所有网络利益相关者都必须考虑社会规范如何塑造以太坊的未来。
谁管理以太坊?谁决定何时对以太坊协议进行哪些更改?以太坊协议的最终用户在影响以太坊核心开发人员的行动和决策方面有多大发言权?在本报告中,Christine Kim 通过全面概述决策过程中涉及的流程和机构,阐明了以太坊治理问题。她还讨论了以太坊历史上的关键事件,在这些事件中,开发人员和更广泛的以太坊社区之间的协调是迫切需要的,也是有争议的。
以太坊是全球最庞大的区块链,支持超过 4,000 个去中心化应用程序 (dapps),并吸引了超过 7,000 名开发者。随着 Arbitrum、Optimism 和 Polygon 等 Layer 2 扩展解决方案的采用和发展,该网络预计将进一步扩展。作为世界上第一个通用区块链,以太坊一直领先于其他 Layer 1 替代竞争对手,拥有所有通用区块链中最高的市值和网络安全(按总质押价值定义)。除了比特币,以太坊是加密生态系统中最重要和最有价值的区块链,这就是为什么对以太坊协议的更改以及进行更改的过程对加密行业的其他部分具有深远而重大的影响。
与比特币一样,以太坊的治理流程基于链下,由以太坊基金会牵头,并通过 Discord、GitHub、Ethereum Magicians 和 Zoom 等在线论坛进行。ETH 持有者不会通过链上提案或去中心化自治组织 (DAO) 投票做出任何决定。一方面,这确保了将代码更改推送到以太坊协议的治理流程不会受到大型 ETH 鲸鱼持有者的影响,也不会被恶意行为者利用治理相关智能合约中的漏洞利用。另一方面,链下治理形式难以审计和客观评估,因为流程故意不透明、主观和非结构化。
与比特币不同,以太坊非常擅长部署硬分叉,即向后不兼容的升级,需要数千名运行和操作以太坊软件的用户的协调。在过去 8 年的 19 次硬分叉过程中,核心开发人员已经调整了以太坊的治理流程,使其更加快速和流程驱动,严重依赖每周的电话会议系列,即所谓的「所有核心开发人员 (ACD) 电话会议」,来讨论和跟踪影响以太坊协议的治理决策。
本报告深入探讨了以太坊治理,重点介绍了决策过程中涉及的流程、人员和论坛情况。然后,我们通过分析 DAO 硬分叉、Parity 多重签名漏洞、君士坦丁堡升级、ProgPoW、Afrigate、Merge 和上海升级事件,讨论了七个案例研究,以说明以太坊治理流程。
升级以太坊的官方流程称为以太坊改进提案 (EIP) 流程。它基于比特币改进提案 (BIP) 流程,这是向比特币协议提交代码更改的标准化流程。BIP 流程又受到 Python 的 PEP-0001 流程的启发,该流程概述了改进 Python 编码语言的治理模型。BIP 和 EIP 分别是描述比特币和以太坊的新功能或更改的文档。具体来说,EIP 是根据 EIP-1 定义的指南和模板进行格式化的。
EIP 有三种类型。
任何对以太坊感兴趣的人都可以随时提出 EIP。EIP 提交到以太坊 EIP GitHub 仓库,然后由专门的 EIP 编辑人员审查 EIP 的技术合理性和格式是否正确。截至 2024 年 5 月,共有五位 EIP 编辑人员。这些编辑人员的姓名和 Github 用户名如下:
这些人员由现任或名誉 EIP 编辑任命。新 EIP 编辑将以滚动方式考虑。上面列出的五位 EIP 编辑有权向符合 EIP 编辑标准的申请人授予新 EIP 编辑特权。成为 EIP 编辑的标准可以在 EIP 5069:EIP 编辑手册中找到。
作为 EIP 流程的一部分,在将 EIP 草案提交给 EIP 编辑之前,作者需要在 Fellowship of Ethereum Magicians 论坛上创建一个「讨论」主题,这是一个任何人都可以创建主题并讨论与以太坊和以太坊开发有关的问题的网站。除了 Ethereum Magicians 论坛之外,EIP 还可以发布在其他在线论坛上进行讨论,包括 Discord、ethresear.ch 和 GitHub。如果提议的 EIP 是核心 EIP,EIP 作者还将在 ACD 电话会议期间向以太坊客户端团队介绍他们的提案以供讨论。以太坊客户端团队是构建和维护以太坊客户端软件的实体。
五个主要的以太坊共识层 (CL) 客户端是 Prysm、Lighthouse、Teku、Nimbus 和 Lodestar。四个主要的执行层 (EL) 客户端是 Geth、Nethermind、Erigon 和 Besu。这九个团队的代表每周通过 Zoom 开会讨论 EIP 及其在以太坊升级中的实施。在每周一次的会议(即 ACD 电话会议)上提出 EIP 后,EIP 作者会继续收集反馈并审查其提案。EIP 作者可能会根据社区和客户团队的反馈修改其 EIP。经过此审查流程并获得客户团队支持的 EIP 将被考虑在未来的以太坊升级中实施。由于 EIP 数量众多,完成审查流程的提案并不能保证在下一次以太坊升级中实施。通常,以太坊客户端团队必须根据提案的相对紧迫性和范围,在几个技术上同样完善且随时可以实施的 EIP 之间进行选择,以纳入下一次升级。
在过去八年中,以太坊上已最终确定并实施了 61 个核心 EIP,57 个核心 EIP 正在起草或审查中,143 个核心 EIP 已被撤回或被视为无效。根据这些数字,自链诞生以来,开发人员提出的核心 EIP 中有 23% 已在硬分叉升级中激活。
在本报告的下一部分中,我们将进一步详细讨论参与 EIP 流程的人员和论坛。
有无数不同的团体参与以太坊的治理。作为世界上最去中心化的通用区块链,没有任何单个用户、个人或组织有权更改协议。然而,总的来说,以太坊生态系统中的每个用户和利益相关者都通过在社交媒体上分享对网络的看法、操作软件、贡献代码或只是与以太坊上的 dapp 交互,以大大小小的方式为治理做出贡献。由于以太坊背后没有一家公司,因此由不断发展和变化的生态系统参与者群体将用例应用于协议,引起人们对协议的兴趣,并最终赋予协议价值。
以太坊用户的集体意愿很少是同质的,而且如果不进行笼统的概括,就会变得太大而无法定义。本报告重点介绍了更广泛的以太坊社区中的四个特定利益相关者群体,本报告中将其称为大写「C」的「社区」。社区被定义为使用、构建或开发以太坊的个人和实体的无定形群体。在社区内,有以太坊基金会,这是以太坊的原始创始人为管理协议的增长和发展而设立的非营利组织。然后,我们将讨论以太坊客户端团队在社区中的作用。这些是构建以太坊软件的开发人员,可以说是 EIP 流程中最重要的决策者。然后,我们将定义验证器节点运营商,这是以太坊上一个相对较新的利益相关者群体,是代码更改的主要实施者;最后,我们将定义 dapp 开发人员,他们是以太坊的主要用户,他们塑造网络的用例并根据最终用户的需求向客户端团队提供反馈,说明优先进行哪些代码更改。
以太坊基金会 (EF) 是最早也是最著名的专注于以太坊的非营利组织。它由以太坊的原始创始人创建,包括 Vitalik Buterin、Gavin Wood、Joseph Lubin 等。在创世时,EF 从创世区块预挖中获得了最大的 ETH 供应量,在总 7200 万 ETH 分配中占 1200 万。
然而,自 2015 年以来,在几个市场周期中,基金会持有的 ETH 总数量一直在减少,估计截至 2022 年 4 月,其持有量不到 ETH 总供应量的 0.3%。与以太坊一样,管理 EF 的结构和流程很难定义。与传统的非营利组织不同,以太坊基金会没有明确的组织结构或角色。正如基金会网站所述,EF 的角色「随着以太坊生态系统的发展而演变和改变其形态」。更具体地说,多年来,随着社区利益相关者数量的增加,EF 在社区中的突出地位逐渐减弱,削弱了 EF 对更多生态系统参与者的集中影响力。
截至 2024 年 5 月,EF 继续在社区中雇用几名以太坊协议研究人员和开发人员,并领导围绕 ACD 呼叫的组织,以及一年一度的以太坊开发者大会 Devcon。该组织在员工人数方面的规模未知。基金会网站上公开列出的成员只有:Aya Miyaguchi(执行董事)、Vitalik Buterin(以太坊联合创始人)和 Patrick Storchenegger(董事会成员)。基金会关于其运营和财务的最新报告于 2022 年 4 月发布。
客户端团队构建并维护运行和连接以太坊网络所需的软件。以太坊有九个主要客户端团队,其中只有一个由以太坊基金会直接维护。以下是每个以太坊客户端团队的背景:
1. Geth (EL):最古老、最受欢迎的以太坊软件客户端,简称 Go Ethereum 或 Geth,由以太坊基金会独家资助。Geth 用 Golang 编写,被认为是最久经考验的以太坊客户端。代码由 10 名开发人员组成的团队维护,并根据 GNU 宽通用公共许可证 (LGPL-3.0) 开源。LGPL-3.0 许可证是一种版权开放源代码许可证,要求用户对原始代码存储库所做的任何更改都开源代码。
(顺便说一句,LGPL-3.0 和 Apache 2.0 许可之间的主要区别在于衍生作品。根据 Apache 2.0 许可,代码可以不受限制地分叉和分发,而根据 LGPL-3.0 许可的代码衍生作品必须保持自由和开源。此外,根据 Apache 2.0 许可的软件可以与根据其他类型许可的软件结合使用,而 LGPL-3.0 许可的软件只能与其他 GPL 许可的软件兼容。通常,Apache 许可证 2.0 是一种更宽松的许可,而 LGPL 限制使用以专门鼓励开源开发。)
2. Nethermind (EL):Nethermind 成立于 2017 年,是以太坊第二受欢迎的 EL 客户端,用 C# 编写,并基于名为 .NET Core 的开源计算机软件框架。Nethermind 背后的团队是自力更生的,最初由以太坊基金会资助。多年来,该团队还通过 Gitcoin 从以太坊社区 [JA1] 以及独立贡献者和合作伙伴那里获得了资金。2021 年 7 月,Nethermind 宣布与 Layer 2 扩展项目 Starkware 建立战略合作伙伴关系。Nethermind 团队由来自 55 个国家的大约 220 名成员组成。Nethermind 客户端在与 Geth 相同的许可证(GNU 宽通用公共许可证)下开源。
3. Erigon (EL):Erigon 以前称为 TurboGeth,是 Geth 客户端的一个分支,经过重新设计,可提高同步速度和磁盘空间效率。它成立于 2017 年,并于 2020 年 7 月完成了 alpha 版本。Erigon 团队由 10 名开发人员组成,已获得以太坊基金会和 BNB Chain 等多家贡献者的资助。值得注意的是,该团队支持其他区块链和侧链的客户端软件,包括 BNB Smart Chain 和 Polygon。此外,该团队过去还维护过一个用 Rust 编写的以太坊客户端 Akula 和一个用 C++ 编写的客户端 Silkworm。该团队最近宣布创建一个名为 Caplin 的新以太坊 CL 客户端。Erigon 客户端在与 Geth 和 Nethermind 相同的许可下开源。
4. Besu (EL):Besu 以前称为 Pantheon,是一款专为企业和机构使用的以太坊客户端。该项目由以太坊创业工作室 Consensys 于 2018 年 11 月启动,2019 年更名并移至 Hyperledger 基金会拥有的新 GitHub 存储库。(Consensys 是 Hyperledger 基金会的成员。)Consensys 内部负责构建和维护客户端的开发团队称为 Consensys Quorum,以前称为 Pegasys。Besu 用 Java 编写,并根据 Apache 2.0 许可开源。Consensys 还资助以太坊 CL 客户端 Teku 的开发。截至 2020 年 10 月,Pegasys 团队(也称为协议工程团队)拥有 70 多名成员。2023 年 1 月,Consensys 宣布将其员工人数从 900 人减少到约 800 人,减少 11%。
5. Reth (EL):Reth 是 Rust Ethereum 的缩写,是 Ethereum EL 的实验性全节点实现,旨在供广泛的用户使用,包括 MEV 搜索者、桥接器、Layer 2 和 RPC 节点运营商。Reth 客户端由加密风险投资公司 Paradigm 维护,用 Rust 编写,并根据 Apache 2.0 许可开源。Paradigm 资助了一个由 8 名开发人员组成的核心团队来构建 Rust。然而,开源代码库拥有超过 90 名贡献者。2024 年 3 月,Rust 团队发布了 Reth v0.2.0,这是客户端 Beta 发布周期中的第一个主要版本。
6. Prysm (CL):Prysm 是最受欢迎的以太坊 CL 客户端,用 Golang 编写,并在与 Geth、Nethermind 和 Erigon 相同的许可下开源。它由 Prysmatic Labs 维护和开发,Prysmatic Labs 是一家区块链基础设施公司,成立于 2018 年,最初由以太坊基金会、Gitcoin、Aragon、Spankchain 等机构资助。2022 年 10 月,该公司被 Offchain Labs 收购,后者是以太坊 Layer 2 扩展项目 Arbitrum 背后的公司。Prysmatic Labs 雇佣了大约 12 名员工。
7. Lighthouse (CL):Lighthouse 是第二受欢迎的以太坊 CL 客户端,用 Rust 编写,并在与 Besu、Apache 2.0 相同的许可下获得许可。该客户端由 Sigma Prime 维护和开发,Sigma Prime 是一家位于澳大利亚悉尼的信息安全和软件工程公司。Sigma Prime 因其在 Lighthouse 客户端上的工作而获得了以太坊基金会、Consensys、Gitcoin 和其他机构的资助。该公司成立于 2018 年,拥有约 25 名员工。
8. Teku (CL):Teku 由 Besu (EL) 背后的同一支团队维护,是 Consensys 以机构为中心的 CL 客户端,用 Java 编写,并在与 Besu 和 Lighthouse 相同的许可下开源。Teku 以前称为 Artemis,于 2020 年推出,与 Besu 一样,由 Pegasys 团队构建和维护。
9. Nimbus (CL):Nimbus 用 Nim 编写,并在与 Besu、Teku 和 Lighthouse 相同的情况下获得许可,旨在提高资源效率,使节点运营商可以轻松地在资源受限的设备(例如手机和笔记本电脑)上运行以太坊客户端软件。Nimbus 团队由 10 名员工组成,几乎完全由 Status(加密钱包和 Web3 浏览器)和以太坊基金会资助。Nimbus 团队还构建和维护一个 EL 客户端,也称为 Nimbus。该团队成立于 2018 年。
10. Lodestar (CL):Lodestar 用 Typescript 编写,并根据 GNU 宽通用公共许可 v3.0 获得许可,是一款专注于轻客户端功能的以太坊客户端。轻客户端是一种节点,即运行以太坊软件并连接到以太坊区块链的计算机,可以轻松同步到链,而无需从创世下载完整的链历史记录。启动轻客户端的带宽和处理负载明显小于完整节点。Lodestar 由总部位于加拿大多伦多的区块链研发公司 ChainSafe 开发和维护。该项目最初由以太坊创始人 Vitalik Buterin 于 2018 年资助。ChainSafe 此后通过以太坊基金会和 Gitcoin 等组织获得了资助。ChainSafe 拥有 100 多名员工。
为以太坊客户端软件做出贡献的个人通常被称为以太坊「核心开发人员」。然而,这个术语也被用来描述专注于升级测试或一般协议研究工作而不是客户端开发的基金会员工和承包商。一般来说,任何积极为推进以太坊核心协议领域做出贡献的个人,无论是通过研究、客户端开发还是升级测试,都被称为以太坊核心开发人员。核心开发人员这个术语是社区中一个热议话题,因为没有任何个人或实体有权力定义这个术语或阻止社区中的任何人自由使用它。
通过新铸造的 ETH 奖励的唯一类型的节点运营商是验证者节点运营商。自合并以来,验证者取代矿工成为网络的主要区块生产者。当在以太坊上质押 32 ETH 时,就会创建验证者。一旦激活,验证者将被随机分配职责,例如验证交易和将新区块附加到区块链。作为履行这些职责的交换,验证者通过网络发行、交易费和最大可提取价值 (MEV) 获得奖励。验证者在以太坊上存入的质押总额是网络安全的功能,可确保除非恶意行为者控制超过 33% 的总质押 ETH,否则不会发生对网络的攻击。
节点运营商是一群个人和实体,他们有权实施或拒绝客户端团队对以太坊软件所做的代码更改。作为背景,当客户端团队对软件进行向后兼容的代码更改时,升级称为「软分叉」。相反,当向客户端软件推送向后不兼容的更改时,就会发生「软分叉」。所有节点运营商都必须在某个区块高度之前升级其软件,以避免在硬分叉激活期间被踢出网络。在硬分叉期间故意不升级其软件或运行替代的向后不兼容软件的节点运营商将造成永久性的链分裂。仅在以太坊的一个版本上运行的验证者将因在另一个竞争版本上不活跃而受到惩罚。通过逐步增加惩罚,每个以太坊版本上的活跃验证者的质押 ETH 余额最终足以推动网络向前发展。
理论上,节点运营商对于在以太坊上实施哪些代码更改以及拒绝哪些代码更改拥有最终决定权。然而,在实践中,由于一些原因,由于验证器节点运营商之间的分歧而导致以太坊发生永久性链分裂的可能性不大。
尽管存在这些原因,但在以太坊的历史上,以太坊验证者节点运营商曾强烈影响过协议升级的决策。例如,在以太坊过渡到权益证明后的第一次升级中,质押以太坊用户的利益是影响质押 ETH 提款优先级的主要因素。此外,在验证者成为以太坊的主要节点运营商之前,当节点主要由矿工操作时,尽管以太坊存在一个非常雄心勃勃的发展路线图,并且必然需要频繁升级才能实现,但以太坊还是经历了永久性的链分裂。这次链分裂产生了以太坊经典,这是以太坊历史上第一次也是迄今为止唯一一次重大链分裂,发生在 2016 年以太坊早期,当时 DeFi 或 L2 行业尚未发展。
验证者节点运营商是以太坊上一个重要的利益相关者群体,负责执行客户端团队准备的硬分叉升级。他们在治理过程中作为代码执行者的角色是微妙的,这种角色受到最近升级的影响,例如合并和上海(将在本报告后面详细讨论),以及矿工的遗产,即以太坊的前主要节点运营商,自以太坊诞生到 2022 年底的大部分历史中执行了升级。
除了 EF、客户端团队和验证器节点运营商之外,以太坊的 dapp 层是影响代码更改和硬分叉升级的下一个最重要和最有发言权的焦点小组。dapp 开发人员是以太坊的主要用户,他们与以太坊代码库交互以部署智能合约代码。大多数最终用户通过由钱包服务、基础设施提供商、交易所或 dapp 开发人员自己支持的前端用户界面 (UI) 与 dapp 交互,而不是直接通过以太坊区块链。正因为如此,dapp 开发人员的需求有时是推动以太坊开发的核心,也是某些代码更改优先于其他代码更改的核心。
例如,在坎昆升级中加入 EIP 1153 主要是由两个 dapp 协议团队 Uniswap Labs 和 Optimism Labs 的努力推动的。EIP 1153 引入了新的经济高效的智能合约操作 TSTORE 和 TLOAD,用于将数据存储在执行后从以太坊链状态中丢弃的交易中。在讨论代码更改的 ACD 电话会议上,OP Labs 的联合创始人 Mark Tyneway 强调,仅在 Uniswap 上,EIP 就有可能为最终用户节省 300 万美元 / 年的 gas 成本。EIP 1153 最初于 2018 年 6 月提出,后来提议纳入 2022 年 11 月的上海升级。EIP 于 2024 年 3 月 13 日作为坎昆升级的一部分在主网上激活。
除了 EIP 1153 之外,最近几个月,dapp 开发人员还主要带头提出了与账户抽象相关的 EIP。账户抽象是一项功能,它允许智能合约对启动交易进行可定制和可编程的授权。在以太坊上,只有外部操作账户 (EOA) 可以发送和接收加密货币。与智能合约不同,EOA 不能执行代码。启用帐户抽象一直是以太坊核心开发人员和 dapp 开发人员的长期目标,最近通过向后兼容的 EIP(称为 ERC 4337)获得了关注。该提案最初由以太坊创始人 Vitalik Buterin 于 2021 年 9 月提出,目前仍处于草案阶段,但正在由各种客户端团队、EF 研究人员和 dapp 开发团队(如 Matter Labs、Polygon、Gelato 等)积极迭代。
很难量化 dapp 开发者社区对客户端团队的影响,尤其是当开发者的影响也会影响社区情绪时。除了 dapp 开发者之外,最终用户以及 ETH 持有者、交易所和其他区块链基础设施提供商都在代码更改倡导中发挥一定作用,尽管程度较小。正如我们在本报告中进一步讨论的那样,客户端团队并不能免受最终用户通过 Twitter 和其他社交媒体论坛发出的信号的影响。此外,组成客户端团队的个人也可能运营自己的验证器节点,并拥有构建不同类型的 dapp 和链上服务的附带项目。因此,虽然每个焦点小组(即客户端团队、验证器节点运营商和 dapp 开发人员)的利益各不相同,但组成这些小组的个人往往重叠,使得参与以太坊治理过程的利益相关者难以整齐地分类或定义。
以太坊生态系统利益相关者群体的声音汇聚在一系列不同的论坛上。一些论坛专门用于从客户团队中达成共识,而不是从整个以太坊生态系统的利益相关者中汇总共识。这些论坛使用的主要语言是英语。这可能是因为一般来说,英语被认为是世界上最全球化的语言,使用人数最多。对于希望参与以太坊治理过程的个人和公司来说,英语是一项关键要求。然而,EF 正在努力通过将有关以太坊的信息文件翻译成几种不同的语言,改善通过治理做出的关键决策与非英语社区的沟通。由 EF 运营的 ethereum.org 网站已被翻译成 55 种语言。此外,EF 特意将 Devcon 设在世界各地,以扩大以太坊对非英语人口的影响力。2022 年,Devcon VI 在哥伦比亚波哥大举办。
以下是讨论、组织和执行以太坊开发的四个主要论坛的列表。除了这些论坛之外,围绕以太坊的社区讨论也在 Twitter 和 Reddit 等社交媒体平台上分享。然而,社交媒体平台虽然很受欢迎,但并不经常举办有关以太坊开发或治理的集中深入讨论。相反,以太坊社区成员使用它们来分享有关以太坊相关主题的快速更新和信息,这些主题可以引发讨论,但并未被正式认可为 EIP 决策过程中的关键治理论坛。
关于以太坊协议开发的最重要的决策论坛之一是 ACD 电话会议。ACD 电话会议由以太坊基金会组织,早在 2015 年 11 月就开始了,即以太坊推出几个月后。它们是公开录制的 Zoom 电话会议,持续大约一个半小时。它对以太坊社区中的任何人都开放,但最常参加的是 EIP 作者、客户团队、以太坊基金会研究人员和以太坊 Cat Herders。ACD 电话会议对任何感兴趣的人开放,可以通过直播或直接在 Zoom 上加入。
从 2016 年到 2021 年,ACD 电话会议由以太坊基金会员工 Hudson Jameson 主持。在此期间,ACD 电话会议每两周举行一次。Jameson 此后不再担任 ACD 电话会议主席,目前担任各种以太坊项目的顾问,包括 Status、Chainlink 和 Polygon 背后的开发团队 Matic Labs。从 2021 年开始,以太坊基金会的 Tim Beiko 接任 ACD 电话会议主席。与此同时,从 2018 年到 2022 年,专注于构建以太坊权益证明共识协议的以太坊核心开发人员也组织了每两周一次的电话会议。这些电话会议由以太坊基金会的 Danny Ryan 主持。
自 2022 年 9 月合并启动以来,ACD 电话会议已更名并正式化为两个独立的会议系列:所有核心开发人员执行 (ACDE) 和所有核心开发人员共识 (ACDC) 电话会议。每次电话会议每两周举行一次,这意味着现在每周都会举办一次 ACD 电话会议。ACDE 电话会议由 Tim Beiko 主持,重点关注以太坊执行层 (EL) 的协议级更改。ACDC 电话会议由 Danny Ryan 主持,重点关注以太坊共识层 (CL) 的协议级更改。
合并后的 ACD 电话会议结构反映了以太坊的双网络性质以及围绕更改协议而增加的协议复杂性,因为它涉及越来越多的主题专家和特定于网络的客户团队。 ACD 通话主要讨论 EIP 的技术优点。尽管这是目标,但有时很难避免围绕 ACD 通话决策的道德或伦理进行讨论,具体取决于手头上的事情。自 2015 年以来,已经组织了 250 多次 ACD 通话。大多数都进行了现场录制,可以在 YouTube 上重看。
ACD 电话会议的议程通常受到 ETH Magicians 和 Ethresear.ch 论坛上发布的讨论和对话的影响。这些论坛是讨论处于构思或草案阶段的 EIP 并传阅以征求反馈的地方。此外,这些论坛还围绕以太坊协议的非技术问题进行深入讨论,例如根据社区情绪,哪些 EIP 和计划应优先升级。虽然两个论坛都同样活跃,但 ETHMagicians 是一个比 Ethresear.ch 更通用的论坛,几乎可以讨论任何有关以太坊的技术或非技术主题。Ethresear.ch 倾向于展示关于协议技术代码更改的早期研究想法,一旦正式化,就会发布到 ETHMagicians 上进行更广泛的社区讨论。
ETHMagicians 由前以太坊基金会核心开发人员 Jamie Pitts 和 Geth (EL) 客户端「Lightclient」的匿名开发人员组织。Ethresear.ch 由多位以太坊基金会员工组织,其中包括 Hsiao-Wei Wang、Justin Drake、Danny Ryan 和 Vitalik Buterin。
对于为即将进行的升级和向客户端团队提供紧急更新而准备的活跃 EIP 的日常协调,有一个专门的 Discord 聊天室,以太坊核心开发人员、研究人员和以太坊社区的其他成员可以在此实时协调开发。以太坊研究与开发 Discord 频道是鼓励客户端团队和更广泛的以太坊社区共同解决协议问题、开展研究计划和提出问题的地方。在以太坊升级期间,客户端团队将其用作主要沟通渠道,以传达以太坊网络的健康状况并协调以太坊测试网络上升级的启动。它也是一个交流和组织社区电话的论坛,这些电话与 ACD 电话同时进行,例如讨论 EIP 4844、proto-danksharding 和 EIP 流程更改的技术细节的电话。
从 2015 年到 2018 年,询问有关以太坊协议的问题和参与协议日常开发的主要渠道是通过一个名为 Gitter 的聊天室。然而,随着以太坊社区和协议贡献者数量的增长,需要一种更复杂的方法来在一个论坛上组织多个聊天室。因此,开发人员将通信迁移到一个共享的 Discord 频道,截至 2023 年 7 月,该频道为以太坊研究和开发的各种细分主题提供 50 多个独立聊天室。以太坊研究和 Discord 频道是异步讨论 ACD 主题的中心,也是跟踪在 ETHMagicians 或 Ethresear.ch 上提出的提案实施的积极工作的中心。
最后,用于起草和记录以太坊代码库状态的主要论坛是 GitHub。在 GitHub 上,名为「以太坊」的组织页面托管了数百个代码存储库。这些存储库包含以太坊研究人员和客户端团队正在为即将到来的升级而开发的协议草案版本的代码,以及 ACD 调用的历史记录和最终 EIP 提案的副本。该存储库托管的规范不仅详细说明了以太坊的核心协议,还包括有关节点 API、Solidity 智能合约语言、测试工具等的文档。
图片说明:以太坊官方 GitHub 首页。来源:GitHub
以太坊核心代码库(定义为 EL 和 CL 规范)每月都会发生变化。以太坊基金会的客户团队和员工是有权合并和更新以太坊 GitHub 存储库的主要个人。当在 ACD 呼叫或 Discord 上异步做出关键决策时,对以太坊规范的实际更改(即影响以太坊代码的治理决策的执行)发生在 GitHub 上。在 GitHub 上,用户可以跟踪对以太坊规范所做的更改并访问最新版本的规范。将代码更改合并到官方以太坊 GitHub 存储库是最重要的步骤之一,标志着在其他治理论坛上做出的决策的最终确定和实施。
虽然 GitHub 是更广泛的计算机程序员中领先的开源代码开发平台,但以太坊开发人员过去曾讨论过减少对这个中心化平台的依赖的必要性,特别是考虑到 GitHub 因政府压力而关闭了对其平台的访问。开发人员将来可以探索的用于去中心化开发的 Gitcoin 替代方案包括 Radicle 和 Mango。此外,鉴于 GitHub 所依赖的版本控制系统 git 是一种无需通过网站托管或管理的无权限协议,因此鼓励社区在其设备上托管以太坊代码库的本地副本。此外,在 ETHMagicians 和 Ethresear.ch 上主持有关代码更改的对话的动机之一是将 GitHub 上的问题解释和拉取请求复制到其他几个平台上。
除了上面提到的主要人物和论坛之外,还有一些组织和协议多年来对以太坊的发展产生了有意义的影响。
Ethereum Cat Herders 是一个由捐款资助的个人团体,负责创建会议记录、撰写信息博客文章、开展社区宣传以及制作视频内容,以向广大公众普及以太坊知识。该团体由著名的以太坊社区领袖于 2019 年 1 月创立,例如前 ACD 主席 Hudson Jameson 和前核心开发人员 Lane Rettig。该团体由 Herder-in-Chief Pooja Ranjan 领导,他是区块链发布网站 EtherWorld 的创始人。Cat Herders 是一个由以太坊「项目经理」组成的去中心化团体,旨在帮助协调网络升级并改善客户团队与更广泛社区之间的沟通。他们对 EIP 活动进行调查和分析,并告知如何改进围绕以太坊代码更改的治理流程。
除了参与通过项目管理引导 EIP 流程外,他们每周还会主持 EIP 改进电话会议和 EIP 办公时间,以跟踪每个 EIP 的状态并引导它们经历讨论、起草、审查、最后一次通话和最终阶段。他们还每周举办一次 YouTube 系列活动,介绍 EIP 作者及其提议的代码更改,名为 PEEPanEIP。Ethereum Cat Herders 与 EIP 编辑者密切合作,以完善 EIP 流程并根据小组共识进行更改。
除了以太坊基金会和以太坊 Cat Herders,还有以太坊协议公会,这是一个智能合约应用程序,旨在帮助资助以太坊核心开发。任何人都可以将可替代代币发送到智能合约,然后将其分发到积极为以太坊协议研究或客户端开发做出贡献的个人所拥有的地址注册表中。截至 2023 年 6 月,协议公会注册表上有 142 名个人,来自各种客户团队,包括 Geth、Erigon、Besu、Lighthouse、Lodestar、Nethermind、Prysmatic Labs、Teku 和 Status。截至 2024 年 5 月,协议公会已分发超过 1780 万美元,资金由 Uniswap、以太坊名称服务、Ether.fi、Nouns DAO 和 Moloch DAO 等主要 dapp 项目积极捐赠。
协议公会随时接受来自任何地址的资金。所有资金都会随着时间的推移归属注册表,并根据每个成员积极为以太坊协议做出贡献的时间按比例分配给成员。协议公会可以作为评估以太坊核心开发人员数量随时间增长的代理。
协议公会致力于通过自愿捐款积极资助所有以太坊核心开发者,这些捐款会自动分发给贡献者(也称为公会成员)。公会成员自己负责通过删除或添加新成员来保持开发者注册表的更新。
协议公会的杰出贡献者是 Optimism Collective。Optimism 是以太坊上第二有价值的 L2,仅次于 Arbitrum,链上资产价值高达 65 亿美元。Optimism 由一个名为 OP Labs 的开发团队于 2021 年推出。OP Labs 运营负责在称为序列器的区块中聚合和排序用户交易的软件。虽然目的是随着时间的推移将此功能去中心化,但 OP Labs 已承诺将其序列器通过交易费获得的所有利润用于资助公共产品实验。所有序列器收入都归 Optimism 基金会所有,该基金会是一个致力于发展去中心化 Optimism「Collective」的非营利组织。(将 OP Collective 视为 Optimism 版本的以太坊社区。)
基金会将收入重新分配给由 OP 代币持有者和其他 Collective 成员投票选出的公共产品项目,如 Optimism 的两院治理模式所定义。自 2021 年以来,Optimism 基金会和更广泛的集体已向各种公共产品计划重新分配了超过 4000 万枚 OP 代币。这些分配的最大受益者是协议公会,在三轮融资中获得了超过 60 万枚 OP 代币。
考虑到以太坊基金会预算的减少以及终端用户和 dapp 生态系统的不断增长,Protocol Guild 致力于为公共产品创建一种长期融资机制。另一个具有长期潜力支持以太坊核心协议开发的融资机制的例子是 Gitcoin。如前所述,Nethermind、Prysmatic Labs、Lighthouse 和 Lodestar 等几个客户团队过去都依赖 Gitcoin 来获得部分资金。Gitcoin 旨在支持从事开源软件的程序员和开发人员,帮助他们以加密货币为他们的项目筹集资金。
在过去的八年中,以太坊核心开发人员已经执行了 19 次向后不兼容的硬分叉升级。这些升级在复杂性、紧迫性和争议性方面各不相同。其中一次升级导致了永久性的链分裂。另一次升级将整个网络利益相关者群体从网络参与中驱逐出去。每次升级都影响了以太坊治理过程,并将其塑造成如今涉及多个人员、组织和论坛的多方面过程。在本节中,我们将讨论以太坊八年历史中的七个重大治理决策,并进一步研究决策过程中发挥作用的人员、组织和论坛。
大多数情况下,以太坊核心开发人员会介入,通过 EIP 流程推动和实施代码更改。此外,当出现需要紧急采取行动的意外且时间敏感的漏洞时,他们还会为区块链做出执行决策。以太坊历史上最具争议的决定是 DAO 硬分叉,源于智能合约应用程序 DAO 中的一个意外错误,该应用程序影响了许多 ETH 持有者。在决定如何最好地解决意外技术问题时,以太坊核心开发人员是构思、提出并最终实施解决方案的主要声音。在 DAO 黑客攻击的情况下,以太坊客户端团队实施的解决方案导致了永久性的链分裂,并创建了新的以太坊协议,这说明了以太坊的一个重要特征,即其无需许可的性质,允许任何用户组分叉代码库并启动新版本的以太坊。DAO 黑客攻击还说明了以太坊核心开发人员并不总是一群对以太坊代码库应如何发展有相同看法的同质个体。
以下是三个案例研究,描述了以太坊利益相关者如何就技术问题达成共识:
案例研究 1:DAO 分叉
发生了什么:2016 年 6 月 17 日,当时控制着 ETH 总供应量 15% 的智能合约协议 The DAO 遭到黑客攻击,大约 70% 的资金被盗。此次黑客攻击发生在以太坊推出不到一年后。DAO 旨在成为一种自主风险投资工具,允许 DAO 代币持有者对提案进行投票,并使用基金的集合资本支持各种区块链项目。DAO 是同类中第一个去中心化自治组织。DAO 项目成为当时历史上最大的众筹活动,从 11,000 多名贡献者那里筹集了 1.5 亿美元。
DAO 被黑客入侵是通过一种称为重入漏洞的漏洞进行的,该漏洞允许恶意行为者免费从智能合约中反复提取资金。当恶意行为者从目标智能合约对另一个智能合约进行外部调用时,就会发生这种情况。然后,不受信任的智能合约会回调原始智能合约。每次黑客的合约发起对 DAO 合约的调用时,DAO 智能合约在批准资金转移之前都无法检查和更新其余额。这就是 DAO 合约被慢慢抽干大部分资产的方式。DAO 的创建者一旦发现这个漏洞,他们就会先发制人地开始使用与黑客相同的技术抽干 DAO 合约。DAO 的创建者设法挽救了 30% 的 DAO 资金,但其余 70% 则在黑客的控制之下。
参与者:DAO 项目背后的团队是一群名为 Slock.it 的匿名开发人员。Slock.it 设想 DAO 是一种筹款机制,用于引导其他 dapp 创意,当时 Slock.it 最引人注目的 dapp 创意之一是去中心化的应用程序。在智能合约被利用后,以太坊基金会在有关 DAO 黑客攻击的沟通中发挥了重要作用。在以太坊基金会的博客上,以太坊基金会核心开发人员提出了黑客攻击后未来发展道路的想法,例如实施软分叉以减轻黑客攻击对代币持有者的影响。2016 年,矿工是运行以太坊节点和保护以太坊区块链的个人。因此,他们也是通过升级软件来实施以太坊核心开发人员的任何代码更改的主要支持者。由于该问题的争议性,围绕智能合约代码不变性的激烈辩论,很难从以太坊社区就最佳解决方案达成共识。以太坊利益相关者(包括 ETH 持有者和 dapp 开发者)在 Twitter 和 Reddit 等各种论坛上分享了意见。但是,决策主要通过 ACD 电话会议、Gitter 和 GitHub 进行。
问题如何解决:Geth (EL) 开发者 Peter Szilagyi 于 2016 年 6 月 24 日在以太坊基金会博客文章中提出了通过向后兼容软分叉解决 DAO 黑客问题的初步建议,但在以太坊核心开发者发现这可能导致更广泛的网络受到 DDOS 攻击后,该建议很快被放弃。经过数周的讨论,以太坊核心开发者达成共识,解决 DAO 黑客资金损失问题的唯一技术解决方案是通过硬分叉升级,这将允许 Slock.it 开发者将 DAO 中的所有资金重新分配给不易受到重入攻击的其他智能合约。
发起硬分叉升级的提议首先由 Slock.it 创始人、当时受雇于以太坊基金会的开发者 Stephan Tual 提出。该提案引发了关于「代码即法律」原则的争论,以及以太坊作为区块链的完整性在多大程度上取决于对这一原则的坚持。以太坊核心开发人员于 2016 年 7 月 15 日组织了一次碳投票,以决定是否应在下一个即将发布的软件客户端中默认选择启动硬分叉的逻辑。碳投票是一种链上机制,ETH 持有者可以通过提交零费用 gas 交易来表明他们对治理提案的偏好。DAO 争议是以太坊核心开发人员首次依赖链上碳投票作为收集共识的次要措施。当时总 ETH 供应量的 4.5% 参与了投票,87% 的投票 ETH 供应量投票支持让节点运营商默认选择硬分叉。
黑客攻击发生约一个月后,以太坊客户端团队安排了硬分叉。该提案得到了 Vitalik Buterin 等主要社区领袖和以太坊基金会等组织的支持。此外,当时以太坊的客户端多样性极低。尽管有六种客户端实现,但 97% 的节点运营商都运行 Geth 客户端,这就是为什么当时在客户端团队之间协调客户端升级更容易的原因。
通过推进有争议的硬分叉提案,客户团队让矿工和其他节点运营商自行决定接受或拒绝他们的代码更改。硬分叉计划于 2016 年 7 月 20 日启动,即碳投票在链上完成几天后。在 DAO 硬分叉期间,一部分以太坊节点运营商未升级其节点,从而导致永久性链分裂。未接受 DAO 硬分叉升级的以太坊版本现在称为以太坊经典。多年来,以太坊经典一直作为与以太坊并驾齐驱的网络不断发展。然而,由于缺乏安全性和用户参与度,它经历了多次 51% 攻击。在 DAO 黑客攻击后的几年里,以太坊网络在采用率、矿工参与度(即哈希率)以及最重要的价值方面都超过了以太坊经典。
在 DAO 硬分叉之后,以太坊仍领先于以太坊经典的主要原因之一是,大多数开发人员(即客户端团队开发人员)继续在以太坊而非以太坊经典上进行开发。自推出以来,以太坊一直是一个具有雄心勃勃的发展路线图的区块链,许多投资者和利益相关者都认识到,这需要一支强大的开发团队来带头。在 DAO 硬分叉期间,主要的软件开发团队是 Geth,而 Geth 开发人员之间的共识是执行硬分叉,将 DAO 黑客攻击的资金返还给 DAO 创建者,这一共识受到当时领导以太坊基金会的傀儡领袖(如 Vitalik Buterin)的影响。Geth 开发人员和以太坊基金会之间的这一共识对以太坊社区和更大的加密行业认为以太坊的适当行动方针产生了巨大影响。
主要收获:DAO 黑客攻击在很大程度上改变了 dapp 开发人员对智能合约开发的方法。在黑客攻击发生几个月后的一次演讲中,Slock.it 开发人员 Lefteris Kaperelli 解释说,所有 dapp 开发人员都应该从 DAO 黑客攻击中吸取的一个教训是,去中心化应用程序需要实现「终止开关」,以保护应用程序免受意外黑客攻击。在 DAO 黑客攻击和其他类似事件发生后,在不可变应用程序中实现可升级性和通过多重签名钱包和治理机构实现否决权的想法已经广为流行。如今,大多数去中心化应用程序都可以在以太坊上升级。
关于以太坊的治理,DAO 黑客攻击是以太坊历史上迄今为止最具争议的问题。这个问题说明了当以太坊社区无法达成一致共识时,以太坊治理机制如何向前发展。它说明了三个主要经验教训:
案例研究 2:Parity 多重签名漏洞
发生了什么:2017 年 11 月,Parity technologies 开发的以太坊最广泛使用的多重签名 (multi-sig) 钱包被意外利用,580 多个用户钱包中价值超过 3.2 亿美元的 514,000 ETH 被永久冻结。漏洞利用者「devops199」在 GitHub 上向 Parity 开发团队发出警报,称他们找到了一种转移控制 Parity 多重签名钱包的智能合约所有权的方法。在试图将合约所有权归还给 Parity 团队时,Devops199 意外触发了与 Parity 代码相关的「kill() 函数」,从而有效冻结了 Parity 多重签名用户的余额。这一毁灭性的漏洞是 2017 年在 Parity 的多重签名钱包中发现的两个主要漏洞之一。
参与者:背景:Parity Technologies 成立于 2015 年,创始人之一为以太坊联合创始人 Gavin Wood。多年来,该公司为比特币、Zcash 和以太坊构建了软件客户端。在多重签名漏洞发生时,Parity 软件客户端是节点运营商使用的第二受欢迎的以太坊客户端。Parity Technologies 后来于 2019 年停止了对 Parity 客户端的支持,将其更名为 OpenEthereum,并将重点转移到构建自己的 Layer 1 区块链 Polkadot。Polkadot 于 2020 年 5 月在主网上推出。
问题解决方式:为了解锁冻结的用户资金,Parity 开发团队于 2018 年 4 月提出了 EIP 999。EIP 999 将通过硬分叉升级恢复 Devops199 意外自毁的已删除代码。尽管大量以太坊用户受到 Parity 多重签名漏洞的影响,但代码更改从未在升级中实施。在社区强烈反对和反对提议的变更后,Parity 开发人员最终撤回了 EIP。
主要结论:尽管 Parity 是第二受欢迎的以太坊客户端,并且 EIP 999 在以太坊核心开发人员眼中技术完善,但该提案未能实施,因为实施显然会导致另一次永久性链分裂。 2018 年 4 月 26 日,Parity 联合创始人兼首席执行官 Jutta Steiner 在一篇博客文章中写道,该公司「无意因 EIP 999 而分裂以太坊链」。Parity 多重签名漏洞是一个重要的案例研究,突显了以太坊客户端团队对以太坊代码库的影响是有限的。尽管客户端团队是以太坊治理过程中最活跃的参与者,但他们通常倾向于实施大多数以太坊社区都会支持的代码更改,并避开那些很可能重复 DAO 黑客事件的代码更改。
与 DAO 黑客一样,围绕 EIP 999 的争议集中在以太坊代码不变性的争论上。然而,这一次,Parity 客户端团队之外的以太坊利益相关者的压倒性共识是拒绝 Parity 提议的代码更改并保留代码不变性。该共识的一部分是通过为期一周的链上 carbon 投票达成的,结果 55% 的投票者投票反对激活 EIP 999。使用另一次 carbon 投票来衡量更广泛的社区情绪也引发了关于链上投票在以太坊治理过程中的有效性的争论。许多以太坊开发人员和 ETH 持有者认为,由于 ETH 鲸鱼能够利用其持有的资产来扭曲投票结果,carbon 投票是不准确和无效的。除了非正式的 carbon 投票(历史上在治理过程中从未具有太多合法性)之外,EIP 999 还经历了正式的 EIP 审查流程,以太坊客户端团队和更广泛的以太坊核心开发人员群体通过该流程认真讨论了代码更改。自 2018 年 4 月首次提交以来的三个月里,EIP 999 因缺乏社区支持而被多人拒绝。
案例研究 3:君士坦丁堡
发生了什么:第六次以太坊升级,即君士坦丁堡,主要将区块发行量从 3 ETH 减少到 2 ETH,此外还对以太坊代码库进行了一些其他小的技术改进。君士坦丁堡的范围于 2018 年 8 月最终确定,并计划于 2019 年 1 月启动。除了区块发行量减少(也称为 EIP 1234)之外,君士坦丁堡最终确定的范围中包含的其他代码更改包括:
在君士坦丁堡升级计划启动前不到 48 小时,一家名为 Chain Security 的区块链安全和审计公司发现了升级代码中的一个错误。经过仔细检查,EIP 1283 将允许黑客使用重新定价的存储操作来操纵智能合约余额。该漏洞的性质类似于 DAO 的漏洞,因为它可以为恶意行为者创造机会对智能合约发起重入攻击。
参与者:Chain Security 于 2019 年 1 月 15 日发布了一篇博客文章,详细介绍了漏洞的确切性质。同一天,以太坊核心开发人员通过 Gitter 和即兴 ACD 电话会议讨论后续步骤。他们很快达成共识,暂停计划的升级,并在下一次定期 ACD 电话会议上决定新的升级日期和软件补丁,该电话会议将于三天后的 2019 年 1 月 18 日举行。在 ACD 电话会议期间,开发人员就升级补丁达成共识,并将硬分叉重新安排在 2 月 28 日激活。以太坊基金会和以太坊 Cat Herders 协助在最后一刻向以太坊矿工和其他节点运营商传达这些决定。这两个组织都发布了博客文章,并联系了社区利益相关者,提醒他们硬分叉计划的最后一刻发生了变化。
问题如何解决:由于问题的性质是技术性的,君士坦丁堡漏洞主要在客户团队中解决。以太坊核心开发人员迅速集思广益,找到了最有效的解决方案,并在他们的软件客户端中实施。与 DAO 黑客补丁不同,君士坦丁堡漏洞的解决方案并没有引起争议,但它确实引发了人们对 EIP 测试过程的担忧,并强调需要加强升级测试工作,以确保在主网上部署之前充分检查新的代码更改。一旦漏洞得到修补,新的硬分叉日期确定,以太坊矿工和其他节点运营商便在 2019 年 2 月 28 日顺利升级了硬件。
主要收获:君士坦丁堡漏洞的解决凸显了社区能够在短时间内迅速团结起来,即时更改以太坊协议,尤其是出于网络安全考虑。由于问题本身缺乏争议,以太坊节点运营商能够在 48 小时内恢复到旧版本的客户端软件。此外,核心开发人员能够在 2019 年 2 月成功激活君士坦丁堡升级的修补版本。原始升级代码中存在错误并没有阻止以太坊开发人员执行升级,而是鼓励他们将更多的时间和资源集中在未来升级的测试上。
当问题源于围绕以太坊社会价值的争议时,决策过程会变得更加漫长和拖沓。DAO 漏洞是智能合约技术故障的一个例子。然而,DAO 硬分叉代表了对技术漏洞的解决方案,该漏洞挑战了以太坊上「代码即法律」的价值,这就是为什么它引起了以太坊核心开发人员的高度争议和不作为。在以太坊的治理历史上,还有少数其他例子,以太坊核心开发人员不得不回应社会问题,这些问题不是技术性的,而是关乎更广泛的社区价值观和信仰。
在下面的两个案例研究中,以太坊核心开发人员故意选择在领导开发方面退居次要地位。他们将大部分决策过程交给了更广泛的以太坊社区,结果,各种以太坊利益相关者的众多声音发生冲突,导致问题和提案的解决延迟。由于以太坊上的社会问题涉及的声音数量多于核心开发人员的数量,因此很难达成共识,而且往往充满不确定的结果。
案例研究 4:ProgPoW
发生了什么:程序化工作量证明 (ProgPoW) 是一种工作量证明挖矿算法,旨在支持效率较低的矿工,并抑制专业矿工的效率。专业矿工是指操作称为专用集成电路 (ASIC) 的专用挖矿机的个人或企业。这些机器经过高度优化,可以完成单一任务,不能轻易重新用于其他任务。图形处理单元 (GPU) 是可以执行一系列不同任务的计算机,因此使用更广泛,购买更便宜。ProgPoW 的目标是使以太坊 ASIC 具有抗性,并防止挖矿哈希算力集中化。几年来,比特币挖矿行业已由主要由资本雄厚、公开交易和受监管的上市公司运营的 ASIC 机器主导。
2018 年 4 月,即以太坊推出三年后,挖矿硬件制造商比特大陆发布了第一款以太坊 ASIC。以太坊社区担心采用 ASIC 技术会导致哈希算力不可避免地集中化,这推动了 ProgPow 的研究和开发。该算法是由一个名为「IfDefElse」的开发团队于 2018 年 5 月在 Ethereum Magicians 上提出的。
尽管在以太坊核心开发人员看来,该提案在技术上是可行的,但以太坊社区对该算法防止 ASIC 主导地位的有效性存在分歧。鉴于 ASIC 只是专用机器,很难构建一种计算机无法进行某种程度优化的挖矿算法。业内其他区块链项目(如 Monero、Ravencoin、Horizen、Ethereum Classic 等)尝试创建抗 ASIC 挖矿算法,但其有效性记录并不一致。鉴于 2018 年 ASIC 在以太坊上尚处于萌芽阶段,社区也质疑这个问题是否真的那么紧迫,开发人员是否应该在其他 EIP 之前通过硬分叉升级来尽快解决。
2019 年 2 月至 3 月,即初始 EIP 提出近一年后,以太坊客户端团队在以太坊基金会和以太坊猫牧人的帮助下进行了多次调查,以确定对 ProgPoW 的支持程度和共识程度。
Ethereum Cat Herders) 主办的 Twitter 调查,旨在评估对 ProgPoW 的看法。来源:Twitter (@EthCatHerders)
以太坊基金会围绕 ProgPoW 组织了两次链上投票。第一次投票的设计与 DAO 硬分叉前进行的投票类似。它计算投票数时,权重由代币持有者持有的 ETH 数量决定。第二次链上投票旨在调查以太坊矿工对 ProgPow 的看法,方法是允许独立矿工和矿池将数据输入到额外的已挖区块字段中。两次投票都表明,矿工们对代码更改的支持率压倒性地高。当时占以太坊哈希率近一半的矿工参加了第二次链上投票,77% 的参与矿工投票支持 ProgPoW。
以太坊上的矿工大多支持 ProgPoW 提案,因为当时大多数以太坊矿工都是 GPU 矿工。然而,dapp 开发人员和其他以太坊利益相关者并不支持 ProgPoW,因为他们担心该算法的实施可能会导致网络分裂并降低 ETH 的价值。在整个辩论过程中,Vitalik Buterin 等知名以太坊核心开发人员和 Geth 团队成员反复重申,他们对这一变化持中立态度,并将实施社区认为最好的一切。在多次 ACD 电话会议上,以太坊核心开发人员认可了 ProgPoW 的技术可靠性。Linzhi 等挖矿制造公司公开反对升级。
参与者:IfDefElse 是一个由三名开发人员组成的团队,其中两名开发人员使用化名,只有一名开发人员透露了个人身份。IfDefElse 的公开成员是 Kristy Leigh Minehan。当时,她是一家名为 Core Scientific 的区块链基础设施公司的首席技术官。Minehan 参加了几次 ACD 电话会议和以太坊会议,以解释 ProgPoW 算法,尽管该算法引发的争议很快导致 Minehan 淡出了人们的视线。在许多情况下,Minehan 因为她的项目而成为攻击和欺凌的对象。她被指控受 Nvidia 和 AMD 工程师雇佣来破坏 ASIC 挖矿制造商。Minehan 不再从事 ProgPoW 工作。她为资产管理公司 Valkyrie 和加密货币挖矿公司 Merkle Standard 等加密货币公司提供咨询。
问题如何解决:为了解决社区对 ProgPoW 对抗 ASIC 有效性的担忧,以太坊 Cat Herders 宣布他们将筹集 10 万美元,委托独立的第三方对 ProgPow 代码进行审计。从 2019 年 3 月到 2019 年 9 月,Cat Herders 花了大约六个月的时间筹集资金并委托区块链安全公司 Least Authority 进行审计。2019 年 9 月,审计结果公布。审计证实,ProgPoW 算法的设计准确无误,实现了鼓励更大程度抵抗 ASIC 的目标,尽管审计也警告说,正如人们所猜测的那样,未来的硬件进步可能会随着时间的推移降低 ProgPoW 的有效性。审计发布后,以太坊核心开发人员同意将代码更改纳入即将到来的硬分叉中。然而,以太坊社区成员(尤其是 dapp 开发人员)的持续反对引发了争议,阻碍了以太坊核心开发人员优先考虑将 ProgPoW 纳入实际升级。ProgPoW 争论在以太坊社区持续了大约 2 年。2020 年 3 月,在 ACD #82 期间,开发人员就代码更改进行了最后一次公开讨论。在那次电话会议中,开发人员表达了他们对社区对 ProgPow 缺乏支持的担忧,并因此决定将其排除在下一次硬分叉之外。
主要结论:ProgPoW 并未解决以太坊的技术漏洞、黑客攻击或问题,这些漏洞或问题会影响大量 ETH 持有者或以太坊网络本身的安全。ProgPoW 开发的主要推动者是矿工,他们的声音历来很弱,而且由于自以太坊推出以来就一直存在通过将以太坊过渡到 PoS 强行将矿工从网络中移除的努力而被忽视。每次以太坊核心开发人员提出减少区块发行(例如 EIP 1234)或以减少矿工收入的方式进行更改(例如 EIP 1559)时,矿工的反对从未动摇以太坊核心开发人员的意见或情绪。因此,旨在从技术优点的角度审查和推进变更的治理流程并没有帮助 ProgPoW 得到激活,支持变更的个人在以太坊生态系统中没有影响力。
尽管有链上投票和以太坊核心开发人员的技术批准,但 ProgPoW 辩论说明了如果没有来自终端用户和 dapp 开发人员的更广泛社区支持,一群网络利益相关者将无力改变以太坊。以太坊核心开发人员并不反对代码更改,但他们发现很难优先考虑有争议的升级,而要牺牲其他相对较少争议且获得更多以太坊终端用户支持的代码更改。此外,随着以太坊核心开发人员从 2021 年初开始将注意力转向 PoS 并弃用挖矿算法,对 ProgPoW 的需求逐渐减弱。
案例研究 5:Afrigate
发生了什么:以太坊核心开发人员被以太坊社区驱逐的情况并不常见。然而,正如前面的案例研究中所提到的,有些情况下,激烈的社交媒体欺凌导致某些 EIP 作者退出了公开讨论。以太坊核心开发人员 Afri Schoedon 就是这种情况,他是 Parity Technologies 构建的 Parity 客户端的开发人员。Parity Technologies 由以太坊联合创始人之一 Gavin Woods 与 Vitalik Buterin 和其他六人共同创立。除了 Parity 以太坊客户端之外,Parity Technologies 还构建了另一种通用区块链,称为 Polkadot。Schoedon 自 2015 年以来一直是以太坊的代码贡献者,也是以太坊硬分叉的主要协调员,他在 2019 年 2 月 14 日发推文称,当时 Polkadot 协议正在积极开发中:
以太坊核心开发人员 Afri Schoedon 开玩笑地制作了 Polkadot 协议的表情包。来源:Google Webcache
在接下来的 48 小时内,Schoedon 因他的推文而受到欺凌、批评和骚扰,这显然是开玩笑。批评者在社交媒体上指责 Schoedon 存在「利益冲突」,尽管 Schoedon 重申他从未直接参与过 Polkadot 的开发。Schoedon 在推特上澄清说,他的表情包是为了激起围绕 Serenity 开发的讨论,Serenity 是当时以太坊向 PoS 过渡的名称,而不是制造 Polkadot 和以太坊之间竞争的叙事。然而,持续的批评导致 Schoedon 删除了他的许多推文,并最终在 2 月 19 日宣布他将离开以太坊社区。「我没有退出社交媒体,我退出了以太坊。我没有隐姓埋名;我只是离开了社区。我不再协调硬分叉、构建测试网或做出其他贡献。我没有为 Polkadot 工作,我从来没有为 Polkadot 工作过,我为以太坊工作过。我并不讨厌以太坊,我喜欢它」,Schoedon 在删除推特账户前的最后一条推文中说道。
参与者:尽管 Schoedon 是事件的主要参与者,但在 Schoedon 离职后,其他以太坊核心开发人员和社区成员纷纷为他辩护。Schoedon 继续帮助以太坊经典版完成升级,以提高其与以太坊的兼容性。截至 2023 年 7 月,他继续以不太公开的方式为以太坊做出贡献,为以太坊测试网络的协调做出贡献,并经常使用不同的假名。
问题如何解决:在 Twitter 事件发生后的下一个月的 ACD 电话会议上,以太坊核心开发人员宣布他们正在寻找新的硬分叉协调员来取代 Schoedon 的角色。然而,搜索并没有持续多久。由于没有合适的候选人,开发人员同意将 Schoedon 的角色分给多人。自 Schoedon 离职以来,硬分叉协调员的职责(包括设置硬分叉日期、选择硬分叉的 EIP 以及领导升级的测试工作)已分散到多个核心开发人员和客户团队。此外,2019 年 2 月,115 位知名以太坊社区成员签署了一封公开信,谴责导致 Schoedon 辞去以太坊核心开发人员职务的「有害」行为。这封信重申了围绕以太坊协议开发辩论的标准和规范的必要性,这些标准和规范旨在促进参与者之间的尊重、言论自由和隐私价值观。前 ACD 主席 Hudson Jameson 还在 Reddit 上主持了一场 AMA,以解决围绕以太坊领导层和问责制的争论。3 月,以太坊客户端团队 ChainSafe 在巴黎举办了一场现场活动,进一步讨论如何承认以太坊治理流程中的问题并提出改进方法。
主要内容:著名的以太坊核心开发人员 Afri Schoedon 离开以太坊社区,这给以太坊核心开发人员、dapp 开发人员和最终用户敲响了警钟,让他们意识到社交媒体欺凌对以太坊治理的真正影响。作为一种链下且定义相当松散的决策过程,以太坊核心开发人员虽然专注于技术问题和与以太坊有关的事务,但也无法免受社会争论和引领以太坊发展的压力。无论是否与以太坊有关,在任何情况下的网络欺凌都是有害的活动,会对目标个人的行为和心态产生负面影响。鉴于以太坊的决策过程严重依赖在线媒体进行讨论和辩论,因此很难防范这种行为。毕竟,这并不是以太坊治理过程的贡献者在社区内受到骚扰和排斥的唯一例子。然而,Afri Schoedon 的离职促使人们更加关注以太坊治理进程,并需要在此过程中建立更强有力的规范和社会价值观,以促进参与者之间健康和尊重的对话。
自以太坊推出以来,以太坊利益相关者一直期待着向权益证明 (PoS) 共识协议的过渡。因此,在合并之前的几年里,社区对将以太坊升级到 PoS 的想法几乎没有任何争议或反对。然而,在以太坊历史上的不同时期,人们对通过一种方法而不是另一种方法实现过渡的技术优点存在争议。此外,在以太坊存在的前六年中,在几个时间点,人们对这次升级的紧迫性存在争议,而这种升级是否优先于其他举措,例如提高以太坊的可扩展性和抗审查性。
一旦以太坊客户端团队解决了向 PoS 过渡的技术争论,并在 2022 年秋季最终确定了激活路线图,以太坊核心开发人员和更广泛的以太坊社区几乎一致欢迎这次升级。将以太坊从 PoW 过渡到 PoS 所涉及的代码更改是以太坊历史上最成功和最具变革性的 EIP 之一。任何其他升级都没有像以太坊向 PoS 过渡那样,获得如此程度的社区支持和兴奋。向 PoS 的过渡是一项多年的努力,在其部署的初始阶段,依靠 ETH 持有者通过质押 ETH 来资本化和引导协议,但不保证何时可以取消质押 ETH。尽管由于其复杂性而被推迟,并且经常受到比特币社区成员和以太坊矿工的嘲笑和劝阻,但最终向 PoS 的过渡(称为合并)巩固了以太坊和以太坊资产的强大叙事,被称为「超声波货币」叙事。
以下案例研究深入探讨了以太坊向 PoS 的过渡以及两部分升级中涉及的治理流程。
案例研究 6:合并
发生了什么:向 PoS 的过渡经历了几次迭代。它成为以太坊历史上最延迟的升级,最初预计将在以太坊推出 2 年后准备就绪。将现有的以太坊代码库与信标链(以太坊的 CL)合并的决定是一个艰难的决定,因为许多以太坊客户端团队正在致力于用信标链取代以太坊的升级。2018 年,构建向权益证明过渡的客户端团队被称为以太坊 2.0 团队。他们与另一组开发人员一起工作,该团队致力于以太坊的短期计划,称为以太坊 1x,从中开发了 EIP 1559 和无状态等想法。在合并升级之前的大部分历史中,推进 PoS 的努力在很大程度上是分开的,并且与以太坊核心协议开发并行进行。合并于 2022 年 9 月 15 日启动。
参与者:参与实现合并的主要团队是一组新的以太坊客户端团队,其中许多团队尚未构建和维护现有的以太坊客户端。 Prysmatic Labs、Lighthouse 和 ChainSafe 是新加入以太坊治理流程的客户端团队的例子,他们为以太坊升级到 PoS 做出了贡献。2020 年 12 月 Beacon Chain 的推出主要是因为这些相对较新的专注于 PoS 的客户端团队的努力。Beacon Chain 推出后,CL 客户端团队开始认真参与并让 EL 客户端团队参与过渡。以太坊基金会研究员 Danny Ryan 是 Merge 升级计划的主要牵头人之一。他继续领导以太坊共识层开发,担任 ACDC 负责人。
问题如何解决:在 Merge 激活日期之前,进行了前所未有的大量测试,以确保过渡顺利进行。以太坊核心开发人员为 Merge 组织了超过 25 次不同的测试网发布。以下是以太坊核心开发人员在 Merge 激活前几个月组织的影子分叉测试网发布的说明:
此外,在合并激活前的几周内,以太坊基金会资助的漏洞赏金计划增加了四倍,达到 100 万美元,这是该组织有史以来资助的最高金额。合并需要 CL 和 EL 客户端团队以及验证器节点运营商之间的密切协调,后者在升级节点软件方面不如矿工那么熟练。升级的性质还需要节点运营商更多地参与,以正确配置客户端软件以准备合并。以太坊基金会和以太坊猫牧民再次成为联系以太坊利益相关者和教育广大公众了解升级性质的中心。合并确实创建了以太坊的短暂分叉,但没有一个继续具有有意义的价值或支持大量的 dapp 活动。
主要内容:由于合并,以太坊的复杂性增加了一倍,因为该协议现在是两个同步发展的网络的组合。这就需要单独的治理流程来组织为每个网络(即以太坊的 EL 和 CL)提出的代码更改。如前所述,每两周有两次 ACD 电话会议,讨论与 EL 和 CL 相关的 EIP。但是,以太坊软件还有其他组件,例如影响 EL 和 CL 的引擎 API,而这些组件没有明确的更改和更新治理流程。这引发了关于 EIP 流程未来更新的新讨论,以便考虑到协议的双网络结构更好地组织对以太坊的更改。(EIP 流程的这些未来变化将在本报告的下一节中更详细地讨论。)
案例研究 7:上海升级
发生了什么:以太坊的第十七次硬分叉于 2023 年 4 月启动。这次升级被称为上海升级,激活了信标链上的质押 ETH 提现,从而代表以太坊向 PoS 的过渡已完成。在合并升级完成后不久,以太坊核心开发人员迅速准备了上海升级所需的代码更改。尽管围绕上海升级优先考虑哪些 EIP 存在多种利益冲突,但以太坊核心开发人员优先考虑了 EIP 4895 所代表的质押 ETH 提现,而不是其他 EIP,这主要是因为他们希望安抚以太坊质押社区,该社区在合并后已成功成为以太坊的主要安全提供商和节点运营商。
参与者:质押池和在信标链上质押的 ETH 持有者的集体声音以前所未有的方式影响了以太坊核心开发人员在上海升级优先考虑 EIP 4895 的决定,这与矿工在决策过程中能够发挥的影响力水平明显不同。以太坊客户端团队再次充当了守门人的角色,他们综合社区情绪,确定升级中应包含哪些 EIP。从 10 月 28 日到 1 月 5 日,以太坊核心开发人员在几次 ACD 电话会议上就上海升级的范围进行了激烈辩论。讨论强调了客户端团队对 EIP 优先级的意见分歧,以及以太坊核心开发人员之间的共识往往不是通过一致决定而是通过粗略的多数投票达成的。一旦确定了上海升级的范围和开发时间表,以太坊核心开发人员就开始准备和测试相关的代码更改以进行激活。
问题如何解决:上海升级于 2023 年 4 月 12 日激活。由于升级成功,以太坊上新质押的 ETH 数量出现了前所未有的涌入,远远超过了解除质押的 ETH 数量。
上海升级增强了人们对以太坊的积极情绪,认为以太坊是一种功能强大且功能齐全的 PoS 共识协议。它还通过引入质押 ETH 提现功能显著降低了质押活动的风险,随后导致质押资金大量涌入。截至 2024 年 5 月 14 日,ETH 总供应量的 27% 被质押,以太坊的年化通胀率趋于 1% 以下。自上海升级启动以来,持续的负通胀率和不断上升的质押率进一步增强了人们对 ETH 作为超声波货币的积极情绪。
主要收获:上海升级优先考虑哪些 EIP 的决策过程值得注意,主要有三个原因。
正如本报告中研究的七个案例所证明的那样,以太坊治理流程在不断发展,并通过 EIP 流程松散地定义。早在 2015 年,以太坊就由 8 位联合创始人发起,并制定了四阶段发展路线图。发展的最后阶段被称为「宁静」,代表了从工作量证明到 PoS 共识协议的过渡。快进到 2023 年,以太坊已成功完成向 PoS 的过渡,现在拥有一个新的 8 阶段发展路线图,阶段名称押韵。
在极少数情况下,决策是通过以太坊核心开发人员的独家努力快速做出的,并在快速升级周转窗口下由以太坊节点运营商共享实施。其他时候,决策被委托给更广泛的以太坊社区,这往往导致决策延迟和利益相关者之间的争论。通过多次升级和几次有争议的治理辩论,以太坊已经发展成为一个协议和一个社会集体,在很大程度上受到规范、价值观和信仰的指导,而不是链上投票流程或机制。
尽管上海升级已经完成,并已过渡到 PoS(协议创始人最初设想这是以太坊的最后一次重大升级),但未来还有大量 EIP 和计划有望在未来数月和数年内改变以太坊协议。最近,通过坎昆 /Deneb 升级,以太坊开发人员激活了 EIP 4844。EIP 4844 也称为 protodanksharding,是一种代码更改,引入了一种称为 blob 的新交易类型,增加了以太坊区块的数据和存储要求,并创建了一个新的费用市场,用于将 blob 定价与常规交易分开。
开发人员正在为下一次以太坊升级 Pectra 准备的一些备受瞩目的 EIP 包括但不限于:
开发人员正在考虑在 Pectra 升级后实施的其他代码更改包括:
虽然上面列出的一些 EIP 可能由于技术可靠性不足或争议太大而无法在升级中实现,但正在讨论实现的代码更改数量和范围是巨大的。以下是 Vitalik Buterin 在 2023 年 12 月总结的以太坊发展路线图的直观表示:
截至 2023 年 12 月以太坊的最新发展路线图,来源:Twitter (@vitalikbuterin)
除了对以太坊协议的代码更改外,还努力更新 EIP 流程,以适应以太坊合并后似乎更加雄心勃勃的发展路线图。在最近的 ACD 电话会议上,开发人员提议将 ERC 从 EIP 中移除到单独的治理流程,并更新 EIP 的编号以使其更易于跟踪。这些微小的管理变化在社区中引发了激烈的争论。因此,毫不奇怪,以太坊治理流程的所有拟议变更都没有建议任何治理流程在链上移动或在近期在流程方面变得更加严格。
EIP 流程的一个重大变化值得强调,因为它对以太坊治理的未来影响是创建了一个与 Layer 2 汇总上实施的代码更改批准流程并行的流程。汇总改进提案 (RIP) 流程旨在促进不同汇总升级之间的合作与协调。汇总开发人员在名为 RollCalls 的定期会议系列中介绍和讨论 RIP。以太坊协议开发人员正在权衡 RollCalls 上的决策在多大程度上影响 ACD 调用上的决策,反之亦然,因为以太坊开发人员越来越多地尝试追求以 rollup 为中心的开发路线图。
正如案例研究所表明的那样,升级的成功、失败和争议并没有阻止以太坊核心开发人员更改代码库。升级的频率并没有随着时间的推移而减慢,正在考虑和实施的变更的性质变得更加雄心勃勃,而不是更少。因此,以太坊核心开发人员在管理协议和实现其开发路线图上的未来升级方面的作用在重要性和影响力方面仍将保持高度重视。
除了以太坊核心开发人员之外,社区中还有越来越多的利益相关者,他们也是协议治理的重要贡献者。在 2019 年关于区块链治理的一篇文章中,Vitalik Buterin 承认了「象牙塔知识分子」对接管以太坊治理过程的担忧,并肯定解决这一问题的最佳方法是增加参与治理过程的机构和组织的数量,以进一步将其从单一群体的权力中分散出去。
随着以太坊 dapp 生态系统不断发展,包括多个 L2 和 DeFi 协议,以及通过 Merge 形成的新的多样化客户团队,积极参与以太坊治理的利益相关者数量也在不断增长。此外,随着以太坊协议复杂性的增加,从事以太坊研究和开发的团队已经多元化,涉及多个并行计划,包括专注于可扩展性、MEV、账户抽象、EOF 等的计划。
展望未来,验证器节点运营商应该期待升级,这可能会在未来彻底改变他们的业务模式。考虑到以太坊频繁升级的预期和现实,社区必须确保以太坊核心开发人员不是决定何时升级以太坊协议的主要声音。此外,正如 Geth (EL) 开发人员 Péter Szilágyi 等几位以太坊核心开发人员所表达的那样,由于以太坊协议雄心勃勃的开发路线图,人们对其复杂性的担忧日益增加。
以太坊协议的复杂性有几个缺点,主要缺点是增加了技术错误和故障的风险。因此,虽然 EIP 流程旨在促进以太坊上的代码更改,但对于决策过程中的利益相关者来说,重要的是逐渐将代码僵化置于代码更改之上,以便随着时间的推移,对主动治理流程的需求逐渐减少。考虑到对以太坊以及建立在协议之上的应用程序的监管审查日益严格,这一点尤其重要。尽管以太坊协议开发人员和更广泛社区的利益在当今的治理过程中最具影响力,但来自监管机构和执法部门的压力也越来越大,这也可能影响以太坊的设计并成为影响以太坊设计的强大声音。为了防止以太坊协议受到监管控制,以太坊运作方式的某些方面必须僵化到任何利益相关者团体或实体都无法改变的程度。
以太坊治理是一个由人员、组织、论坛和流程组成的复杂迷宫。与社区一样,决策过程也是无定形的,难以定义,因为它主要受社会规范和叙述的影响,而不是正式规则或具有约束力的链上投票机制。尽管关于以太坊协议未来的决策在社区中引发了分歧和分裂,但以太坊的路线图仍然雄心勃勃,其中列出了几个已经在以太坊社区引发争论和讨论的 EIP。
由于以太坊核心开发人员充当守门人,最终决定通过升级实施的变更,因此以太坊协议很可能会继续改变而不是僵化。如果一项技术变得过于可升级,就像我们在较小规模的以金融为重点的 dapp 和 DAO 中看到的那样,还存在监管俘获的担忧。围绕去中心化技术可升级性的监管担忧超出了本报告的范围,但可能是未来考虑的研究领域。
以太坊作为一项技术已经取得了长足的进步,并突破了使用区块链技术的可能性的界限。此外,以太坊作为一个社会社区,不断提出有关去中心化和开源技术的最佳治理形式的新问题。随着以太坊核心开发人员追求越来越雄心勃勃的开发路线图,其中包含将以太坊生态系统扩展到多个 Layer 2 协议的升级,所有网络利益相关者都必须考虑以太坊治理的社会规范(而不是既定流程)如何能够并且应该继续塑造以太坊的未来。