FIBOS 的链上治理很重要的一个操作就是投票,在 FIBOS 中是存在两种投票操作的:
- 用户进行投票选出超级节点;
- 超级节点进行投票通过/反对提案
用户投票
用户执行投票可以选出超级节点,对于 FIBOS 主链来说,排名在前 21 的超级节点需要承担生产区块的责任,并且能够得到生产区块的奖励。
用户投票的具体过程如下:
- 用户抵押治理币获取 CPU、NET 资源
- 用户执行投票操作,使用 CPU、NET 资源进行投票
说明:
- 一个治理币所抵押的 CPU、NET 资源在投票之后表示一票
- 用户的每一票最多可以投给 30 个超级节点,最少需要投给 1 个节点(如果投给 0 个节点则表示撤票)(这几个参数可以修改智能合约来配置)
- 用户的票权不可分割,不能一部分票投给 A 另一部分投给 B,一旦执行投票表示所有票权都将投给选择的超级节点
- 执行撤票操作(即投票给 0 个节点)会将用户投给所有超级节点的票权撤销,不允许部分撤票
- 超级节点的排名由每个超级节点得到的总票数排序而来,用户执行投票后,排名前 21 的超级节点可以得到生产区块权,排名在后边的节点作为候选节点,在用户投票导致排名上升后可以获得生产区块权
- 超级节点的排名更新周期为 1 分钟,如果未发生用户投票行为或投票为导致排名变化则不更新
举例:
假设 A 用户拥有 1000 FO,他抵押 200 FO 获取 CPU 资源以及抵押 100 FO 获取 NET 资源,也就意味着 A 当前拥有 300 票。A 用户可以给超级节点 BP1,BP2 进行投票(一次操作就可以给多个超级节点投票),则 BP1,BP2 各获得 300 票。如果此时 A 用户再次执行投票,给 BP3,BP4 进行投票,则相当于自动执行了给 BP1,BP2 的撤票,并且给 BP3,BP4 各投了 300 票。
超级节点投票
超级节点在 FIBOS 网络中承担着十分重要的社区治理的作用,更新系统合约等重要操作则需要提起多签提案,由超级节点投票通过后,才允许被执行。
这一过程主要由以下操作构成:
- 提案者提出多签提案(所有账户都可以提出提案)
- 超级节点对多签提案进行投票(FIBOS 主链只有排名前 21 的超级节点具有权限,这一参数可以修改智能合约来配置)
- 提案者对获取到 2/3 以上超级节点支持的提案进行执行
说明:
- 超级节点对于提案的投票,每一个超级节点能够投出一票
- 整个网络可以同时拥有多个提案
- 提案在未被执行之前可以由提案者进行撤销
- 提出提案需要消耗提案者的 RAM,提案被执行或者被撤销后占用的 RAM 会被释放
本文的版权归作者 罗远航 所有,采用 Attribution-NonCommercial 3.0 License。任何人可以进行转载、分享,但不可在未经允许的情况下用于商业用途;转载请注明出处。感谢配合!