波卡作为推进链上治理的区块链项目,其设立的国库、议会、公投等治理机制一直走在行业的前沿,而随着第一个版本的治理机制运行一段时间后,也发现了此前的治理存在诸多问题。
对此,波卡将会持续改进自己的治理机制,使得波卡能够以去中心化的方式更好地持续发展。对此,近期波卡迎来了一次治理机制的更新,推出了新版治理OpenGov。
Polkadot使用一种复杂的治理机制,使其能够根据其集合的利益相关者的最终要求优雅地发展。既定目标是确保大多数质押者始终可以控制网络。
本文档内容可能会发生变化。治理协议已经经历了几次迭代(v1和v2),在规划中有更多变化(v2.5)。
波卡的第一个去中心化治理系统(v1)由三个主要组件组成。
技术委员会——管理升级时间表的技术委员会。
理事会——一个经过投票批准、选举产生的执行“政府”,负责管理参数、管理和支出提案。
Referenda(公投)——对其他所有事物的普遍投票系统,奖励具有更大影响力的长期利益相关者。
该系统在运行的头几年运行良好,有助于确保适当使用国库资金并能够及时升级和修复。
与大多数早期技术一样,系统和协议必须随着它们的成熟而发展,以改进它们的缺点并跟上现代进步。例如,在治理v1(Governance v1)中,所有公投都具有相同的权重,因为一次只能对一个公投进行投票,并且投票期可以持续数周。这导致系统倾向于仔细考虑极少数提案,而不是广泛考虑许多提案。
因此,OpenGov(也称为治理v2,即Governance v2)就应运而生了!
OpenGov改变了日常决策的实际方法,使公投的影响范围更广、更灵活,从而显著增加系统能够做出的集体决策的数量。
OpenGov在Kusama上启动。一旦在Kusama上经过严格测试,将提出将其部署在波卡上的建议。
以下内容将首先介绍波卡网络上的许多核心治理原则。
了解治理v1的根源对于更好地理解第二次迭代的方向很重要。这些差异和区别将在各个子主题中突显出来。
话虽这么说,但重要的是要记住,治理是在其生命周期的这个阶段不断发展的协议。随着治理v2的更新进入网络,治理v2.5的计划已经在制定中。
前提
在高层次上,该网络汇集了各种新颖的机制,包括存储在链上并以平台中立的中间语言(即WebAssembly)定义的无定形状态转换函数,以及多种链上投票机制。
例如具有自适应超级多数阈值的公投和批量批准投票。对协议的所有更改都必须通过质押加权公投来达成一致。
机制
在治理v1中,活跃的通证持有者和议会共同管理网络升级决策。无论该提案是由公众(通证持有者)提出还是由议会提出,最终都必须经过全民公投,让所有持有者以质押和信念值(conviction)为权重,做出决定。为更好地了解议会的组成方式,请阅读本节(https://wiki.polkadot.network/docs/learn-gov2#council)
治理v2有几个变化。新治理模式反映其去中心化特征的方式是:
通过民主投票将议会的所有责任转移给通证持有者。
解散现任议会集体。
允许用户以更多方式将投票权委托给社区成员。
治理v1中的议会履行了其作为被动通证持有者代表、国库监护者和立法发起者的角色,但通常被视为一个中心化实体。
为了进一步去中心化波卡和Kusama网络,OpenGov提议将议会的职责交还给社区。
公投
公投是简单、包容、基于股权的投票方案。每个公投都有一个与之相关的特定提案。
该提案采用Runtime特权函数调用的形式(包括最强大的调用:set_code,它可以切换runtime的整个代码,实现原本需要“硬分叉”的功能)。
公投是具有固定投票期的非连续事件。在投票周期结束并统计投票结果时,如果投票通过,则调用函数(set_code)。
公投总是二元的;你在投票时的唯一选择是“赞成(aye)”、“反对(nay)”或完全弃权。
在治理v1中,公投可以通过以下几种方式之一启动:
- 公开提交的提案;
- 议会以多数票或一致通过的提案;
- 作为先前全民投票颁布的一部分提交的提案;
- 由技术委员会提交并经议会批准的紧急提案。
所有公投都有与之相关的公投通过延迟(enactment delay)。这是从公投结束到假设提案获得批准、正在实施的更改之间的时间段。
如果公投被关闭和统计,则公投被视为已完成。同样,假设该提案获得批准,它将被安排颁布。如果公投正在等待结果,即被表决,则公投被认为是未完成的。
如果提案是由公众或议会提交的,则有28天的固定颁布延迟期。作为先前全民投票颁布的一部分提交的提案可以根据需要设置颁布延迟期。
紧急提案处理与网络相关的主要问题时,需要被“快速跟踪(fast-tracked)”,从而缩短立法时间。
在OpenGov中,任何人都可以在任何时候开始公投,而且他们可以根据自己的意愿进行多次公投。
引入了几个新功能,称为Origin和Track,以帮助处理全民投票协议的流程。
Origin可以被认为是给定特权级别的丰富描述符(a rich descriptor)。公投的提议者现在要根据提案的要求为他们的请求选择一个合适的Origin。
每个Origin都与一个公投类别相关联,每个类别都与一个Track相关联。该Track概述了提案的生命周期,并且独立于其他类别的Track。
拥有独立的Track允许网络根据其隐含的特权级别来调整公投的动态。
因此,例如,Runtime升级(set_code调用)对生态系统的影响与国库Tip(reportAwesome调用)的批准不同。
因此需要不同的Origin,其中不同的投票率、批准、押金(deposit)和最短制定期将在Pallet上预先确定。
提议公投
1、公众公投(Public Referenda)
任何人都可以通过在一定时期内(区块数)存入最低数量的通证来提议公投。如果有人同意该提议,他们可以存入相同数量的通证以表示支持。
此操作称为公开支持(endorsing)。获得最高绑定质押数支持的提案将被选为下一个投票周期的公投。
请注意,这可能与公开支持(endorsing)的绝对数量不同;例如,三个账户每个绑定20个DOT将“超过”十个账户每个绑定一个DOT。一旦提案被提交(即进行投票),绑定的通证将被释放。
对于治理v1,提案队列中最多可以有100个公众提案。在OpenGov中,当最初创建公投时,社区可以立即对其进行投票。
但是,它并没有处于可以结束或以其他方式计算其选票、获得批准和即决颁布的状态。
相反,公投必须满足一些标准,然后才能进入称为决定中(Deciding)的状态。在他们处于这种状态之前,他们仍然犹豫不决。
进入Decided状态的标准如下:
- 一个引导期。概述了在决定中(Deciding)可以开始之前必须经过的时间量。这有助于减少“突然决定”的可能性,在这种情况下,控制大量投票权的攻击者可能会在提议后立即通过提案,而不是让全体投票人口有足够的时间来考虑和参与。
- 必须有决定的余地。所有Track都对可以同时决定的全民投票数量进行了限制。具有更强大能力的Track将具有更低的限制。例如,根(Root)级别的Origin有一个限制,这意味着一次只能决定一个超级危险的提议。
- 必须支付决定押金(Decision Deposit)。创建公投的成本很低,因为押金价值仅包含跟踪它所需的链上存储所需的价值。但是,对公投进行审查和决定有可能会耗尽公投队列中有限的席位。有一个更大的,但可退还的押金要求,以帮助减少垃圾邮件是有意义的。
2、议会公投(v1)
全体一致的议会公投:当议会的所有成员都同意一项提案时,可以将其移至公投。
此次公投将产生负的投票率偏差(即,质押投票的数量越少,通过所需的数量就越少——参见自适应群体偏差
https://wiki.polkadot.network/docs/learn-gov2#adaptive-quorum-biasing)。
多数投票率的议会公投:当只有简单多数议会成员同意时,也可以对公投进行投票,但它将是多数票(51%)获胜。
在任何给定时间只能进行一次有效的公投,除非还有正在进行的紧急公投。
3、投票时间表
在治理v1中,假设其中一个队列中至少有一个提案,每28天就会进行一次新的公投。
议会批准的提案有一个队列,公开提交的提案也有一个队列。将在两个队列中排名靠前的提案之间轮流进行全民投票。
排名“最上面”的提案由其背后绑定的质押数量决定。
如果当前队列选择尝试创建没有提案的公投(它是空的)并且提案正在另一个队列中等待,则另一个队列中的最上面的提案将成为公投。
不能在同一时期对多项公投进行表决,紧急公投除外。
与常规公投(公共公投或议会提议的公投)同时发生的紧急公投是唯一能够同时对多项公投进行投票的情况。
当提案获得批准时,治理v2共享相同的28天资格期。如果在此期间结束时未获得批准,则该提案将自动被拒绝。
4、公投投票(治理v2)
在治理v2中,如果提案满足批准(Approval)和支持(Support)的要求,则该提案将获得批准,从而消除了自适应群体偏差系统。
批准(Approval)被定义为批准投票权重(在信念值调整后)占总投票权重(批准和拒绝)的份额。
支持(Support)是批准的总票数(忽略信念值的任何调整)与系统中可能进行的总票数的比较。
它必须在确认期的最短时间内满足此标准。不同的Track有不同的确认期和批准和支持要求。
现在可以配置其通过所需的支持数量和总体批准。
对于使用较低特权来源的提案,与使用高特权类别(例如Root. 具有较大治理意义的类别可以尽早要求更高的批准,以避免争议。
在OpenGov中, 28天后未获批准的提案将被视为默认拒绝,并退还决策押金。
如果提案设法在确认期结束之前保持通过,则视为已获批准,并计划在通过期之后从提议的来源开始执行。
通过期在全民投票提议时指定,但也受制于基于Track的最小值。
更强大的Track会强制执行更长的执行期,以确保网络有足够的时间为提案可能带来的任何变化做准备。
5、自愿锁定(Voluntary Locking)
波卡使用了一个概念Voluntary Locking,允许通证持有者通过声明他们愿意锁定通证多长时间来增加他们的投票权。
因此,每个通证持有者的投票数将使用以下公式计算:
votes = tokens * conviction_multiplier
conviction multiplier每当锁定期的数值增加一倍时,投票乘数就会增加一个。
锁定期“加倍”的最大次数设置为6(因此总共32个锁定期),一个锁定期等于28天。只允许加倍;例如,您不能锁定24个周期并使您的信念值增加5.5。
有关治理事件时间表的更多信息,请查看波卡参数页面上的治理部分
https://wiki.polkadot.network/docs/maintain-polkadot-parameters#governance。
通证被锁定后,您仍然可以使用它进行投票和质押;您只被禁止将这些通证转移到另一个账户户。
选票总是在同一时间“计算”,即在投票期结束时。这不受通证锁定期的影响。
自适应群体偏差在治理v2中使用的时间更长,并被Approval/Support系统所取代。本文重点介绍了新版治理OpenGov的公投部分,关于OpenGov之后的更多设定我们将在下一篇科普中为大家补充说明。