以太坊协议开发治理和网络升级协作

来源 | hudsonjameson.com

作者 | Hudson Jameson

翻译 | 2DAO3 Flicka

校对 | ECN

这篇文章将讨论以太坊社区是如何做出协议级的开发决策,以及如何组织以太坊网络升级(又称硬分叉)。随着时间推移,以太坊的决策制定流程也不断发展,这其中有许多可追溯的历史。本文将重点关注 Eth 1.0 (执行层)治理,而不涉及 Eth 2.0 (共识层)治理。本文不代表以太坊基金会或其他与我相关的任何实体。

以太坊治理架构的核心构成

以太坊改进提案(EIPs)

此为原作者截图,最新信息请到  https://eips.ethereum.org/  查阅
此为原作者截图,最新信息请到 https://eips.ethereum.org/ 查阅

Martin Becze是以太坊早期核心开发者,他在2015年10月为EIP创建了GitHub仓库。当时EIP的流程机制参考了比特币改进提案流程(BIPs),而后者则是参考了Python 增强建议书 (PEPs) 的规范。以太坊改进提案是向以太坊社区提供信息的设计文档,它描述了以太坊的新功能、该功能的运行流程和环境。EIP需提供关于功能的简洁技术规范及其实现原理。EIP的提出人会负责推进社区对EIP的共识,并记录不同意见。

有几种不同类型的EIP,如低层次的协议变更,会影响共识层、需要升级网络的核心EIP,或规定了社区标准的ERC。最著名的EIP,是用于在以太坊创建自定义代币的ERC-20协议标准

EIP 编辑的任务是检查 EIP 的技术可靠性、拼写/语法的正确性和代码风格。

Martin Becze,Vitalik Buterin,Gavin Wood 等其他人曾在2015年到2016年底担任EIP 最早期的编辑者。2016年10月,在以太坊开发者大会Devcon2之后,我接管了 EIP 的主要编辑工作。随着时间的推移,有更多的人加入/退出编辑组。目前的 EIP 编辑成员有我,Nick Johnson (ENS) ,Alex Beregszaszi (EWASM/以太坊基金会) ,Casey Detrio (EWASM/以太坊基金会) ,Nick Savers (社区)和 Greg Colvin (前以太坊基金会成员)。

【译者注:据官网信息,截止2022年8月30日,最新的EIP编辑成员包括Alex Beregszaszi (@axic),Gavin John (@Pandapip1),Greg Colvin (@gcolvin),Matt Garnett (@lightclient)和Sam Wilson (@SamWilsn)】

一般而言,EIP只要格式正确且内容合理,就会进入“草稿”阶段。我想说的是,哪怕EIP的内容是关于如何制作花生酱三明治,只要它创建遵循EIP-1里的规范,它基本能顺利进入“草稿”阶段。为了鼓励社区通过协作来构建和实现提案,我们有意模糊EIP获得共识并被宣布为“最终”状态的过程规范。EIP 不处于“最终”状态,并不意味着 EIP 中定义的标准不能在项目中使用。事实上,这才是 EIP 获得认可和验证的正确途径。

2020年1月, EIPIP (EIP Improvement Process)组织成立了。它的目标是聚集社区成员在每两周一次的在线视频会议或是论坛里(如Fellowship of Ethereum Magicians forum),共同制定EIP的改进计划。会议都会被录制并上传到youtube。改进目标会包括如何吸引新的 EIP 编辑和编辑工作引导优化。EIP流程的提效等也是改进内容之一。

Fellowship of Ethereum Magicians

The Fellowship of Ethereum Magicians (FEM)于2018年2月,由以太坊基金会社区联络员James Pitts和“以太坊的甘道夫”Greg Colvin创立。它的使命是“培养社区在技术方向和规范上的共识”。有些人将FEM形容为以太坊上的IEEE,但它其实是更去中心化,更以社区为导向的。它的在线论坛是讨论EIP和以太坊技术标准的主要阵地。FEM在大多数以太坊的重要事件中都会组织聚会,聚会里还会形成“rings”工作组。所有社区成员都能创建一个“ring”,并组织志愿者来解决被“ring”工作组识别的问题。你可以在FEM forum 看到“ring”的列表。(译者注:IEEE 指电气和电子工程师协会,是一个国际性的电子技术与信息科学工程师的协会,是目前全球最大的非营利性专业技术学会,其会员人数超过40万人,遍布160多个国家。)

以太坊核心开发者会议 (All Core Devs)

从2015年下半年开始,以太坊联合创始人 Gavin Wood 创建了 AllCoreDevs Gitter 频道,主要聚集了 以太坊核心开发者。当时,只有少数几个客户端的以太坊核心开发者参加。最初的几次开发者会议是由Martin Becze 组织。2015-2016年,以太坊基金会的公关/社区协调负责人 George Hallam 也协助组织了部分会议。2016年10月,我接管了组织、主持和做会议纪要的工作。2019年,Lane Rettig (SpaceMesh)加入,协助安排会议和纪要工作。今天,其他人如 Tim Beiko 和 James Hancock,正在协助会议的直播和主持。目前, Ethereum Cat Herders 资助着 ACD 的会议纪要工作。(译者注:目前由 Tim Beiko 主持 ACD 会议)

ACD是技术会议,旨在将对决策协议方向发挥主导作用的以太坊团队聚集在一起。以太坊的客户端和研究团队,会负责项目更新,并讨论各种核心EIP以改进协议。

与会人包括参与低层级协议开发的开发者,客户端开发者和核心以太坊研究员。一般来说,每一个以太坊客户端都有代表参加,以及Layer 1 研究/扩容团队的核心成员。对某个领域有建树的非核心开发者,也会受邀参与特定内容的探讨。双周会是在周五举行,在youtube上会在线直播并录制。你可以在该链接查看会议议程、纪要和相关录屏。也可以在该链接查看未来会议安排。(译者注:现已改为每两周四进行 ACD 会议)

ACD是以太坊治理流程上的首要信条。正是在ACD会议上,决定了网络升级背后的细节和以太坊1.0技术栈的改进计划。我们尽可能地推进决策在以太坊社区达成大致的共识,但是避免使用投票的方法,因为我们是纯技术会议,设计文档、规范和实操更有助于争议解决和论点支撑。

Ethereum Cat Herders

以太坊生态非常缺乏组织建设和项目管理,所以我、Lane Rettig (SpaceMesh)和Afri Schoedon (former Parity) 在2019年1月创办了The Ethereum Cat Herders (ECH) ,“我们的目标是用最少的规则限制来解决问题,以推动以太坊更自由的向前发展”。最初,ECH通过资助ACD会议上的记录工作来提供帮助,也在以太坊核心开发者要求的 ProgPoW 审计里,承担着组织和筹款的重要工作。最近,ECH已经帮助很多组织为即将到来的网络升级(硬分叉)做准备,包括Istanbul 和Muir Glacier。随着升级将近,ECH 联系了交易所、矿工和基础设施供应商,向他们提供带有升级说明及相关信息的博客文章。ECH 会在官方Medium上每周更新一次,最近还发布了一篇介绍他们过去一年成就的文章。

网络升级

网络升级内容的决策

在协议建设的早期,以太坊客户端和规范的变更,会在15人核心开发者小组内得到高效决策。因为他们是仅有的专家,所以这种方式是可行的。Vitalik Buterin 和 Gavin Wood此时更像是仁慈的独裁者。许多早期项目也是如此运作,这并无大碍,事实上,需要快速发展的项目正需要这种模式。

但以太坊的发展逐渐迎来了挑战。重大决策要花更长的时间来辩论,参与的人也开始增加。好处在于,要更改如此重要的技术,我们需要更多贡献者参与以及更加严谨的态度。以太坊没有像其他链一样建立链上治理机制,在客户端/协议级别上的升级,其最终决策由核心开发者来决定。有人批判以太坊太技术官僚,但这并不是它的全貌。有很多细微差异确实让以太坊的决策流程更高效。

在我的视角里,以太坊的核心开发者都是利他主义的,在考虑网络升级应包含什么内容的时候,他们尽最大努力在倾听社区的声音。当然,这完全是基于我个人视角,在判断处境的时候,我可能属于天真的乐观主义者。我们当前体系的替代方案,如链上治理机制,对我来说完全没吸引力,因为它们通常会导致财阀统治。我们无法找到完美的去中心化决策机制,但随着时间推移,以太坊及其治理流程定会日渐成熟。

改善流程机制

任何有改进网络想法的开发者都能提交EIP。在2019年底之前,EIP流程很混乱,一个idea很难推进到协议层并得到完整实现。当一个EIP被创建后,它会进入以下某个步骤。步骤如下(没有特定顺序):

  • EIP在ACD会议外被讨论

  • 在ACD会议上针对EIP进行讨论

  • 决定实施EIP

  • 引发更多讨论

  • 创建测试用例

  • 在客户端实现代码

有时候,如果EIP的影响微不足道且无争议,那它从被提出到推出实现的速度会很快。

更多时候,EIP会经历数月的讨论,才会推出实现,然后引发更多讨论,然后才开始测试,然后再回到讨论环节,最后才能被纳入到网络升级中。与没有代码仅有想法的阶段相比,在客户端中实现能让EIP获得更多曝光和认可。若不涉及紧急情况,网络升级一般会批量实施一组EIP。稍候有张图片展示了我描述的过程。

2019年,有更多围绕网络升级的决策流程改进意见。我们意识到,网络升级发生的频率会很低,计划好的截止期限常常被忽视,我们也缺乏人力来统筹围绕计划和执行硬分叉的所有任务。所以在2019年底,詹姆斯·汉考克(James Hancock)被聘请为硬分叉的协调员,他负责彻底改进决策机制,确保我们能按计划执行任务。经过数次不同策略的迭代之后,形成了现在“以 EIP 为中心” 的网络升级模式。与其在没有固定操作步骤下四处摸索,盲目加速EIP进程,倒不如让EIP经历一系列易于理解的步骤,并根据目标时间来安排网络升级。虽然这将导致更频繁的网络升级,但我们正在优化与生态参与者的沟通流程,这有助于减轻频繁升级带来的负面影响。

上图显示了新版EIP推进流程,最终步骤是主网上线(图片由James Hancock提供)。我们在2019年底开始推进部分环节,在发现哪些是行之有效以后,我们在2020年计划继续推进,并持续迭代和完善。

传播网络的升级

网络升级的协调,有更困难,也有更容易之处。当以太坊规模还很小、客户端很少、名声小的时候,支持以太坊的旷工、交易所和基础设施服务商能很容易通过Skype和IRC上的几个公共聊天频道,或者被认为有明确真实信息源(现在仍然认为)——以太坊官方博客,来了解网络升级安全漏洞信息。

当前,官方博客仍是提供生态系统网络升级最新公告的重要渠道,但以太坊基金会内外部都在共同努力,让以太坊官方博客不再作为主要信息源。ECH一直在输出网络升级公告的博文。将这类职责从以太坊基金会过渡给社区,对以太坊的未来十分重要。

随着以太坊逐步成长和进化,关于重要升级和安全信息公告的传播渠道也要做相应的提升。在2015到2018年间,生态的核心参与者主要依赖博客和聊天软件来获取相关信息。那些年,我曾是负责对外公布这类消息的4位成员之一。在此期间,为了和重要的生态参与者进行沟通,我们会同时打开约15个来自 Skype,Slack 和 Gitter 的聊天窗口,手动发送以太坊客户端的最新版本安装信息,以确保他们的系统安全和更新及时。直到ECH在2019年成立后,我们开始将工作转交给其他10多位小伙伴,由他们负责联系旷工、交易所和基础设施服务方。这是为了职责分散化,防止少数人滥用权力而必须采取的方式。

路在脚下

总结而言: 尽管以太坊基金会和Vitalik这样有名无实的领袖,对以太坊的早期发展起到关键作用,但火炬正在向社区传递,以使得以太坊的治理过程更加去中心化。

随着以太坊生态的成长,其决策流程已非常成熟。我们还有很长的路要走,但作为已成立了5年的社区,我相信我们在务实方面做到位了,也意识到,完美的决策和协调系统是不可能在一夜之间被建立起来的。

——————————————————————————

特别感谢 ECN 社区翻译志愿者 @Flicka 对本文的翻译贡献。

友情链接:

Subscribe to EthereumCN
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.