Ethereum Classic 的人类行为学

2015 年,Vitalik Buterin 解释了区块链为什么有用。Ethereum Classic 证明了他是对的。本文用人类行为学来解释其中的原因。

· Istora Mandiri
English中文

2015-04-13,也就是以太坊创世区块诞生前三个月,Vitalik Buterin 在以太坊基金会博客上发表了 The Value of Blockchain Technology(《区块链技术的价值》)。

区块链为什么有用?

- 你可以在上面运行应用,并让你的用户相信,即使你对维护它失去兴趣,被人收买或威胁去以某种方式操纵应用状态,或者自己产生了以某种方式操纵应用状态的利益动机,你的应用也会继续运行。

一年后,在第 1,920,000 个区块,以太坊的开发者通过硬分叉操纵了 The DAO 的应用状态。然而在拒绝这一改动的那条链上,每一个应用都未经修改,继续运行。那条链就是 Ethereum Classic,它至今仍然存在。Vitalik 是对的。

第 -1 层

不妨把区块链想象成一座建筑。第 1 层是楼体,也就是协议和执行协议的代码,是用户看得见、用得着的部分。第 0 层是楼体所立足的地面,也就是由开发者、矿工、交易所和用户组成的社会层,由他们决定运行哪一套代码。

两座相同的酒店大楼并排立在同一片地面上的剖面图,左边的楼顶招牌写着 ETH,右边写着 ETC,人行道上有行人。地表以下是分层的土壤,再往下是坚实的基岩。ETH 大楼直接坐在地表上,下面没有任何地基。ETC 大楼立在长长的桩基上,桩基穿过土壤,锚固在基岩里。右侧的标注依次为:楼体旁的第 1 层,链,土壤旁的第 0 层,社会层,基岩旁的第 -1 层,原则。

从街上看,这两座楼一模一样。两者都在同一种虚拟机上运行同一类应用。区别在地下。

没有地基的楼直接压在土壤上,而土壤会移动。几乎每一条链在第 0 层之下都空无一物。规则就是当下的社会共识想要的样子,而当下的社会共识,就是声音最大或资金最雄厚的派系能够拼凑出来的东西。

第 -1 层是基岩,是社会层之下的一套原则,不会因为上面的人改变而移动。对以太坊来说,基岩就是上面引用的 Vitalik 那句话,发表于创世区块之前三个月。它在楼盖起来之前就已经存在,之后加入的每个人都是按照这些条件加入的。打到基岩的桩基让社会层有了坚实的建造基础。对某个提案意见不一的开发者、矿工和用户,可以拿同一块基岩来衡量它,于是「这是不是个好主意」就变成了「这是否违背了这条链存在的目的」,这是社会层可以围绕它组织起来并最终解决的问题。

只有少数几条链打到了基岩。比特币的地基从未写进某一份文件,但它所源自的奥地利学派经济学,也就是稳健货币,以及对任何能够改变规则之人的不信任,已经深深织入它的社会层,以至于每一个提案至今都要经受它的检验。

以太坊原本有基岩托底,却在第 1,920,000 个区块操纵应用状态时,把楼体与基岩切断了。Ethereum Classic 是那座仍然锚固在基岩上的楼,几周之内,它的社区就用两份创始文件加固了这些地基。对 ETC 来说,第 -1 层是第 1 层至今屹立的原因。

这就是 Vitalik 正确的原因。这个承诺并不依赖于做出承诺的人。它位于他们之下,所以当他们改变主意时,被这个承诺说服的用户在没有他们的情况下继续运行着这个应用。

人类行为学

人类行为学(praxeology)是研究有目的的人类行为的学问,由经济学家路德维希·冯·米塞斯发展而成,也是奥地利学派独特的方法论。它从一个无人能够在不使用它的情况下否认的公理出发,向前推理。对米塞斯来说,这个公理是「人会行动」,任何反驳它的人在争论的过程中本身就在行动,因此这种否认会自我驳斥,这被称为述行矛盾(performative contradiction)。由于每一个结论都是从一个无法自洽地否认的公理演绎而来,米塞斯可以不依赖统计数据来研究经济学,只要推理中没有任何一步被证明是错的,结论就成立。

Ethereum Classic 也可以用同样的方式来推理。从「区块链存在」这一事实出发,每一条原则都由前一条推出,一直推到拒绝 DAO 救助、坚持工作量证明和拒绝国库。否认其中任何一步,你剩下的就只是一个低效的传统数据库,或者一个自我挫败的提案。

下面的推理,与 Classix 联合创始人 Istora 在 2022 年为 ethereumclassic.org 撰写的 Why Classic 一节是同一套推理,也与它所依据的两份 Ethereum Classic 创始文件一致,即 A Crypto-Decentralist Manifesto(《加密去中心化主义者宣言》)和 The Ethereum Classic Declaration of Independence(《Ethereum Classic 独立宣言》)。

下表列出了整个论证。左栏是演绎链,先是米塞斯的公理,然后是我们的公理。右栏为每一条演绎配上一个提案,这个提案依赖这条演绎却又否认它,从而让提出它本身失去了理由。

演绎矛盾
人会行动
每一次争论本身都是一种行动。
人不会行动
说出这句话本身就是行动。
区块链存在
成千上万的节点运行着区块链,人们支付手续费让交易被打包。
区块链不存在
把这句话写进一笔 Ethereum Classic 交易广播出去,就驳倒了它。
不可阻止的应用
区块链是更差的数据库,值得为之付费,是因为没有人能阻止上面的应用。
非常规状态转换
一次以命令改写合约状态的硬分叉,就像 The DAO 分叉那样,让应用在运行中途被叫停。
主权级
如果某个组织能阻止一条链,这条链就是那个组织花哨而低效的数据库。
许可制运行
为无许可区块链付费的用户,实际得到的是一个由授予许可者运营的数据库。
协议中立
享有特权的一方可以被施压,而可以被施压的一方,就是阻止这条链的途径。
协议特权方
决定谁获得特权的人可以被施压,而中立性的存在正是为了防止这一点。
固化
每一次硬分叉都是一个被俘获的窗口。分叉越少,窗口越少。
非技术性「升级」
没有技术理由的硬分叉,就像 The DAO 分叉。每一次都会重新打开一个俘获窗口。
创始文件
《宣言》和《独立宣言》把这些原则确立为 ETC 存在的理由。
修改或无视原则
一边站在这些原则所造就的链上,一边废除或无视这些原则。
Classix 与其他团队
明确不具官方身份。自愿资助,与更好的团队公开竞争。
Ethereum Classic DAO / 基金会
在一条没有任何官方机构的链上设立官方机构。俘获一个团队,整条链就随之而去。

公理

和米塞斯一样,我们从一个无法否认的公理出发,通过第一性原理推理推导出其余的一切。这个公理是:

区块链存在。

如果你说区块链不存在,任何人都可以通过让一笔交易被打包进 Ethereum Classic 来证明你错了。此刻有成千上万的节点在运行它,每天都有人支付手续费让自己的交易被打包进去。

区块链是一个缓慢、昂贵、冗余的数据库。每个节点存储一切、执行一切,成千上万台机器要对每一次状态变更达成一致。如果只把它当作数据库来衡量,一台普通的数据库服务器就能胜过它。

人的行动是有目的的。一个人愿意为更差的数据库多付钱,唯一的理由是为了得到传统数据库无法提供的那个额外属性,也就是没有人能阻止一条主权级区块链。没有人能编辑它、冻结其中的账户或回滚它,因为没有任何负责人可以去求情。应用完全按照编写的方式运行,代码即法律。

所以第一条演绎是,区块链为不可阻止性而存在,也就是抗审查,除此之外别无他用。如果你不需要这一点,AWS 更便宜也更快。一条链为了换取任何属性而放弃不可阻止性,换来的都是数据库本来就有的东西。

不被任何人阻止

不可阻止必须意味着不被任何人阻止。假设有一个组织能够阻止这条链。它可能是一个政府、一家公司、一个基金会,或者这条链自己的开发者。那么这个组织就对链上记录什么拥有最终决定权。每一笔交易之所以能通过,只是因为这个掌控一切的组织允许它通过。

这就引出了一个问题:你到底为什么需要区块链?这个组织完全可以运行 Postgres,以极小的成本得到同样的结果。其他所有人都在为区块链付费,得到的却是那个组织的数据库。

所以,一条可以被某人阻止的链,违背了第一条演绎。它不再提供那个唯一能证明其成本合理的东西。那个人是否真的动用过这种权力并不重要。一旦有一方能阻止这条链,用户就是在信任那一方,而这正是传统数据库本来就要求用户做的事。

一条链需要多么不可阻止,取决于谁会想要阻止运行在上面的应用。本文开头 Vitalik 的回答已经点出了这些威胁,即维护者失去兴趣、被收买或威胁,或者产生了操纵应用状态的利益动机。转移资金或与现有机构竞争的应用,会吸引那些最有能力去收买和威胁的人。要顶住他们,就需要主权级的抗审查能力,即任何国家、公司或基金会都无法阻止这条链。

低于这条线,这条链就只是一个由能阻止它的人所掌控的花哨数据库。

处处去中心化

一条区块链的去中心化程度,取决于它最中心化的那个瓶颈,而对手会攻击其中最容易得手的那一个。整个技术栈的每一部分都需要冗余,也就是要有多个相互独立的选择,而不是只有一个,这样任何单一部分被俘获或失去,都不会让这条链停下来。这包括:

  • 客户端实现,以及签署其发布版本的团队
  • 矿机制造商
  • 矿池
  • 人们把法币换成币的交易所和入金渠道
  • 用户访问这条链所经由的 RPC 端点和区块浏览器
  • 开发者的资金来源

在还没有替代方案的时候,社会层中暂时存在单点故障来撑起局面或许是必要的,但社会层的职责是找出它们并不断减少它们,直到没有任何单一方值得被俘获。

中立

一条链要长期保持去中心化,就必须在协议层保持中立。它不能给予任何一方特权。

原因在于激励。如果协议通过预挖、开发税或国库向某个群体付钱,这个群体就会成为大家围绕组织起来的显而易见的中心,也成为显而易见的俘获目标。其他人只能以更差的条件做贡献,于是愿意贡献的人越来越少,项目就越来越依赖那个享有特权的群体。这就是中心化的引力井,项目很少能从中爬出来。

中立的协议平等对待每一个参与者。Ethereum Classic 上的挖矿就展示了这一点。协议不知道矿工是谁。任何拥有硬件和电力的人都可以出块,区块奖励归出块者所有,没有任何一部分被划给基金会或国库。矿工之间竞争激烈,但从协议的角度看,场地是平的。

我们的宣言第一句话就说,一个给予特权的协议会失去存在的理由。协议给予谁特权,谁就可能被施压去阻止这条链,而中立让任何人都不处于这个位置。

固化

在两次硬分叉之间,社会层无法触碰这条链。硬分叉是社会层伸手下去、直接改变第 1 层的时刻,这会让这条链暴露在社会层当时所承受的任何压力之下,所以每一次分叉都是一个被俘获的窗口。一条链分叉得越频繁,打开的窗口就越多,这就是为什么分叉的门槛必须足够高,除非不得不打开,否则不打开任何窗口。协议的目标是固化,随着时间推移改变得越来越少,直到剩下的分叉只是为了让技术继续运转。

《Ethereum Classic 独立宣言》在 2016 年就划定了这条界线,只允许「为更新或升级 Ethereum Classic 赖以运行的技术」而进行「分叉和/或对底层协议的更改」。它是针对 The DAO 分叉而写的,而那次分叉背后没有任何技术理由。一次非技术性的「升级」打开了一个俘获窗口,却拿不出任何工程上的好处,而且每通过一次,下一次就更容易被说成合理。工作量证明是固化所保护的对象中最清楚的例子,它是一条任何人无需许可即可参与的共识规则,保持稳定,而不是在每次分叉时被重新拿出来讨论。

创始文件

上面概述的推理没有一条是新的。早期的 ETC 贡献者在 DAO 分叉后几周内就把这些想法写了下来。2016-07-11 的 A Crypto-Decentralist Manifesto(《加密去中心化主义者宣言》)认为,开放、中立和不可篡改让一条区块链值得拥有,而这三者都依赖于去中心化。它为更改规则设定了门槛。

管理区块链网络的规则是事先已知的。它们对每个人都完全相同,除非达成 100% 的共识,否则不得更改。

2016-08-13 的 The Ethereum Classic Declaration of Independence(《Ethereum Classic 独立宣言》)确定了这条链的目的,以及应当如何对待它的原则。

Ethereum Classic 的目的是提供一个去中心化平台,运行去中心化应用,这些应用完全按照编写的方式执行,不存在任何停机、审查、欺诈或第三方干预的可能

我们希望这些原则不会被任何自称拥有权力、权威或公信力的个人或派系以命令的方式更改。

这就是整条推理链,十年前由让这条链活下来的人写下。

在第 1,920,000 个区块,以太坊的其余部分采纳了一次硬分叉,把 The DAO 及其子 DAO 中持有的以太币,包括攻击者的那部分,转入了一个退款合约。

留在原链上的人之所以留下,是因为可以为救助某一个群体而改一次的规则,也可以再为任何有足够影响力的人而改。从那以后的每一个区块都证明,这些原则无法被社会层撼动,即使社会层的大多数人希望撼动它们。创始文件记录了这背后的原因,这让它们不同于一家公司可以随意修改的使命宣言。

这就是为什么某些提案与这条链格格不入。

非常规状态更改,也就是在合约部署时所遵循的规则之外转移资金或改写合约状态的硬分叉,正是 Ethereum Classic 分裂出来所要拒绝的行为。一个做出这种更改的 ETC 版本,就做出了以太坊在 2016 年做出的选择,变成它当初离开的那条链的又一个副本。

把每个区块的一部分分给某一方,违反了《宣言》中规则「对每个人都完全相同」的要求。它也无视了《独立宣言》,后者早已确定了开发资金的来源方式,即由任何愿意出资的人,按项目逐一资助。

以命令更改原则,等于索取《独立宣言》拒绝给予「任何自称拥有权力、权威或公信力的个人或派系」的那唯一一项权力。谁握有这项权力,谁就统治这条链,原则就变成那一方说的样子。这正是以太坊主网所发生的事,也正是 Ethereum Classic 存在所要反对的事。

这些提案之所以能在 Ethereum Classic 上被提出,只是因为这些原则坚持得足够久,让这条链活了下来,而每一个提案都要求这条链放弃这些原则。每一个与创始文件相矛盾的提案都在挫败它自己的目的,这使它成为一种述行矛盾。如果你想要不同的原则,你可以自由地分叉,到别处去建设。但你不能改写这条链存在的理由,却还保留它的名字。

对 Classix 意味着什么

Classix 是一个今年成立的小团队,在 ETC Cooperative 逐步结束运营之际,为 Ethereum Classic 维护客户端、运行公共基础设施并资助开发。一个组织本身就是上面各步所警告的那种瓶颈,所以我们承担任何事情的检验标准,是它会不会让 Ethereum Classic 依赖我们。

Classix 与 Ethereum Classic 拥有同一块哲学基岩,它决定了我们的工作方式。我们运行的一切都会公开,任何人都可以运行,我们的资金来自自愿资助,从不来自协议的分成,我们公开自己的推理和证据,让任何人都不必信任我们,我们更倾向于保护现有规则的安全,而不是增加新规则,尤其是当它们并非严格意义上的技术升级时。Classix 明确不具官方身份,我们也不代表这条链发言。

我们希望有其他团队在平等的基础上与我们公开竞争,构建客户端、运行基础设施、资助开发,因为一条只有一个团队的链就只有一个俘获点,无论这个团队是谁。对我们来说,成功意味着 Classix 随着时间推移变得越来越不重要,这条链在度过这个阶段后,拥有更多独立的运营者,更多能够构建和审查客户端的人,更多任何人都能搭建的基础设施,并且没有新的特权方。