区块链治理机制是区块链设计中重要的设计环节,治理可以使不同立场的参与者之间达成共识,也关系到网络生态是否具有发展的生命力。治理机制通常分为两个层面:链下和链上。链下治理会有规则及参与者边界模糊的问题,而链上治理则存在大户垄断及用户参与度不高的问题。这些问题最终都会造成公链生态随着规模扩大而逐渐陷入混乱。举例来说,规则模糊会导致议案陷入争议时无法解决,决策效率过低; 大户垄断或用户参与率低会造成生态发展趋向少数人利益。因此,如何找到适合的治理机制成为公链发展的当务之急。
本文分为三个部分:第一部分探讨区块链不同治理机制的优劣,第二部分研究 Dfinity 的治理机制流程,第三部分分析 Dfinity 治理机制特点及发展方向。
区块链通常需要治理机制来帮助社区对整个生态网络进行调整及改进,例如更改某些核心参数,或是调整公链路线图等等。目前公链的治理机制主要分为链下治理及链上治理。链下治理是指生态中的参与者在链下协调如何对项目进行更新和升级。链下治理的基础是生态中的参与者广泛参与讨论,其主要流程如下:首先,参与者可以研究并制定变更提案。接着,参与者在社交媒体上对提案表达观点,并进行充分讨论。然后,核心开发者根据社区的反馈决定是否接受该提案。如果接受,开发者会对项目代码进行更新和升级。最后,矿工、节点运营商和社区成员决定是否支持提案。如果支持,他们会选择升级节点客户端并维护新链。
而链上治理的所有流程都发生在区块链上,通过智能合约对项目进行更新和升级。链上治理的主要流程是:首先,参与者可以研究并制定提案。然后,通过区块链对提案进行投票。最后,统计投票结果,如提案通过,则所有节点自动升级。
无论是链上或链下治理都需要解决三个问题: 一是用户参与率不高,二是容易造成大户垄断,三是治理规则模糊。Dfinity 采用的是链上治理机制,并尝试运用群众智慧的方式解决上述三个问题。
在 Dfinity 区块链网络中,BNS(区块链神经系统)是网络运行的治理系统。BNS 内部是由许多神经元(Neurons)以非固定的方式连接的网络结构,主要以民主投票的方式判断每个提案通过与否。Dfinity 治理机制的核心逻辑是用户将代币质押在神经元,并通过神经元投票。这些神经元可以根据议案不同,选择不同代表并追随其投票,形成流动民主的概念。
Dfinity 的治理机制和其他公链最大的差异在于其调整规则的弹性,Dfinity 治理规则分为两层:BNS 规章及链上智能合约。BNS 规章是神经元社区参考的一个精神性目标文档,主要有三个目标:第一,定时安排合理的系统升级,第二,冻结不道德或暴力的应用系统及智能合约。第三,长期地提升 Dfinity 生态的市场价值。链上智能合约规范了 Dfinity 的各种参数,包含投票权重、区块奖励等。无论是 BNS 规章或是链上智能合约,任何神经元都可以向 BNS 提交修订规则的提议,相较其他公链治理有更大的弹性。
治理流程
Dfinity 治理流程主要分为四个阶段:创建节点;提案阶段;投票阶段及执行阶段。
创建神经元
Dfinity 运用 BNS 来进行治理,其节点称为神经元。任何人都能在 BNS 中质押代币,创建和运行一个神经元,并通过质押代币至神经元获得报酬。报酬由两部分组成,一部分由用户质押的代币数量决定,与质押代币数量成正比;另一部分由神经元的活跃程度决定,与一定时间内神经元参与投票的提案数量成正比,代币质押锁定期为三个月,类似 PoS 的质押机制。该机制将用户在质押期所做的决策连结到代币价值,进而激励用户做出正确的决策。当用户创建了神经元后,会获得公钥和私钥。公钥用于证明神经元身份以及对提案进行投票。而私钥则用于神经元管理,例如退出神经元系统。
提案阶段
任何运行神经元的用户都可以进行 BNS 上的提案,但 BNS 对提案者的资格有两个审核标准:第一,提案者须证明自己拥有提出此提案的合理性,包含专业性证明、Twitter 过去发文或参与生态推进的证明等。第二,提案者需要在提案中准确地描述问题以及解决方法。BNS 提案方式类似以太坊 EIP 提案,但不同的是,EIP 提案直接交由链下社区讨论及投票,而 BNS 上的提案会先由专业审核员审核是否达到上述两个标准,通过后才会交由链上神经元投票。
用户如果要提案需要支付两笔费用,一是支付专业审核人员及参与投票神经元的酬劳,二是提案保证金,提案被采纳后,BNS 即退还保证金至神经元,此举主要是为了激励提案者提交高质量的提案。
投票阶段
用户在投票阶段可以有两种投票方式:主动投票及跟随投票,两种方式都需要用户质押代币至神经元。BNS 上会显示当前尚未决定议案,包含经济参数、系统规则、系统协议、客户端升级、修改质押金额以及冻结/解冻账户等类型,用户有三个投票选项:采纳、拒绝和弃票。
一般来说,用户受限于时间及专业知识,无法对所有提案都做出自己的判断并主动投票。举例来说,整个 Dfinity 网络中可能只存在小部分神经元有能力对系统协议升级作出正确的判断。而对于超出自身理解范围的提案,用户可以选择跟随投票,也就是自身不做判断,而是选择跟随其信赖的神经元的投票结果。其跟随的神经元可以是核心开发者、客户端或是任何用户,并可以随着不同议案类型进行跟随优先级调整及排序。众多神经元之间相互跟随,便会形成一个神经元网络。
投票的有效时间结束后,BNS 会收集神经网络的投票总结果,并判断提案是否通过。当神经元跟随的其他神经元对于同一个提案有不同投票判断时,该神经元将跟随优先级排序最高的神经元投票结果。
在投票阶段需注意三点:第一,投票过程具有结果不确定性。BNS 的提案到选举截止过程,用户无法得知当下投票结果,需要等到所有神经元投票完成后结果才会公布。第二,投票具备隐私性。没有用户能够知道神经元之间的跟随关系,或是预测哪个神经元会对议案具有关键性的影响力。第三,神经元可以通过发布文章或证明自己权威身分来吸引神经元跟随自己投票。这也赋予 Dfinity 用户讨论议提案的能力及网络的社交属性。
执行阶段
一般来说,通过的提案执行方式可以分为被动执行和主动执行。被动执行的提案主要涉及 Dfinity 上智能合约的参数改变。举例来说,神经元的质押参数,或是修改出块奖励等。更新的提案参数会被动地写入 BNS 下智能合约的数据库中,后续执行时会直接生效。而当提案超出 BNS 智能合约能控制的,例如涉及 BNS 规章层次,就会需要人为主动执行去覆盖 Dfinity “代码即法律”的部分。举例来说,修改系统代码的漏洞或是冻结违反 BNS 规章的智能合约或神经元。主动执行过程需要通过调用添加到以太坊虚拟机上的特殊操作码来实现。
前文可知,Dfinity 用户可以按照社区的意愿修改规则,这一点与以太坊治理机制有所不同。以太坊坚守的治理原则是“代码即法则(The Code is Law)”,给予系统完全的独立性。而 Dfinity 在代码治理的基础上加入了群众智慧的要素,不以建立完美的代码架构为目标,而是以系统能够迅速调整规则为目标。
Dfinity 治理特点
流动民主
现实社会中,流动民主的概念介于直接民主及代议民主之间,能更灵活和有效率地反映政府及代议士的合法性。流动民主有几个特点:第一,选民可以随时变动授权对象,代议士没有任期限制,代议权力随着不同议案流动。第二,任何人都有资格成为代议士,无论背后代表了几个选民。第三,选民可以选择不通过代议士直接投票。第四,选民拥有限量的授权票,并且可以赋予一位或多位代议士投票的权力。在流动民主的制度下,若代议士不称职,选民可即时调整授权票,让该代议士失去代表的合法性,并且会导致该代议士的投票权重下降,减低其对议案的影响力。如果代议士想继续持续代表选民投票,便必须游说选民,并谨慎负责地代表选民做每一项决定,以说服选民再次授权。
可以发现,Dfinity 的治理机制与现实社会的流动民主非常类似,基于区块链平台也使得分配授权票及议案表决变得十分容易。流动民主治理方式有别于直接民主以及代议民主(EOS),主要有三个优势:第一,降低用户的投票成本,避免因为用户专业知识不足而导致议案投票率过低。第二,避免权力垄断。DPoS 治理机制容易导致超级节点垄断生态治理权,存在中心化及系统鲁棒性弱的问题。而由于 Dfinity 的流动民主机制并无任期限制,所以较不容易出现中心化的情况或是选民意志与代议士意志相悖的情况。第三,避免“选举工程”的出现。DPoS 选举机制会导致超级节点与选民利益分配的情况发生,且利益分配与生态发展目标相悖离。Dfinity 上的代议神经元虽然有归票的能力,但神经元不会直接获得委托投票的报酬,选举工程成本较高。
虽然 Dfinity 选择的流动民主治理模型看似完美公平,但还是可能产生一些问题:第一,对于参与 Dfinity 生态的目的是赚取报酬的用户来说,选择正确且具公信力的神经元,从而保证收益和投票的正确性,依然是非常困难的。用户需要在每个提案投票时思考是否该换人跟随,并时常监督自己跟随的神经元投票倾向是否正确,间接提高了参与治理的难度。第二,Dfinity 治理制度相当于在生产过程中便进行民主决策,而现实社会政治制度主要是在政策推出后才会由民主投票审查。当 Dfinity 生态逐渐扩大,议题的学习门槛会逐渐提高,Dfinity 的治理制度将容易出现民粹主义并影响治理投票的公正性。
弹性决策
传统的公链如比特币或以太坊会尽可能创造完美的代码规则,但是长久存在两个不足之处:第一,开发者需要花很长的时间测试系统代码,且漏洞常常是不可避免的。当黑客入侵系统并盗取大量代币时,唯一可能的解决方式是进行硬分叉处理,而无法通过修改规则或人为介入来解决。第二,虽然一般用户能够参与公链的治理,但受限于专业能力,并无法参与代码规则的设立。但是代码的漏洞却会造成用户巨大的损失,违反了用户利益的公平性。Dfinity 的 BNS 系统能够访问虚拟机中的特殊操作码,允许 BNS 冻结、解冻和修改其他独立的智能合约,并且可以更新客户端软件状态。因此 Dfinity 通过变动性的群众智慧使整个公链维持一致性,并能够迅速适应突发事件,避免硬分叉的发生。
Dfinity 尚未上线,许多细节及潜在问题还有待讨论。以下主要讨论两个潜在问题:共利提案和权力集中。
共利提案
共利提案是任何社区中最容易通过的提案,诸如增加挖矿奖励或是降低质押比例等。这些提案对所有节点来说都是有利的,尤其是在生态早期,通过共利提案有利于早期用户最大化自身利益。频繁地通过共利提案并修改奖励规则容易导致生态的不稳定且无法扩大。虽然 Dfinity 强调可以通过市场机制来避免这个问题,即奖励增加造成过高的供给,导致市场价格下跌,但问题在于,在生态早期,奖励代币的数量和整个网络流通比率并不足以影响其价格,同样也无法阻止神经元通过此种共利提案,如何在其中找到平衡将成为 Dfinity 上线后的一个挑战。
权力集中
Dfinity 利用 BNS 及神经元的治理机制可以很大程度地避免 DPoS 大户权力垄断的情况,但仍存在权力集中的可能性。由于 Dfinity 规则可以通过用户投票改变,神经元权力集中造成的影响将会更大。主要发生权力集中作恶的可能性有两个:第一,一个神经元长期表现善良行为而获得大量跟随神经元,其只通过一次作恶提案便会对网络造成巨大的损害。第二,当系统受到攻击或代币价值大幅下降造成恐慌时,神经元将会容易形成民粹主义,在此情况下群众智慧将会导致网络的失败。因此 Dfinity 的治理机制需要搭配强大的激励机制及制衡手段才能避免生态陷入混乱。
除此之外,Dfinity 治理机制成功与否完全取决于神经元的行为。如果神经元良好表现所能获得的奖励低于作恶所能获得的利益,那么贿赂、共谋或是因为成本考虑的中心化现象均有可能出现。Dfinity 目前尚未提及提案审查人员如何遴选,以及他们是依据何种标准做出判断,如何实现治理的三权分立将是 Dfinity 在未来需要考虑之处。
总而言之,Dfinity 的治理机制拥有 Dao 全民自治的精神,很大程度解决了选举参与率低的问题,并利用投票奖励以及跟随投票机制让用户能够参与自己不熟悉的议案投票。Dfinity 采用的流动民主治理也增加了大户垄断的成本,潜在地降低了系统的中心化程度,削弱了单个节点对网络的控制。由于神经元是在链下客户端由用户进行管理,从根本上说,神经元的跟随关系和决策过程具备隐私性,攻击者难以掌握提案票数的运行情况。但是,Dfinity 依赖群众智慧来订定及修改一切规则,一旦发生权力集中或激励机制失衡,生态容易陷入混乱。Dfinity 项目尚未上线,我们期待能够看到未来 Dfinity 对治理机制有更多的探索以获得最佳治理解决方案。