观点 | Vitalik:区块链治理的注意事项
我在本文阐述了几个观点:“紧耦合型”链上投票被高估了,比特币、比特币现金、以太坊、Zcash 和类似系统所实行的“非正式治理”的现状比通常人们所认为的要好得多;许多人认为区块链的目的是彻底消除细腻的人类直觉和感觉以便彻底实行算法治理(重点在“彻底”上),他们绝对是疯了;Carbonvotes 及类似系统实行的“松耦合型”投票被低估了。此外,我还描述了将区块链治理置于首位之时应该采用什么样的框架。
另请参阅:https://medium.com/@Vlad_Zamfir/against-on-chain-governance-a4ceacd040ca(译者注:中译本见文末《观点 | Vlad:反对链上治理》)
在区块链治理方面,最近比较有趣的一个趋势是链上代币持有者投票制再度作为多目标决策机制兴起。代币持有者的投票有时会用来决定运行网络的超级节点(如 EOS、NEO、Lisk 等系统中的委任权益证明(DPOS)机制)由谁操作,有时用来对协议参数(如以太坊的 Gas 上限)进行表决,有时用来进行表决或直接实行批量协议升级(如 Tezos)。在上述所有情况下,投票都是自动进行的——协议本身包含了更改验证程序集或更新其自身规则所需的一切逻辑,而且是根据投票结果自动进行的。
明确的链上治理通常被认为具有以下几大主要优势。首先,与比特币所倡导的高度保守的理念不同,它可以迅速发展并接受必要的技术改进。其次,通过建立一个 明确的 去中心化框架,可以避免 非正式 治理上的已知缺陷,人们觉得非正式治理太不稳定,又容易出现链分裂,或是变得在事实上过于中心化——后者与1972年那篇著名的文章《无结构的暴政》中论证的一样。
引自Tezos文档:
虽然所有区块链都会通过提供经济激励来维护账目的一致性,但是没有区块链具备强健的链上机制,能够无缝修改协议规则并奖励协议开发。因此,第一代区块链事实上给予了中心化的核心开发团队或矿工制定设计选择的权力。
以及:
没错,但是你为什么想降低 [少数链分裂 ] 的难度?分裂会破坏网络效应。
用于选择验证者的链上治理还有一个好处是允许网络对验证者提出高计算性能的要求,同时又不会引入经济中心化风险和公共区块链中的其他缺陷(例如验证者困境)。
总而言之,链上治理目前看来似乎非常实惠……那么它的问题出在哪里呢?
何为区块链治理?
首先,我们需要更清楚地描述“区块链治理”这一过程 是 什么。一般而言,有两种非正式的治理模式,我分别称之为治理的“决策”观和治理的“协调”观。决策函数观将治理视为一个函数 f(x1,x2 ... xn) -> y
,其中输入的是各合法利益相关者(参议员、总统、财产所有人、股东、选民等)的愿望,输出的是决策。
- Inputs:输入 | Decision function:决策函数 | Output:输出 -
决策函数观通常可以用作一种近似值,但是它显然很容易走向失效并失败:人们时常可以违反规定,并且侥幸免受惩罚,有时规则本身是模棱两可的,有时会引发……——至少在某些时候,这三种可能性是 好事 。而且在通常情况下,即使是系统内的行为也是由系统外行事的 可能性 产生的激励所造就的,这至少在某些时候又是一件好事。
相比之下,治理的协调模式将治理视为以多层的形式存在的。在现实世界中,底层是物理定律本身(换作一位地缘政治实在论者可能会说是枪和炸弹),在区块链领域中,我们可以进一步抽象化,将其视作每个人具备的一种能力,能够以用户、矿工、利益相关者、验证者或其它任何经区块链协议许可的代理人身份运行任何自己想运行的软件。底层往往是最终决定层;例如,如果所有比特币用户某天开始觉醒,决定编辑其客户端源代码,并使用跟进特定 ERC20 代币合约余额的以太坊客户端来替换整个代码,那么这就表示该 ERC20 代币 就是 比特币。虽然底层的最终治理权力是无法阻挡的,但是人们在这一层所采取的行动可能会受其上层的影响。
第二层(也是至关重要的一层)是协调机制。协调机制旨在围绕个人应如何以及何时采取行动创建焦点,以便更好地协调行为。在区块链治理和现实生活中都存在很多情况,如果你只是按一定方式行事,那么你很可能会一事无成(或者更糟),但是如果每个人都一起行动,就可以实现预期结果。
在这些情况下,你与其他人利益相关。当其他人都在行动之时,你也要行动;当其他人都停止之时,你也要停下来。你可以将协调机制想象成是在天空中挂起的绿旗或红旗,用来指挥“行”或“停”,这就形成了一种文化,即所有人都会关注这些旗帜,而且(通常会)听从指挥。为什么人们会有动力跟随这些旗帜行事?因为 其他人 已经对旗帜惟命是从了,你也会有动力跟大家做一样的事情。
上图是一位拜占庭将军在号令部队前进。此举的目的不仅仅是为了调动起士兵的勇气和士气,也是为了安抚他们,让他们在同样的集体氛围中勇于冲锋陷阵,因此士兵个人不会因为孤军奋战而绝望自杀。
强烈声明: 协调旗帜的概念涵盖了我们所说的“治理”的全部内容;在协调博弈(或者更普遍的说法,多重均衡博弈)不存在的情况下,治理的概念是毫无意义的。
在现实世界中,军事命令具备旗帜的通用功能,而在区块链世界中,关于这类旗帜最简单的一个例子是告诉人们是否“正在进行” 硬分叉的机制。协调机制可以是非常正式的,也可以是非正式的,经常会给出模棱两可的意见。在理想情况下,旗帜总是非红即绿。然而有时候,旗帜可能是黄色的,甚至是全息的,即对于某些参与者来说是绿色的,对其他人来说是黄色或红色的。有时也会存在多种旗帜互相冲突的情况。
因此治理的关键问题变成了:
第一层应该是什么?换言之,初始协议本身应该建立起什么样的功能?这会如何影响改变公式化(即类似决策函数的)协议的能力,以及不同类型的代理人以不同方式行事的权力水平?
第二层应该是什么?换言之,应该鼓励人们关心哪些协调机制?
代币投票的作用
以太坊也有代币投票的历史,包括:
对DAO提案的投票: https://daostats.github.io/proposals.html
DAO Carbonvote:http://v1.carbonvote.com/
EIP 186/649/669 Carbonvote:http://carbonvote.com/
上述三例讲的都是 松耦合型 代币投票,或是作为第二层协调机制的代币投票。以太坊确实没有任何 紧耦合型 代币投票(即作为第一层协议内特征的代币投票)的例子,不过以太坊 确实 有一则紧耦合型 矿工 投票的例子:矿工对 Gas 上限进行投票的权利。显然,紧耦合型投票和松耦合型投票在治理机制领域内是竞争关系,因此值得剖析的一点是:它们各自的优缺点是什么?
假定交易成本为零,又是作为唯一的治理机制的话,二者显然是等效的。如果一场松耦合投票下来要求做出某个改变,就等于扬起了“绿色旗帜”,鼓励每个人下载更新;如果少数人想要反抗,他们要做的仅仅是不下载更新;如果换作是紧耦合型投票要求做出这个改变的话,改变就会自动进行,如果少数人想要反抗,他们可能会安装一个硬分叉更新来取消这一改变。然而,制作一个硬分叉显然需要一定的交易成本,这就导致了一些重要的差异。
其中一个非常简单又重要的差异是,紧耦合型投票会默认支持区块链采取多数人的意见,这就要求少数人花费很多努力去调整一个硬分叉,从而保持区块链的现有属性,而松耦合型投票仅是作为一个协调工具,仍然要求用户实际下载并运行会执行任何给定分叉的软件。不过,这二者之间还有很多其他差异。现在,让我们通过一些 反对 投票的论点,并剖析每个论点是如何应用于第一层投票和第二层投票的。
投票者参与度较低
迄今为止,令代币投票机制饱受诟病的一点是,无论这些机制在何处尝试,其投票者参与度会往往很低。DAO Carbonvote 的投票者参与率只有4.5%:
另外,财富分配非常不平等,这两个因素共同产生的结果如下图所示,该图由一名DAO分叉的批评者绘制:
EIP 186 Carbonvote 大约有 270 万份以太币投票。DAO 提议的投票也不比前者更好,其参与率从未达到 10%。在以太坊领域之外,情况也不容乐观;即使是在其核心社区契约正是围绕投票进行设计的比特股中,支持率最高的候选代表也不过只得到了 17% 的票数,在 Lisk 系统中则高达 30%,不过我们稍后会讨论这些系统本身的其他问题。
投票者参与度低意味着两点。首先,投票要取得合法性认可比较困难,因为它只反映了少部分人的意见。其次,仅持有一小部分代币的攻击者就能够左右投票。无论是紧耦合型还是松耦合型投票都存在这些问题。
博弈论攻击
除了媒体关注度高的“重大攻击”之外,DAO 还存在一些小得多的博弈论漏洞;HackingDistributed 上的一篇文章对此做了很好的总结。然而,这只是冰山一角。即使所有细枝末节都正确地执行了,投票机制通常也存在一个很大的缺陷:在任何投票中,任意特定投票者影响投票结果的可能性都很小,因此每个投票者必须正确投票的个人动机也微不足道。而且,如果每个人的利益相关性都很小,他们正确投票的动机也就 更加 微不足道。因此,在参与者之中散布相对较少的贿赂或许就足以影响他们的决定,很可能是让他们做出在集体决策的情况下不会同意的决定。
现在你可能会说,人们并非谋求利益最大化的邪恶自私之徒,他们不会只因为上述计算结果表明他们的个人影响力很小就接受 0.5 美元的贿赂,并投票赞成向 Josh arza 提供 2000 万美元;相反,他们会无私地拒绝为恶。下文对这一批评做出了两则回应。
第一点,要行看似合理的“贿赂”不乏其道;例如,交易所可以为存款提供利率(或者说得再含糊一点,交易所自己出资打造良好的界面和功能),交易所运营商可以随心所欲地使用大量存款进行投票。交易所从一片乱象之中牟利,因此其动机显然与用户 和 代币持有人相差很大。
第二点,也更令人沮丧的一点是,在实践中看来,人们(至少从加密代币持有者的身份来看)是利润最大化者,而且貌似不认为收受一两个贿赂是邪恶自私之举。由“图A”所示,我们可以研究一下 Lisk 的情况,其候选代表池似乎已经被两大主要团体成功控制,它们明确地贿赂了代币持有者为其投票,并要求池里的每位成员为其他人投票。
这是 LiskElite 内 55 位会员(共 101 位)的投票:
对图中内容的翻译
会员规则:
除中国代表以外的每位 Elite 会员每周必须将他/她生产的 LISK 的 25% 分享给他/她的投票者;
除中国代表以外的每位 Elite 会员必须将其成产的 LISK 的 5% 捐给 Elite Lisk 基金,用作支持 Lisk 生态系统之途;
每位 Elite 会员必须给其他会员投票;
Elite 的会员注册系统现已关闭,目前暂不接受新会员。
投票者规则:
1. 你必须为所有 Elite Group 的会员投票才能获得奖励;
2. Elite每周会发放一次奖励,并自动进入投票者的账户。
Elite Group保留所有权力。
这是 LiskGDT 内 33 位成员的投票:
对图中内容的翻译:
资金池
10%用作 GDT Lisk 发展之途,90% 作为奖励返还给投票者
GDT 成员
不在支付名单之列,并返还其奖励,用作银级及以上等级的 GDT 奖励
由“图表B”可见,Ark 中的一些投票者因贿赂受益:
此处,要注意紧耦合型和松耦合型投票之间还有一个关键性区别。在松耦合型投票中,直接或间接的投票贿赂都有可能发生,不过如果社区一致认为某个特定提议或某组投票构成博弈论攻击,他们可以通过社交方式同意忽略它。事实上,这种情况已经发生过了—— Carbonvote 有一个对应已知交易所地址的地址黑名单,来自这些地址的投票一律作废。在紧耦合型投票中,无法在协议层面创建这样的黑名单,因为同意将谁列入黑名单 本身 就是一种区块链治理决策。然而,因为黑名单是由社区创建的投票工具的一部分,只会间接影响协议的变化,包含不良黑名单的投票工具可能会遭社区拒绝。
值得注意的是,这部分并非是在预测所有紧耦合型投票系统很快都会屈服于贿赂攻击。许多(紧耦合型)系统完全有可能可以幸存下来,其背后有一个很简单的原因:所有这些项目都有进行过大型预挖矿的创始人或基金会,他们都充当重要的中心化角色,立志于使其平台的成功不易受贿赂影响,并拥有足够多的代币能够抵御大部分贿赂攻击。不过,虽然在项目早期的时候,这种中心化信任模式在某些环境中可能有用,但它从长远来看是不可持续的。
非代表性
反对投票的一个重要原因是代币持有者只是一类用户,而且其利益可能与其他用户类型相冲突。在像比特币这样的纯加密货币案例中,价值存储用途(“持有(hodling)”)和交换媒介用途(“购买咖啡”)就本质上来说冲突的,因为价值存储比交换媒介用例更加重视安全性,而后者则更强调可用性。对于以太坊,该冲突则更糟糕,因为许多人使用以太坊的原因与以太币完全无关(参见:以太猫),甚至与一般而言承载价值的数字资产无关(参见:以太坊域名服务)。
此外,即使代币持有者 是 唯一相关的一类用户(可以想象成一个有成型社会契约,且其目的仅仅是成为下一代数字黄金的加密货币),我们还是要面对这个挑战:富有的代币持有者会比普通的持有者具有更大的发声权,为持有代币集中化大开方便之门,通往无阻碍的决策集中化。或者,换言之...
如果你想了解一个同时集这些缺点于一身的项目,请参阅:https://btcgeek.com/bitshares-trying-memorycoin-year-ago-disastrous-ends/。
该弊病对于紧耦合型和松耦合型投票来说是一样的;不过,松耦合型投票更适合达成折中方案,由此减轻了上述问题,我们将于后文讨论这一点。
中心化
让我们来看看我们目前在以太坊进行的紧耦合型投票现场实验—— Gas 上限。以下是过去两年来 Gas 上限的演变:
你可能会注意到这条曲线的总体感觉有点像另一张你可能很熟悉的图表:
从根本上来说,它们看起来都像是具有魔力的数字,由一个相当中心化的团队坐在一个房间里创造并不断调试出来的。图一中(Gas 上限投票)发生了什么?矿工大体都会遵循社区喜欢的方向,也就是通过类似于推动硬分叉的社会共识的帮助下进行的(核心开发者支持、Reddit 点赞等等;而在以太坊,Gas 上限从来没有像代币投票一样引起如此严重的争议)。
因此,如果投票者不具备技术知识,只能服从某个专家组的支配,那么投票实际上是否能提供真正的去中心化结果就不得而知了。这又是一个同时存在于紧耦合型和松耦合型投票的弊病。
更新:自从撰写这篇文章以来,以太坊矿工似乎已经设法将 Gas 上限从 670 万提高到了800万,他们甚至都没有与核心开发者或以太坊基金会讨论过。因此我们还是有希望的;不过需要要想达到这一步,需要在社区建设和其他非技术工作方面攻坚克难。
数字化章程
有人建议采用“数字化章程”来降低失控的不良治理算法的风险。数字化章程通过数学方法指明了协议应该具备的期望属性,并要求任何新的代码变化都带有可由计算机验证的证明,以示它们满足这些属性。乍看之下,这似乎是一个好主意,但我认为我们也应该审慎对待。
总的来说,制定协议属性的规范并使这些规范服务于某个协调旗帜的函数是一个非常好的想法。对于一个协议中我们认为既重要又有价值的核心属性来说,这使我们能够将其铭记,使其更难改变。然而,这种做法恰恰应该在松耦合(即第二层)模式中实行,而非紧耦合(即第一层)模式。
从根本上来说,任何有意义的规范实际上都很难完整表达出来;这是价值复杂性问题的一部分。即便是像 2100 万代币总量限制那样看似明确的东西也是如此。当然,我们可以添加一行代码,声明 total_supply(总供给量)<= 21000000
,并在一旁附上评论说:“无论如何都不能删除”,不过在这件事上还有许多迂回之法。例如,我们可以设想有一个增加强制性交易费用的软分叉,自上次将代币发出之后,强制性交易费用与 代币的价值×时间值 成正比,这相当于滞期费,也就相当于通货紧缩。人们还可以创造另一种叫作 Bjtcoin 的货币,拥有 2100 万个新单位,并且增加了一个特征——如果有人发起了一个比特币交易,矿工可以拦截该交易并强占其比特币,转而将等量 bjtcoin 发送给接收方;这很快就会迫使比特币和 bjtcoins 成为彼此的替代物,不用添加代码就能将“总供给量”增加到 4200 万。不干涉应用程序状态之类的“软性”规范执行起来更难。
我们 希望 如果有协议变更违反了某条保证条例,即使经投票通过也应被视为不合法的——应该有一个挥动红色旗帜的协调机制。我们也希望如果有协议变更虽然遵循了规范的字面义,但公然违背其精神,仍应被视为不合法的。存在于第二层(即在社区成员的观念中,而非协议的代码中)的规范最能达成这一目标。
趋向平衡
然而,我也不愿反过来说代币投票或其他显式的链上投票方案在治理方面没有立足之地。主要的替代方案似乎是核心开发者共识,不过我认为一个由“象牙塔内知识分子” 控制的系统的失败模式也是一个不容小觑的真正威胁。这些“知识分子”更注重抽象的概念和解决方案,他们对技术进步的兴趣远比对改进用户体验和交易费等日常现实问题的兴趣要高得多。
那么我们该如何解决这一难题呢?首先,我们在传统政治的语境中会注意到 slatestarcodex 中的几段话:
低级错误是:你发现某个系统有些 Moloch 化 [即屈服于偏离正道的特殊利益 ],于是你说:“好吧,我们会把它置于另一个系统的控制之下,从而解决这个问题。我们还会写上 ‘不要 MOLOCH 化 ’的鲜红色标记,以此控制该系统。
( “我看到资本主义有时会偏离正道。让我们把它置于政府的控制之下,从而解决这一问题。我们只会让正直之人担任要职,以此来控制政府 ”。)
我不会宣称有一个很好的替代之法,但是新自由主义能够提供在某些情况下合适的替代之法——找到几个良好的系统,根据大致符合人类福祉的不同标准对它们进行优化,让它们在形成制衡的结构中相互竞争,期望它们在不同的地方出问题,就像是瑞士奶酪那样,赋予人们一定的选择自由,好让他们随时脱离任何糟糕的系统,然后把剩下的一切都交给文化演进。
在区块链治理中,这似乎是唯一一条出路。我所倡导的区块链治理方法是“多因素共识”,对不同的协调旗帜、机构和团体进行投票,其最终决定取决于所有这些机制共同得出的结果。这些协调旗帜可能包括:
路线图(即项目历史上发布的一系列有关项目发展方向的早期思路)
占主要地位的核心开发团队之间达成的共识
代币持有者投票
通过某种防女巫攻击的投票系统进行的用户投票
既定规范(例如,无应用干涉、2100 万代币限制)
我认为让代币投票成为决定是否实行某个变革的协调机制之一是非常有用的。虽然这是一个有缺陷又不具代表性的信号,但是它能够抵御女巫攻击——如果你看到有 1000 万枚以太币投给某个提议,你不能只是轻描淡写地说一句:“哦,这不过是买了拥有虚假社交媒体帐户的俄罗斯水军。” 这也是一个与核心开发团队完全脱节的信号,如果有需要的话,它可以作为一个。但是,如上文所述,有充足的理由可以解释代币投票为何不应该成为唯一的协调机制。
支撑这一切的是其与传统系统的关键区别,这也是区块链的有趣之处:支撑整个系统的“第一层”要求每个用户同意一切协议变更、以及他们的自由和可信的威胁,并在有人试图将他们认为恶意的改变强加给他们之时创建分叉(另见:http://vitalik.ca/general/2017/05/08/coordination_problems.html)。
在一些有限的情况之下,紧耦合型投票也是可行的——例如,尽管存在缺陷,但是矿工能够对 Gas 上限进行投票表决,这一特征已经在多个场合被证明非常有利。比起由协议在第一天进行硬编码的任意特定 Gas 上限或区块大小限制出现严重问题的风险,矿工试图滥用权力的风险可能更低。在这种情况下,允许矿工对 Gas 上限进行投票是一件好事。然而,“允许矿工或验证者对时刻需要改变的几个特定参数进行投票”与赋予他们对协议规则的任意控制权,或是允许投票控制验证权大为不同。而且,从理论和实践上来看,这些关于链上治理的广阔愿景有着更加朦胧的潜力。
原文链接: https://vitalik.ca/general/2017/12/17/voting.html
作者: Vitalik Buterin
翻译&校对: 闵敏 & Elisa
翻译: 闵敏
…
你可能还会喜欢:
观点 | Vlad:反对链上治理
观点 | 区块链治理:用编程迎接未来
观点 | Not DAPP, but DIP