通过本文,你会了解到:1、典型通过本文,你会了解到: * 典型
BIP的成功实施,需要经历这样几个阶段,
- 草案(Draft),提交BIP到开发者邮件列表和Github仓库,收集社区的反馈,讨论、解决反对意见,如果社区内形成了大致共识(rough consensus),就可以进入下一阶段;
大致共识是指,对反对的意见进行充分地讨论,直到大多数人认为反对意见是不正确的。
-
提出(Proposed),在这个阶段,BIP拥有了可运行的功能代码,并且制定了部署计划;
-
在2017年的隔离见证(SegWit,BIP141及后续相关的BIP)升级过程中,各方势力的角逐如同一场没有硝烟的战争,最终分叉成为两个网络。在这一过程中,
Kusama网络采用了三院制(Tricameral)的治理结构,
- 公投议院(Referendum chamber,也称为立法院),拥有最广泛的成员(即所有的token持有人)和最高的权利,所有的“立法”(即
公众提交议案的流程:
- 使用Polkadot代码仓库提供的build-only-wasm脚本,编译最新的runtime代码,
scripts/build-only-wasm.sh polkadot // 编译完成后,在根目录生成kusama_runtime.wasm文件
-
在polkadot.js/apps Democracy页面(下面简称为某页面),通过
Submit preimage
提交刚生成的wasm文件,并记下对应的哈希值。提交preimage需要质押一定的token,和所提交文件的字节数相关,当提案生效之后,自动归还质押的token。 -
通过
Submit proposal
,填入上一步记录的哈希值和用于锁定的token数量,提交进入公众提案队列。提交议案需要锁定最少1ksm,当针对本议案的公投开始时,锁定解除。别人也可以对提交的议案进行附议(通过Second
),同样需要锁定token,数量和提交议案时锁定的数量一致。 -
Kusama网络每隔7天选择一个新的议案进行公投,这一议案可以是公众提交的支持最高(即提交人和附议人所锁定的token数量最多)的那一个,或者理事会提交的,两种议案轮流进行,如果某一轮其中一类议案为空,则选择另外一类议案。公众提交议案的投票机制总是绝对多数赞成。
-
当我们提交的议案进入公投阶段时,就可以在Democray页面的
referenda
下面看到,通过Vote
对该议案进行投票,投票时,可以给定参与投票的token数量和对议案的信念值(信念值是指如果该议案通过,你希望和新网络“共存亡”的时长,具体的表现是参与投票的token会被锁定的时长,锁定的时间越长,相同数量token的投票权越高)。比如使用10ksm参与投票,信念值是2,那么你的投票权就是20(即10 2),假设投的是赞成票,当投票结束后,结果为通过,那么这10个token的锁定时长是从投票结束之后的16天。如果你完全不想锁定,你可以将信念值设为0.1,那你的投票权就只有1(即10 0.1)。反对票类似,但是因为投票结果和自己的投票方向相反,从而不会将token进行锁定。 -
公投时长为7天,用户可以在这段时间内的任意时间点进行投票和更改投票。
-
用户可以将自己的投票权(参与投票的token数量和信念值)委托给其它账户,一旦委托,token将被锁定,直到解除委托并且对应的投票锁定时间到期。为了保证大额资金账户的安全,可以设置代理投票账户,从而由代理账户进行常用的投票操作。代理账户也可以将代理的投票权委托出去。
-
投票结束后,关闭公投。对于投票通过的公投,在经过8天的等待时间之后就会自动生效。这一时间超过了用户staking的锁定时长,当用户不满意投票结果时,可以选择不再参与staking,享有完全退出网络的自由。
理事会
如果仅仅依赖公投,可以想象治理效率将会很低,所以Kusama网络引入了理事会这样的组织来处理网络中一些常规事务,包括但不局限于:
- 取消由于网络异常引发的staking惩罚,需要至少1/2的理事会成员同意;
- 提交非公众的公投议案,这类议案可以有上述3种不同的投票机制,即除了绝对多数赞成,还可以提交过半数赞成和绝对多数反对的议案,前两种需要至少1/2的成员同意,绝对多数反对议案的提交则需要理事会全体成员同意;
- 紧急情况下取消公投,需要2/3的成员同意;
- 对使用国库(treasury)资金的提案进行投票,至少3/5的成员同意才可以通过此类提案,多于1/2的成员则可以直接拒绝。
理事会的成员由持有token的用户投票选举产生的,目前Kusama网络的理事会正式成员有13个,后补7个。选举方式采用的是Phragmén method,每届任期1天,即每24小时重新选举,不过正常情况下成员构成的变化很小,选举流程大致如下:
- 候选人通过Council页面的
Submit candidacy
,来提交候选人申请,需要质押1ksm,如果选举失败没收这1ksm押金,如果成功即成为理事会成员或者后补,则可以把押金取回。 - 通过Council页面上的
Vote
选项,用户可以选择最多16个候选人进行投票,并给出参与投票的token数量,还需要抵押0.05ksm,不过可以随时删除投票,取回押金。 - 选举时间到,结束计票并更新组织成员。
理事会对Kusama网络常规事务的治理是通过提交动议(motion)来实现的,
- 理事会成员通过Council Motions子页面的
Propose montion
选项来提交动议,非理事会正式成员无法提交,提交时需要给出动议所需的最小通过票数(即赞同该动议的最小成员数),并且给出该动议的具体操作,如staking模块用于取消惩罚的cancelDeferredSlash
操作。为了让动议的具体操作可以成功执行,需要确保动议所需的最少票数满足该操作的要求,如cancelDeferredSlash
需要至少1/2的成员赞同,即当前13个成员需要有7个投赞成票。 - 投票时间为3天,其它成员针对此动议进行投票,投票通过则立即执行对应的操作,如果时间截止还没有通过,就可以被任何人关闭。但在关闭之前会检查是否存在高级成员(Prime member),如果存在,并且该成员投了赞成票,那么未参与投票的成员会自动跟随该成员也投赞成票,最后进行计算,确定动议是否通过。
理事会还可以提交公投议案(非公众提交的公投议案),这样即使存在很多公众议案的时候,理事会提交的议案每隔一轮总会被取出来进行公投。一个简单的流程如下:
- 在Council Motions子页面,通过
Propose external
提交一个投票规则为过半数赞成的议案,需要提供新的runtime逻辑的代码哈希。 - 理事会其他成员对上述议案进行投票,需要至少1/2的理事会成员同意,才会将该议案放入等待公投的理事会议案队列,该队列目前只能盛放一个议案。
- 在Democracy页面
Fast track
选项,技术委员会的成员可以为该议案申请进入快速通道,如果技术委员会2/3的成员赞同则打开快速通道,这意味着议案可以直接进入公投状态,投票时间缩短为3小时,而如果全体成员赞同则可以取消投票时间的限制。只要成功进入快速通道,不管何种情况,生效时间都没有限制。
技术委员会
技术委员会的成员是实现或者定义Polkadot/Kusama协议的团队,实现了其中某一个协议,则占有一个成员席位,如果两个都实现,那么占据两个席位。成员的增减决定需要通过理事会1/2以上的成员同意。技术委员会目前的职责主要包括:
- 上述提供快速通道的功能;
- 否决理事会的公投提案,每个成员针对某个提案只有一次否决机会,并且只能持续7天。
国库
Kusama引入了国库的机制,收归国库的费用主要包括,
- 交易手续费分成(80%);
- staking罚没的金额;
- 理事会候选人落选后的押金;
- 账户被删除后的沉淀资金等。
随着Kusama网络的成长,目前国库的可用余额约为160000ksm,对Polkadot/Kusama生态有益的贡献都可以申请国库内的资金,达到一定程度的激励作用,下面这些领域的贡献都是欢迎的:
- 公投议院(Referendum chamber,也称为立法院),拥有最广泛的成员(即所有的token持有人)和最高的权利,所有的“立法”(即