Zsolt Felföldi 是一名以太坊开发者,致力于以太坊协议的Go实施,有时也叫Geth.
本文中, Felföldi 讨论了一种竞争性区块链项目的出现,即Ethereum Classic,以及为什么他认为这个项目的区块链操作对社会共识的影响使其应该继续下去。
区块链不仅仅只是一大堆矿工和用户创建的数据。
它也不仅仅是描述有效状态转换的规范以及一个描述初始状态的创世区块。真正让区块链具有价值的是其人类共识,一种广泛持有的信念:根据一定的规则创建机器共识是有用的。
除了一个完全指定的创世区块,与区块链同时诞生的还有很多与其相连的主意想法。每个用户都可以有自己的想法,为什么这个链是有价值的以及有多少价值。
不幸的是,一个人的假设可能会被错误的视为普遍共识。这些错误的假设直到事件发生才会被发现,如在应该做什么上出现分歧,以及一个分叉链是否能够币原始链更加有价值。
在这一点上,讨论核心价值观和达成共识已经太晚了,已经造成损害。从前利益一致的地方,如今已经变成冲突。每个人都有偏见,同样,每个人都可以假设别人也有偏见。我们曾经相信“社会合约”的存在,但突然意识到不存在了(或者至少一些人按照我们的理解打破了合约,而我们按照他们的理解正在打破合约)。
当然,只有一条链的团结的社区会更好,但是我们无法做到,因为我们有不同的核心价值观。即使是在以太坊基金会(Ethereum Foundation)内部,核心价值观也不尽相同。在创世区块诞生之时,没有一个明确的“区块链的社会合约”是个巨大的错误。
顺便说一下,我也有一个错误的假设,说实话当我发现以太坊基金会内部的一些人事实上支持硬分叉干预的想法时,我感到非常震惊。
我曾经认为我们都认为没有比执行EVM更‘正义’的结果,“被盗”的钱是“小偷”的合法财产,应该为创建一个可以保护他或她的财产的系统感到自豪,即使会导致众怒。我绝对不是Go开发团队中唯一这么认为的。
结果证明我们错了,人们认为正义感要比代码的不可更改性更加重要。这一现实令我感到一丝伤感,但是无论如何,给钱来开发有史以来最酷的软件技术仍旧是一件梦寐以求的事,即使(至少现在)大多数并不这么认为。我不会称这些人是笨蛋。我不认为他们很拽。我同样也不会因为他们是大多数而认为他们就是正确的。
事实不是这样来的。我打算睁大眼睛,密切关注事件的发展,尽可能地从目前事件中学到更多的东西。
到目前为止,我所意识到的是:一个没有明确社会合约的区块链早晚将会面临严重问题。有趣的是,如今,这条旧的‘classic’链具有更好的合约。这个合约未被改变过,但是把他的大部分价值分解到一个新链中改变了他隐含的合约。
我们可以假设,无论是谁发现这条旧链是有价值的,都会认为无意识的智能合约行为没有理由进行分叉。这条旧链永远不会因为类似的事件而面临另一场危机。另一方面,新链的以太币持有者可能还是不能一致认为这次硬分叉是所有类似事件的一个先例,还是这次分叉只是一次性灾难修复,绝不会再进行硬分叉。
我不是说分叉的链是注定的。我所说的是,面对这种事件,仍旧缺乏一种战略。
直到下一个重大的意外事件发生,我们可能仍然有时间找出并达成一种共识,在这种情况下,应该做什么。这样,他们就可以决定这条他们托付资金的链能够发生什么和不能发生什么。在任何情况下,我敦促每个人冷静下来,而不是敌对其他阵营的人,因为现在发生的事伤害到了以太坊项目和这两条链。
每一个人都有权利甚至道德义务遵循自己的一套价值观,以一种文明的方式处理这件事应该是很容易的。
旧链也许会幸存下来,也许不会。我想它还活下来的主要原因是,看着两条具有不同的隐含协议的相似链将会如何进化将是一个非常有趣并且重要的实验。
它甚至可能增加该项目的成功的整体机会(如果你把以太币分别放到两条链上,那么在下一次危机中就可能不至于会失去所有的资金)。
但是,让我们把话说明了,我们(以太坊开发者)从来没有放弃旧链。我们从来没有对这个链进行分叉。我在客户端上实施了一个开关,让用户来选择是否进行分叉。那条‘Ethereum Classic’链与那条被分叉的链一样都像我们的孩子,如果它们都幸存了下来(这取决于用户的选择,而不是我们),那么将来我会平等地对待它们。