根本上,它们看起来都像是神奇的数字,这些数字是由一群相当中心化的群体坐在房间里创造并反复谈判出来的。第一张图背后的情况是矿工们通常会遵循社区所青睐的方向,而社区通过社会共识来帮助他们实现这一目标,就像那些推动硬分叉的社会共识。(核心开发者支持,Reddit上的赞同;在以太坊上,燃料上限还没有引发很大的争议性需要通过要求持币投票)
因此,我们并不清楚如果投票者不具备技术知识,并且仅仅遵从一个占支配地位的专家团,是否会造成中心化的结果。。这种批评对紧密耦合和松散耦合的投票都适用。
更新:自写这篇文章以来,似乎以太坊的矿工们设法将燃料上限从670万提高到800万,而这甚至没有与核心开发人员或以太坊基金会讨论过。所以(紧密耦合)还是希望的;但这需要大量辛苦的社区建设和其他艰苦的非技术工作才能达到这一点。
数字宪法
一种被认为可以减轻治理算法失控风险的方法是“数字宪法”,它以数学方式指定了协议应具有的所需属性,并且要求任何新的代码更改都附带计算机可验证的证明,证明它们满足这些属性。起初这似乎是一个好主意,但我认为这也值得怀疑。
一般而言,对于协议属性形成一个规范并且服务于一个协同旗帜的想法是非常好的。这使我们能够将我们认为非常重要和有价值的协议的核心属性体现出来,并使其更难以改变。然而,这正是应该在松散耦合(即第二层)中强制执行的事情,而不是紧密耦合(第一层)形式。
基本上任何有意义的规范实际上都很难完整表达;这是价值复杂性问题的一部分。即使对于似乎白纸黑字的2100万的币上限情况也是如此。当然,人们可以添加一行代码,assert total_supply <= 21000000,并且标注“任何情况下都不要删除这一行”,但有很多迂回的做法可以做同样的事情。例如,可以设想一个软分叉,它增加了一个强制交易费用,这与币上次发送以来的币价值*时间成正比,这相当于滞纳金,即和通货紧缩一样。
人们还可以实现另一种货币,称为比伯币(Bjtcoin),有2100万个新单位,并增加一项功能,如果发送比特币交易,矿工可以拦截并索取比特币,而不是给予收款人比伯币(Bjtcoin);这会迫使比特币和比伯币(Bjtcoin)双向可兑换,将“总供应量”增加到4200万,而不会影响到这代码。更“软性的”规范比如不干预应用程序的状态则更难以执行。
我们希望达成的是,所有违反这些保证的协议变化都应被视为不合法 - 即使获得投票批准,也应该有一个协调机构挥动红旗。我们也希望,如果一个协议变化遵循了字面上的规范但是公然违反了规范的精神,协议变更仍然应该被视为非法。让规范存乎于第二层,即让规范存在于社区人的头脑中而不是在协议的代码中 ,最能实现这一目标。
走向平衡
然而,我也不愿意从另一个角度妄断持币投票或其他明确链上投票方案在治理方面没有任何席位。较好的一个替代方案似乎是核心开发人员的共识,然而如果一个失败的系统模式受到“象牙塔知识分子”的控制,他们更关心抽象哲学,其解决方案只追求技术上的好看而不关注日常的真实问题,如用户体验和交易费用,这在我看来是也是一个严肃的真正威胁。
那么我们该如何解决这个难题呢?首先,我们汲取 SlateStarCodex 在讨论传统政治说的话:
一个入门级的错误是:你看到一些系统的一部分是Moloch(即被失调的特殊利益所控制),所以你说“好吧,我们用系统的另一部分来控制这一问题。。,并且控制的方式是用红笔注明“不要成为Moloch”“
(“我看到资本主义有时会失调,我们通过把它置于政府的控制之下来解决它,我们将控制政府,只让德高望重的人成为首脑。”)
我不会声称存在很好的替代选择,但有时候适当的选择是新自由主义的 - 找到几个精妙的系统,它们都根据不同的标准进行了优化,这些标准与人类的幸福大致一致,在结构中彼此制衡,希望他们如瑞士奶酪模型一样,在不同的地方出现问题,保留足够的个人自由选择,让人们可以退出任何太可怕的系统,并让文化进化完成剩下的任务。
在区块链治理中,似乎这是唯一的出路。我所倡导的区块链治理方法是“多因素共识”,人们对不同的协调旗帜和不同的机制和群体进行投票,最终的决定取决于所有这些机制的共同结果。这些协调旗帜可能包括:
● 路线图(即项目历史上关于项目进展的前期传播的一系列想法)
● 占主导地位的核心开发团队之间的共识
● 持币人投票
● 用户通过某种类型的防女巫攻击(sybil-resistant)投票系统
● 建立规范(例如,不干涉应用,2100万的币上限)
我认为,持币投票作为决定是否实施某个变更的几个协调机构之一是非常有用的。这是一个不完美和不具代表性的信号,但它是一个防女巫攻击的信号 - 如果你看到一千万ETH投票给出了一个特定的提案,你不能通过简单地说“哦,这只是被雇用的假冒社交媒体帐户的俄罗斯水军” 。
这也是一个与核心开发团队充分分离并可以用以检查分离程度(如果需要)的信号。
但是,正如我上述的一些很好的理由,它不应该成为唯一的协调机构。
支撑这一切的是让区块链变得有趣,且与传统系统的关键区别:架起整个系统的“第一层”是任何协议变更都需要个体用户的同意。如果有人试图以恶意改变强迫他们,个体用户拥有自由和可信威胁以“分叉”应对。(另见:http://vitalik.ca/general/2017/05/08/coordination_problems.html)。
在一些有限的情况下,紧密耦合投票也是凑合的 - 例如,尽管存在缺陷,矿工对燃料上限进行投票的能力是一个在多种场合已被证明非常有益的特征。
与在第一天就强制规定的任何特定燃料上限或区块大小限制最终导致严重问题的风险相比,矿工尝试滥用权力的风险可能会小很多。在这种情况下,让矿工对燃料上限投票是一件好事。
但是,“允许矿工或验证者对需要不时快速改变的几个特定参数进行投票”与授予他们对协议规则的任意控制权,或者允许投票控制验证以及这些更广阔的愿景相去甚远,而这些链上治理在理论上和实践上都更加费解。