区块链的治理结构包含了决策和沟通的过程,对区块链特别是公链生态具有隐形但长远的作用。上一世代的公链发轫于链下治理,新一代的公链对链上治理持更加开放的态度。我们认为链上和链下治理有各自的适用边界, Polkadot 等公链针对链上治理的模式做出了很多改进,长远来看链上治理符合区块链的开放内涵,是不应放弃探索的方向。
区块链治理的意义和作用
治理是一个组织决策过程的描述,包含责任人、参与者(投票者)选拔、决策流程、部署过程、执行过程等几个模块。区块链的治理是区块链参与者就改变区块链特性所做出的决策过程,尤其针对于共识和经济分配,可以说是“关于共识的共识”。
Vitalik 认为治理分成两部分:一部分是决策模块(decision),一部分是协调模块(coordination)。决策模块类似一个函数,所有的 stakeholder 把意见集中起来,通过决策模块,形成决议。
协调模块类似建立在决策模块上的一层,处于协调模块的行动者通过各种形式的交互影响决策模块,使其做出更偏向于自己的决策。
治理的作用在于使得区块链系统进入一个更加长久、有序的发展过程,如 Matt Corallo(Blockstream 的 co-founder)认为比特币最重要的治理意义在于使其保持去信任的状态。而也有人认为其目的在于使得 stakeholder 的经济利益最大化。这两点似乎可以调和,即一个去中心化系统的价值,在于可以提供一种去信任的环境,使得用户只需信任开源软件,就可以使该去中心化系统的价值最大化。所以治理的意义在规则层面,是一套完整有效的分布式参与系统,而反映在结果上,是使 stakeholder 甚至外界对系统产生信任,从而提升系统价值。治理的对象是去中心化系统,更具体地说,是去中心化系统的一套规则,使得所有 stakeholder 按照这一套规则去展开活动,包括共识、参数、激励、惩罚、数据结构、资源分配规则等。因此治理的意义大概是:对区块链系统一套规则的改变,使其有利于 stakeholder 更有效地开展经济活动,提升整个网络的价值。
与国家治理和公司治理不同,去中心化的区块链的治理,其参与者来自全球,而怎样从全球的参与者参与决策和协调的过程中抽象出一套合理治理过程,仍处于探索阶段。
从比特币诞生开始,所有的区块链都在摸索自己的治理模式,可分为链上治理和链下治理两种模式,以及两者的混合。链下模式就是基于互联网的模式,比如开发者在 bitcointalk 上讨论,比如在以太坊 GitHub 上提交 EIP,社区非常熟悉这种模式。但是区块链的特性在于所有的这些功能都可以搬到链上。于是链上治理和链下治理似乎都形成了可行的模式,且相互都有很多支持者、怀疑者和反对者。链上模式,是部分区块链自发的模式,也面临着很多挑战。
下面我们就简要回顾一下历史上一些著名公链的治理模式以及特点,以归纳出一个治理发展脉络,来看一下区块链治理在链上治理和链下治理之间的踟蹰如何造就了现在的局面。
区块链治理发展概述
比特币
作为第一个公链,比特币的治理模型相对简单,主要是链下治理推进,由核心开发者 Bitcoin core 进行协议的升级。从历史经验来看,比特币的链下治理是比较分裂的,核心开发者和矿工的利益并不完全一致,这也是 PoW 型币的缺点:矿工相当于资本家,但缺乏治理权,一旦矿工和开发者利益不一致,协调过程会非常复杂。记账权相对中心化,治理权也中心化,但两个中心并不一致,这就是比特币治理的现实。也在于两个中心关注点不一样,矿工关注经济利益,核心开发者则关注代码、技术和治权,但二者都依赖比特币系统的繁荣。
比特币的治理结构是上一个时代的产物,设计者也没有预料到比特币的生态会发展成如此规模。况且比特币的经济功能也开始偏离设计者的初衷,只做渐进式的优化对于大部分人来说问题也不大,因为大部分参与者并不去关心如何治理,反而对分裂对币价的影响更为关注。但需要注意的是,比特币的链下治理在大部分情况下是非常顺畅的,几个重要的 BIP 也是通过链下完成,如分层确定性钱包协议。
以太坊
以太坊的治理主要是围绕 EIP(以太坊改进计划)进行,如何提出,如何讨论,如何实现,以及合理包含核心开发者的意见。由于 Vitalik 和 Ethereum Foundation 的存在,链下治理相对集中,即便因为 DAO 事件的存在,以太坊社区在分叉以后仍然具有向心性。
Vitalik 和 Vlad 是反对链上治理的,Vlad 认为链上治理剥夺了全节点是否参与分叉节点的自由。Vitalik 的意见则是链上治理会最终变成持币大户控制的局面。但是持币大户其实更在意币价,反而是开发者在意治权。阿剑曾提出,开发者通过链下治理获得了声誉和影响力,这种收益(benefit)的流动性非常低,因此开发者更在意让系统繁荣,而不是短期投机者更在意经济利益。这种声誉和影响力则通过 EIP 的实现不断地扩充。
目前所谓的链上治理,也只是尽可能地把链下的部分功能搬到链上,链下的个人影响力其实是无法消除的,比如再如何链上治理,该区块链发起人的声音几乎不可能被忽视。投票者的任何信息都来源于链下以及核心开发管理团队,是一个中心-外围的扩散过程。
Dash-第一个链上治理PoW链
Dash 是最早的主打隐私保护特色的公链系统,其基本特征和比特币很相似,但有两点不同,一是增加了混币机制,可以匿名发送 Dash,另一个是增加了主节点 Masternode 设置,使得一个以 PoW(X11哈希算法)作为共识基础的网络,变成了双层网络,即一层以 PoW 为算力底层,而另一层以 Masternode 撑起治理决策层。
Dash 采用双层网络的原因在于,一是认为比特币的全节点非常重要,如帮助用户发送和同步信息,二是全节点的激励不够,导致全节点负担过大,从而会选择减少提供服务或变成轻节点,影响网络安全性。于是 Dash 的双层网络提出,Masternode 就类似比特币的全节点,但是会给予更多激励,45%的挖矿分配给主节点,45%分配给普通节点,10%分配给项目开发者支持基金。然后每个主节点可以对链上的治理提案进行一次投票,由于主节点全球分布,可以相对地去中心化。
效果如何呢?像 Robert Greenfield 提出的质疑:1)1000个 Dash 抵押成为主节点,需要约市价7.7万美元,一般个人难以承受;2)主节点的激励到位以后,运营者更在意收入的分配,以及币价,参与治理与否都并不影响收入,如果币价大幅上升,就更少关心;3)对于形成决议的提案,执行缺乏约束机制。4)大部分提案还是 Dash Core(即 Dash 的开发公司)提出,比较中心化。
的确,Dash 的做法是 PoW 链向链上治理迈出的一大步,但是机制设置还存在缺陷,特别是 Dash Core 的影响过大(当然这在各类区块链都存在),无论是表面的还是潜在的。所以 Dash 网络有局限性,其主网络节点数量最高也只达到5000多个,低于比特币的1万个左右,另外1000个 Dash 的抵押也限制了去中心治理的进程。节点数量并不能成为去中心化的标准,实际也可以看到,小节点几乎没有话语权,所以后期的区块链投票系统已经开始做了改变。
Tezos-第一个链上治理PoS链
Tezos 是 Arthur Breitman(AB)在2014年创立的区块链项目,旨在解决比特币系统中硬分叉、成本和中心化、治理包容性、智能合约缺失和 token 创造的问题。这些改进如同 AB 在立场书中所提到的,其他的所谓 altcoin 生态体系,多多少少也都有涉及。但是能区分 Tezos 和其他去中心化公链的最大区别,在于其在立场书中提出的“自修复”理念。
Tezos 对于硬分叉是持强烈反对态度的,对于区块链功能创新,其认为直接硬分叉将降低整个系统的价值。所以其提出的自修复理念,是一种不断地通过系统内的投票、反馈以达到更改系统共识、甚至治理规则的功能。AB 提出分叉链并不都会繁荣,必然有一条分叉链胜过另一条链,既然如此,不如将争端解决,即通过协调博弈促进 Tezos 的不断升级,以便在区块链整体技术成熟时,Tezos 可以更好地吸纳,而非分裂成多个阵营。自己探索自己的道路,这会极大地降低网络价值。
Tezos 的投票规则并不复杂,难点在于有一个极大的参与(投票)阈值,即80%。按照一套修复规则全流程三个月的时间长度,四个子“季度”分别进行提交-批准-达到 quorum 阈值(80%或者根据投票情况调整)-实现。然后将在第三“季度”进行测试。对于通过测试的提案,验证者(Tezos 称烘焙师 baker)将会对该提案进行投票,需要通过率和参与人数都超过80%两个强规定,若通过,就激活新协议;若不通过,则根据预先设定好的共识调整参与规则。
根据 AB,Tezos 还能使治理规则更加智能化,如通过对“shell”的改进,帮助其理解代币、余额、公钥等概念,加入更多表达用户利益的语义。另一方面是引入预言机,和链上治理结合起来(已经在2020年4月实现)。
单独谈 Tezos 的链上治理不过是一套简单构成的描述,但深入展开是反映其“自治理”的理念以及链上功能实现的一整套逻辑,其链上治理是实现理念的必要步骤。由于本文只谈治理,其他方面就不过多展开。这里要提到的是,我们看到链上治理是理念态度的反应,是手段而非目标。
Cosmos
Cosmos Hub 的治理需要通过链上进行。参与者需要 stake 至少512个 Atom,并成为验证者节点。普通用户没有成为验证者节点的能力,大部分 Atom 持有者可以委托给验证者节点进行投票。
Cosmos Hub 的治理过程也非常简单明了,如 Chorus 所给出的示意图,一共分成四个步骤:1. 抵押阶段 deposit;2. 投票阶段 voting;3. 清点投票阶段 tallying;4. 实施阶段 implement or reject。需要注意:1. 只有质押过得代币才可以参与投票;2. 质押数量决定投票结果 ;3. 委托人可以自己投票覆盖验证人的投票。
和 Tezos 相比,一个提案获得接受的门槛似乎并不高:1. 40%的 token 参与;2. 50%投票支持;3. 低于33.4%的票行使否决权。行使否决权门槛提升了委托人的权利,即更少的 token 数量可以表达更大的否决权。尤其是委托人可以覆盖掉那些不同意自己意见验证者的投票,增加了直接参与感和话语权。
对于验证者节点代表用户参与治理的情况,社区也有过更深一步的思考。Figment 的研究员 Gavin Birch 曾提出,验证者节点如果降低费率,或者以声望以吸引更多用户,很容易因为经济利益吸引大量大用户转移,利用了客户更关心代币的经济利益而放弃治理权利的特点。Cosmos 的研究员 Sunny Aggarwal 也同意,要将治理权分散给所有人,而不是只有验证者的做法,是非常可行的。验证者的节点更多保证安全,社区治理交给全社区,激励代币持有者进行投票,或许是更好的模式。但这仍只停留在讨论阶段。
Polkadot链上治理的探索
Polkadot的链上治理理念
Polkadot 的治理,我们认为是和整体设计理念结合的。如前面所提到,在早期的区块链系统如比特币或者以太坊中,社区普遍还是通过链下治理的形式去形成决议,这种模式在当时的情况下是很自然的,因为彼时的区块链的重心在于去中心化、点对点、智能合约系统功能的实现,以及更好的底层改进,所以通过多数开发者的决议,去快速实现某些功能是最重要的。
但是去中心化本身就是一种政治理念的表达,所以忽略治理的事件(影响)开始慢慢浮出水面,像2016年以太坊的 DAO 分叉,以及源自2016年“香港共识”的比特币分叉等。并不是说分叉不好,分叉本身就是一种治理自由的表现,但是分叉以后,社区、矿工、用户被分裂了,而且更中心化的力量被引入(如中心化交易所开始对经济价值开始施加影响力),拉低了整个网络的价值。
进入 PoS 时代,分叉会被当做一种恶意攻击,也就是无利害攻击(nothing at stake)。而且在非攻击的情况下,即便少数选择退群(进行分叉),在另一条分叉链上还是没有相应的表达权利(分叉的币还是少数)。所以这种无谓的损耗是非常有破坏性的。
因而波卡早期的设计理念,实际上包括了无分叉理念(never fork again),如波卡核心开发者 Jack Fransham 就提到:No upgrades, only forks. This has been the paradigm for as long as there have been blockchains.
区块链进化到现在,可以考虑从底层设计一个链上治理的机制了(之前的底层不成熟),这就是 Polkadot 要做的,在 Web3.0 时代用 Web3.0 的形式来实现治理(当然有点理想化,链下活动是始终存在的,协调也是一种治理),相当于实现 Vitalik 提到的决策的链上化。
关于链上治理的优点,Polkadot 的 Phil Lucsok 曾明确提出大概有几点:1. 透明、治理过程公开; 2. 整个过程可以追溯,找到责任人; 3. 强绑定,治理决定和执行之间不会有摩擦成本,不会出现根本不执行的情况。
Polkadot的链上治理内容
Polkadot 的链上治理由以下几部分组成:1. 议案与公民大会;2. 理事会和技术委员会;3. 平行链卡槽的分配;4. 国库管理。
日常提案由理事会提出,理事会成员的选举过程和验证人(Validator)的选举过程一样,遵循顺序弗拉格曼(Phragmen)方法,详情可见 NPoS 选举办法,一共有13个席位(后期逐步扩大到23个席位),任期为2*理事会成员数量*周,后固定在1年。治理过程依赖代币 DOT,DOT 的主要作用:1)提交议案;2)为议案背书或者提前决议某议案;3)对所有活动议案投票;4)成为理事会的选举成员;5)对成员进行选举。
所有的议案都要经过全民大会(referendum)公投,议案类型如下:
大众公开议案(由大众提出)
理事会经过大多数成员或者所有成员提出的议案
前次生效公投中的部分议案
由技术委员会提交,并由理事会通过的紧急议案
理事会类似代议制的下院,负责日常议案的提出,为了避免议员垄断理事会,大众也可以直接进行公开提案,需要大众质押代币。当然这也不能完全避免议员垄断理事会,所以成员的任期是有时间限制的,这继承了 proportional justified representation 的优点。同样地,成员的选举仍可以施加线下影响力。理事会提出的议案需要全民投票(referenda),这也是一个可以避免理事会操纵的方法。
重要设计制度1:Turnout biasing - 增加投票率,主动和被动投票者的平衡
Polkadot 设计了一种重要的 Turnout biasing 机制,用以平衡在不同类型投票中的提案者、投票者和理事会成员之间的关系:
大众公开议案
适用正向偏向投票机制(positive turnout bias)。参与率低时,倾向于反对投票;参与率高时,倾向于通过投票。
反对/sqrt(参与数) <通过/sqrt(全体数)
多数理事会投票
对参与率不做 bias 判定(neutral turnout bias),按照正常的简单比例投票进行。
反对<通过
全员理事会投票
适用负向偏向投票机制(negative turnout bias)。即由全部理事会成员支持的投票,和正向相反,参与率低的时候,倾向于通过投票,参与率高的时候,倾向于反对投票。
反对/sqrt(全体数) <通过/sqrt(参与数)
下图描述了 Turnout biasing 机制的作用过程:
该制度的分析:
对于一个大众投票,Polkadot 倾向于维持现状,比如一些无关紧要的、甚至比较恶意的改变,需要更多的参与率才可以进行改变,有利于维持系统稳定性,并调动更多投票结果,比如一些比较容易引起大众争议的议案。
对于只有大部分理事会成员同意、但并非全部统一的情况,代表理事会内部有歧义,这样使用简单大多数投票就可以了,不会涉及财阀贿赂。
对于一个理事会全部同意通过的议案,需要更多的大众投票去否定,也就是说大众可以否定理事会的决议,但需要非常高的参与率。
当参与率都达到100%时,则三种都变成简单多数原则(simple majority principle)。
重要设计制度2:锁仓制度 - 体现大众参与信念
另外还有一个促进参与度的设计,就是所谓的最高票数会加入投票参数作为一个乘数,投票参数就是投票者锁定 DOT 时间的一个简单映射:Max votes = tokens * vote_multiplier
为了让投票者对于自己的意愿和提案有更多的承诺, 这不失为提升参与程度的一个方法,投票者付出了真实的经济利益(流动性)去促使自己的想法得到实现。
重要设计制度3:技术委员会 - 紧急措施
技术委员会的设定来自 Kusama 网络的三院制模式(tricameral model),三院制的三个 Chamber 分别是 Referendum chamber、Council 和 Technical Committee。在最初版的 Polkadot 的治理架构中,该架构并不存在。
技术委员会由之前在 Polkadot 或者 Kusama 参与过协议实现或讨论(Polkadot/Kusama runtime 或 Polkadot Host)的队伍组成,由理事会简单大多数原则选出。如 Joe Petrowski 所述,技术委员会是防止系统出现问题最后防线。其对各种安全问题将做出防控和提交紧急全民决议。全民决议需要3/4理事会成员同意和2/3技术委员会成员同意方可提交,之后的全民投票机制和普通流程一样。由于技术委员会的选举可能不那么民主,所以在涉及政治敏感性或战略重要性的紧急情况,其决议可能不会生效。
Polkadot 的治理机制小结:
Polkadot 的治理机制并不复杂,只是众多 Polkadot 精妙设计的一小部分,但是反映了 Polkadot 的设计初衷,即以 Web3.0 的模式实现 Web3.0 的治理。实际运行起来,也需要各方真实的支持并遵守链上的行为准则。当然在目前 Web3.0 和 Parity 的强大领导下,Polkadot 的治理机制也很难看出问题,预计考验会出现在“真正”的去中心化之后,但彼时的治理结构也会更加不同。
未来治理的发展
从目前公链治理的发展来看,对于 onchain 和 offchain 没有一致结论,而且两边都有公链支持。在实际行动上,我们看到新一代的公链基本就是三个态度:1. 链上治理为主;2 .反对链上治理(如以太坊2.0);3. 采用链下治理,但是对链上治理持开放但谨慎的态度,分布比较均匀。几乎所有的意见都没有完全放弃另一方的意思,链上和链下治理的问题是天然存在的,每一个链只能选择链上或者链下,但普通参与者可以选适合自己的去参与,无论治理模型多么的精妙,最终的选择权仍然在大众和市场。
比如 Near 就认为:“一些公链依赖链上治理,协议中的一些决策由链上投票决定。虽然过程很透明,但需要仔细对待每一件决议,而且也面临一些常识错误所牵动的攻击可能。”
Solana 也持类似的观点:“我们对链上治理比较谨慎,自动改变会成为一种安全攻击向量。” 但对于链上治理,他也觉得需要探索,“链上治理最终会成为一种比较重要的特性,我们一开始会从比较小的事件起步,比如交易费的决策。但最终目标非常清晰,即治理模式不可以影响性能。”
也有比较中性的,像 Nervos:“…研究了大量关于治理方案,但还没有一个切实可行的方案,所以 Nervos Network 的治理方案会持续迭代。在早期,Nervos 基金会将会担任项目的治理主体。随着时间发展和 Nervos 社区的壮大,我们希望社区成为治理的主体。”
链上治理被攻击的特点常遭诟病,特别是普遍提到会产生一些脱离实际需求的改进例子。而链下治理则主要在于透明性和决策是否是正直的,但是如我们之前提到,实际上也没有完全的链上治理, 大部分的线下影响力仍然持续,Polkadot 也不例外,关键在于如何让协议更加有效和健壮。
除安全问题外,链上治理还有一个财阀政治(plutocracy)问题,即 token 数量决定了决策过程的走向。支持的人认为因为持有多数 token 的人会更加关心网络的发展,所以赋予他们更多决策权是正常的。反对者认为这会造成财阀政治,即由大户说了算,因而链下治理更优越。
社区曾有意见认为分叉是一项链下治理赋予的重要权利。但其实硬分叉和退出网络到底有多大的区别?大部分议题,总有一部分人反对,一部分人支持,小部分议题,可能会造成分裂,无论是链上还是链下。所以把分叉作为一种优越的手段,或许没有考虑到,所谓“无分叉”的链上治理也可以:退出所有 token, 源代码复制一遍另起炉灶,全节点照样可以选择接受或者不接受这个新的“分叉链”。
不可否认,区块链还处于早期,还在升级过程中,还会遇到各种紧急问题,需要各种链下的决议。但相对成熟后,链上治理的占比应该会提高。比如2016年 DAO 问题经常被各种文章引用指摘链上的不足,和最终靠链下来解决,但技术社区也在改进,所以不能说 DAO 那样的问题不会出现,但是可能性在减少。
区块链治理的有效性关乎五点:透明、正直、有效、协作、安全。在这五个品质中,链上显然是透明的,链下是有效的,而对于正直、协作和安全则不那么明显。链上和链下不存在一方绝对能胜过另一方的情况,优劣点是天生的,取决于分布式系统自己的选择倾向。
链上和链下不是绝对的好与不好的问题,是适用边界的问题。Darcy W. E. Allen 和 Chris Berg 提出链上治理只可能是整个治理协议的一部分,可以链上化的是控制权,但是由于区块链的多边市场、技术生态和企业需求,这些隐性的合约只有在线下进行。同样,链下治理也是整个治理协议的一部分。
一些法律学者也在思考链上和链下的问题,如 Wessel Reijers 等人在 Now the Code Runs Itself 中提出,虽然链上治理是有脆弱性的,但是可以通过宪政专治(constitutional dictatorship)来赋予特定集团有限特权,解决紧急情况下的问题,也类似 Polkadot 的理事会和技术委员的角色。
设想一下,若干年后,早期创始团队退出舞台,届时又需要一个怎样的治理模式来规管这类分布式组织呢?不可否认,如同现实世界中一样,世代的更迭会有一代又一代的领袖出现,也会有各种充满着个人意志的代码被烙印在区块链系统上,无论是外源的还是内源的。那么终归需要有一套相对清晰的制度来限制并流程化这种影响力,这应该是链上治理的终极意义。从这个角度看,区块链系统不应该放弃对链上治理的探索。