第四章 以太坊治理和文化
区块链治理是一套确保区块链各参与方能做出有效决策的协调机制。它通常被划分为链上治理和链下治理两大类。在以太坊的体系中,链上治理直接关联到以太坊协议本身,包括定义了哪些交易是有效的、区块如何被添加到链上,以及验证者如何获得奖励等技术运作规则。而链下治理则涵盖了对以太坊协议的持续管理和维护工作,这通常通过一系列开放源代码的流程来进行,如开发者和研究者的会议、GitHub 仓库,以及以太坊改进提案(EIPs)。这些流程为用户提供了一个平台,他们可以在此提出并实施对以太坊协议的改进建议。
区块链文化体现了区块链社区共同认同的社会、文化和政治价值观念。这些文化通过区块链在货币、组织结构、金融和艺术等领域的创新实验得以记录和展现,从而映射出社区成员的文化追求。以太坊的文化尤其丰富多元,且充满活力,但它的核心是建立在一系列根本价值观之上的。在以太坊以及其他众多区块链社区中,政治去中心化是最为关键的价值观之一。这一价值观主张权力应该平等地分配给所有参与者,而不是被少数人所控制。以太坊的技术架构本身就是去中心化的,这为其政治去中心化的理念提供了坚实的基础。除了去中心化,以太坊社区还高度重视以下几个核心价值观:首先是无需许可,意味着任何人都可以自由地使用以太坊而不受限制;其次是抗审查性,保证了在以太坊上每个人的表达都不会受到审查;最后是可信的中立性,确保以太坊的运作对所有用户都是公正无私的。区块链的治理结构与文化是密不可分的,因为治理机制的设计和实施应当体现和尊重社区的文化价值观。
以太坊治理 比特币的创始人中本聪将比特币设计为开源软件,向世界开放。开源开发的核心在于一群志愿者的共同努力,他们携手打造非专有的软件,其源代码对所有人开放,用户不仅可以自由查看,还可以复制或在此基础上进行再创造。 以太坊也全面采纳了这种开源的开发模式,这一做法同样被广泛应用于众多在以太坊平台上开发的项目中。 以太坊的主要代码库被托管在开源开发平台 GitHub 上,其中包含了社区普遍认为对以太坊至关重要的核心代码仓库。这些核心仓库具体如下:
以太坊协议的官方 Go 语言实现表明,以太坊软件并非只有一种实现方式,而是提供了多种不同编程语言的版本供选择。在众多版本中,以太坊的主要代码库特别包含了一个名为 Geth 的 Go 语言软件客户端。在以太坊项目启动之初,有三个不同的实现版本受到了社区的广泛关注:由 Gavin Wood开发的 C++ 版本,由 Jeffrey Wilcke 开发的 Go 版本,以及由 Vitalik Buterin 开发的 Python 版本。在一种友好竞争的氛围中,前两个版本争相成为项目的模板实现,而 Buterin 的 Python 版本则被认为更适合进行研究工作。经过一番竞争,最终 Wilcke 的 Go 版本因其卓越的性能脱颖而出,成为了项目的模板实现。
以太坊改进提案(EIPs) 是用于管理和实施以太坊协议重大变更的一套治理流程。稍后,我们将深入探讨这一机制。 Solidity,由 Gavin Wood 和 Christian Reitwiessner 联合开发,是一种高级编程语言,广泛应用于编写智能合约。尽管智能合约也可以使用如 Vyper 等其他语言编写,但 Solidity 无疑是市场上的主流选择。 Remix 提供了一个集成开发环境(IDE)和 Solidity 编译器,它可以直接在浏览器中使用,为开发者提供了便捷的开发体验。 以太坊官网:这是以太坊的主页面,包含了关于以太坊各个方面的广泛且用户友好的信息,它是一个由小型支持团队维护的开源项目。对于本书的读者来说,这可能是参与以太坊的最便捷方式之一,只需前往他们的 Discord 频道,询问他们需要哪些帮助即可。 GitHub 的开发流程大致遵循以下步骤,适用于前述的各种情况。不过当你亲自参与其中时可能会发现一些细节上的差异:
- 问题(Issues):用户可以公开提出各种修改建议,这可能包括修复漏洞或者对功能进行改进。针对这些问题,社区成员可能会展开讨论。
- 拉取请求(Pull Requests):开发者们,无论他们来自公众还是项目团队,都会针对已提出的问题提供概念上的解决方案或具体的代码实现。围绕拉取请求的讨论也是常见的。如果一个拉取请求能够吸引足够的关注并赢得广泛的支持,它将经过一系列的检查,最终被合并到项目的下一个版本中——这可能是 Geth 的新版本发布,或者是 ethereum.org 的新页面更新。每个代码仓库中都会有一些成员,他们通常来自项目的核心团队,拥有将代码合并到主分支的权限,这称为拥有提交访问权限。有时,如果拉取请求引发了较大争议,它可能会在社区中引起分歧。
我们应当特别留意以太坊协议的官方 Go 语言实现,这一实现包含在名为 Geth 的软件客户端中。针对以太坊软件客户端的开发流程主要针对与特定客户端相关的变更,这些变更并不涉及以太坊协议本身。重要的是,这些变更必须保持与以太坊协议的兼容性。举例来说,你不能期望 Geth 团队合并使用挖矿共识机制的代码,因为以太坊已经转向使用质押机制,这样的提议将导致 Geth 无法与以太坊网络兼容,对于其他软件客户端来说情况也是类似的。因此,通常所提出的 Issues 和 Pull Requests 会集中在影响特定软件客户端的 bug 或改进上,以及它们是如何实现以太坊协议的。
当有人提出对以太坊协议本身而非特定软件客户端的变更建议时,会采用什么样的流程呢?这类建议有其专门的处理流程:以太坊改进提案(EIPs)。 EIPs 在以太坊的 GitHub 上有自己独立的代码仓库,EIPs 遵循一个模板,提案者(被称为发起人)将提供提案的理由和技术规范。这些变更可能涉及以太坊的各个部分,其中最著名的是核心 EIPs,它们是需要分叉的升级或改进,通常在以太坊中是硬分叉(在第3章讨论)。EIPs 会经过广泛的讨论,EIPs 的一个子集被称为以太坊征求意见(ERC),与智能合约和去中心化应用(dApps)的标准相关。截至本文撰写之时,社区正在讨论将 ERCs 从 EIPs 中分离出来,使 ERCs 成为一个独立的类别。
一个著名的核心 EIP 是 EIP-1559,它提议将 Gas 费用燃烧掉而不是发送给质押者,这是对以太坊协议本身的一个变更,而不仅仅是针对某个客户端团队。因此,它需要获得各方的支持,这意味着在 2021 年正式上线之前,需要尽可能多的以太坊生态系统内的利益相关者支持它。记住以太坊在政治上是高度去中心化的,因此没有哪个中央实体可以代表其他人做出决定,决策权分散在许多区块链利益相关者之间,区块链利益相关者是指在区块链实现中拥有或感兴趣(无论是财务上的还是文化上的)的群体。以太坊的利益相关者包括但不限于以下几类:
- 以太坊用户:日常使用以太坊的普通终端用户。比如 Joe 和 Jane,他们发送 USDC,加入 DAO,或购买 NFT。
- 以太坊媒体:专门的媒体和影响者,如播客或 YouTube 节目,例如 “The Daily Gwei” 或 “Bankless Podcast”。
- 以太坊项目团队:在以太坊区块链上构建的各种去中心化应用(dApps)团队。
- 以太坊开发者:在以太坊客户端软件或协议上工作的开源开发者和研究人员。这也包括协议支持成员和协调员。
- 以太坊质押者:帮助保护以太坊区块链安全的用户。
- 以太坊基金会(EF):一个非营利组织,为会议(例如 Devcon)、开发者会议、ethereum.org 网站提供支持,并提供资助。
并非所有的 EIP 提案都能激起社区的兴趣,但偶尔会有一些提案能够做到。一旦这种情况出现,这些 EIP 提案通常会被以太坊的开发团队和研究者所关注,并很有可能被采纳。
开发者们通常会在以太坊的 Magician 论坛和专门的以太坊研发 Discord 频道(Research and Development)上集结,在这些平台上开发者和研究人员聚集一堂,与来自不同客户端软件团队的代表们一起协调和讨论各种问题。每隔一周左右就会举行一次名为 AllCoreDevs 的会议,专注于讨论以太坊协议中最为关键的议题。除此之外还有一系列规模较小、针对性更强的讨论会也在定期举行。
以太坊基金会(EF),这个随着以太坊诞生而成立的非营利组织,通常负责处理以太坊的日常运营。除了组织如 Devcon 这样的以太坊大会和提供研究资助(例如通过生态系统支持计划)之外,基金会的核心职能之一是提供一支由全职员工组成的专业团队,他们致力于以太坊的开发和研究,涵盖从开发者、研究人员到协议支持人员等不同角色。以太坊的“猫牧人”(Ethereum Cat Herders)是一个负责协调和清理 EIPs 的集体,他们不仅处理后勤事务,还确保提案的有序进行,这个团队由来自基金会内外的成员组成,而协议公会(Protocol Guild),一个包含 EF 和非 EF 成员的组织,管理着一个旨在奖励以太坊开源贡献者的智能合约。有趣的是,尽管以太坊基金会在后勤方面发挥着重要作用,但它并不控制以太坊。对于那些需要在生态系统中协调众多利益相关者,尤其是每周要召集所有客户端团队开会的人来说,这一点可能会让人感到意外。以太坊的去中心化特性意味着决策是分散的,而基金会的角色更像是一个协调者,而不是控制者。
EIP 的支持过程并没有一成不变的规则,随着时间的推移它可能会逐渐获得开发者和研究人员的支持,并常常面临对其潜在问题的严格审查。之后 EIP 可能会吸引更多人参与,贡献于进一步的研究、测试或编码工作。这个 EIP 的信息会逐渐传播到其他利益相关者那里,以太坊的验证者或项目团队可能会表达他们的支持或提出担忧,媒体和用户也可能开始自行讨论这个话题。如果一个 EIP 能够从众多以太坊利益相关者,尤其是参与 AllCoreDevs 电话会议的开发者和研究人员中获得积极的反馈,就会形成一个大致的共识,认为应该实施这个 EIP。在开源开发文化中,很少能达成完全的共识,而是在分散的各方之间形成大致的共识。通常当担忧、批评或争议逐渐消失时,我们就可以认为达成了大致的共识,一旦 EIP 被接受,它将被纳入以太坊的下一次升级,并成为开发者和研究人员讨论如何协调和整合 EIP 到各种软件客户端的议题,为即将到来的升级做准备。目前 EIP 升级常常被打包在一起进行。在以太坊中,升级通常通过硬分叉来实施,这意味着升级不会向后兼容,因此全节点需要更新他们的软件客户端,以便继续跟随以太坊区块链。
管理一个像以太坊这样的区块链是社区成员的共同职责,每个利益相关者在更广泛的社区中都拥有一定的影响力,尽管这种影响力有时可能并不显著,去中心化是几乎所有区块链社区核心信仰的最佳治理模式。在这个抽象的层面上,目标是用去中心化的治理方式取代中心化的治理,中心化的机构、公司、组织和政府通常被认为本质上容易腐败或有腐败倾向。然而实施去中心化替代方案的愿景并不总是一帆风顺,中心化的趋势有时甚至在最具意识的区块链社区中也会重新出现。去中心化的实际情况更像是一场复杂的舞蹈,其中中心化的权力被去中心化的努力所打断,新的中心化形式出现,随后又会有新的去中心化努力出现,形成一种重新去中心化的行为。作为以太坊社区的优秀成员,应该警惕那些可能成为中心化影响的点,并在发现中心化趋势时提出关注和挑战。总体而言,以太坊的治理非常去中心化,但在某些后勤方面保留了一些轻微的中心化特征。
以太坊文化
以太坊不具有单一的主导文化,其成员可以来自任何文化背景,这正是开放且无需许可的协议所倡导的。尽管如此,以太坊内部仍有一些广受欢迎的亚文化群体,通过观察这些群体,我们可以深入了解这个协议。由于文化本身是不断演变的,以太坊中的一些亚文化可能会持续繁荣,而另一些可能会逐渐消失。
密码朋克文化:以太坊中不少有影响力的开发者和研究者深受密码朋克精神的启发。密码朋克文化是比特币的基石之一,并且对以太坊的部分领域产生了影响。密码朋克倡导者们致力于开源开发,并展现出一种特定的 DIY 或朋克精神,他们坚信解决问题的最佳途径是自行创造解决方案,并将成果无偿地广泛传播,甚至允许他人复制和在这些成果上进一步构建。这些密码朋克通常对他们所开发技术的使用目的持中立的政治立场。在以太坊的案例中,密码朋克们构建了基础设施和工具,但对于这些工具如何被使用则保持距离,采取一种放任的态度。虽然密码朋克文化历来强调隐私的重要性,但在以太坊中,隐私并不总是被放在首位,尽管这一趋势似乎正在转变。与此同时,一个名为月之朋克的新密码朋克运动正在兴起,主张将隐私问题重新置于核心位置。你可以在以太坊的 Magician 论坛、以太坊 R&D Discord(研究与开发)频道,或是在 ETHDenver 等活动中遇见这些密码朋克的身影。
再生论者:在以太坊社区中,许多颇具影响力的人士倡导一种再生或恢复性的方法来发展技术。这一理念深受 Vitalik Buterin 对政治和社会科学的兴趣影响,众多再生论者投身于旨在激活、提升甚至重塑现有制度的治理实验。这个亚文化群体以其实验精神和对公共利益的重视而闻名,他们尝试了多种创新实验,包括二次资助、灵魂绑定代币和追溯性公共产品资金支持等。与金融应用相比,再生论者更专注于构建一个全新的去中心化网络——有时这个网络被称作 Web3。他们通常(尽管并非绝对)持有更先进的政治观念,并与一种称为太阳朋克的美学风格相联系,你可以在 Gitcoin 或 Optimism 等公共产品社区,或是 ETHBarcelona 等活动中遇见这些再生论者。
德根族:在以太坊社区中,存在一群完全被投机和不惜一切代价积累财富所驱动的用户,他们被称为“德根族”(degenerates,意为堕落者)。德根族是金融虚无主义者,他们专注于当前的趋势和炒作,试图通过冒险来获得财富,从而逃离当代新自由主义资本主义的“老鼠赛跑”。德根族经常会冒极大的风险,但这种方式往往带有讽刺意味,几乎是一种超然的态度。他们通常(但并非总是)持有更挑衅的政治观点,并与更偏向动漫风格的美学相关联。你可以在新推出的去中心化金融(DeFi)项目或非同质化代币(NFT)发行活动中找到德根族的身影,或者在像NYC.NFT这样的会议上遇见他们。