任何人都可以参与波卡的提名池,提名池也将会是波卡更加去中心化的重要基础设施,因此,我们需要了解提名池的整个生命周期的情况,并掌握如何管理提名池,进而让自己能更方便的参与和退出提名池。
提名池管理
1、状态(States)
- Open:池是开放的,任何人都可以加入。
Blocked:池被阻止了;不允许加入任何人。
Destroying:池正在被销毁。一旦处于这种状态,池可能永远不会恢复到任何其他状态;它只能继续被销毁。所有成员都可以在未经许可的情况下解除绑定;这允许池被拆除,而不管任何个人成员的主动性如何。
2、角色(Roles)
存款人(Depositor):创建池并且是初始成员。存款人只能在所有其他成员离开后才能离开池。一旦他们退出,池就会从系统中完全删除。
- 提名者(Nominator):可以选择池提名的验证者。
- 状态切换者(State-Toggler):如果池被阻止,可以更改池的状态并踢出(未经许可解除绑定/踢出)成员
提名池的生命周期
1、创建
存款人调用create外部程序,设置管理角色并将一些资金转移到资金池中,以便将自己添加为第一个成员。
如上所述,只要池存在,存款人就必须始终是成员;他们将是最后一个离开的成员,确保他们在游戏中始终有一些风险共担的部分。存款人的大量质押始终是池可信度的良好指标。当前在波卡上创建提名池的最低保证金为200 DOT。
池的“提名者角色”选择具有提名外在的验证者。在Polkadot JS Apps UI上,导航到Network > Staking > Pools并单击Add Pool按钮。
UI自动为池分配ID,并允许输入池的名称以及要绑定的存款。
使用Polkadot JS Apps UI创建池时,默认情况下所有角色都映射到Depositor账户。
create如果需要将这些角色中的任何一个分配给不同的账户,请使用Polkadot JS应用程序UI上的Developer > Extrinsics > nominationPools上可用的extrinsic创建池。
2、维持
nominator可以更新池的验证者选择。在Polkadot JS Apps UI上,导航到Network > Staking > Accounts页面,然后单击Pooled按钮。
如果您有任何具有nominator角色的成为池的账户,您会注意到设置提名人的选项。选择要提名的验证者,就像您通常使用提名者账户一样。
状态切换者(state-toggler)可以通过setState extrinsic将池的状态更新为Blocked,然后通过调用unbond和withdrawUnbonded踢出成员。(状态也可以切换回Open)。
3、拆除
可以通过以下方式之一将池推入“拆除”状态:
- 状态切换器将池设置为“正在销毁”。
- 如果池中超过90%的活跃绑定余额已被削减,任何账户都可以将池设置为销毁。
- 当一个池处于“拆除”状态,unbond和withdrawUnbonded变得无需许可,任何人都可以帮助所有成员退出。
- 一旦存款人取款,池中就没有成员了,池中的所有资源都将从状态中抹去。
4、提名池-大幅削减
如果池的基础提名账户被质押系统削减(slash),那么从slash era+1到slash apply era,slash会均匀分布在绑定池和未绑定池中。
因此,在上述era范围内 a) 解除绑定或 b) 活跃的绑定的任何成员都将受到削减的影响。
换句话说,在不当行为期间可能被活跃的绑定的成员将根据其相对于总削减金额的质押按比例削减。
取消绑定池需要被削减,以确保所有在绑定池中支持不当行为验证者的提名者都受到惩罚。
如果没有这些措施,提名者可以在验证者模棱两可之后立即解除绑定,而不会产生任何后果。
这种策略对在slash之后加入的成员不公平,因为他们也会被slash,但会放过解除绑定的成员。
后者对于安全性更为重要:如果提名池的验证者正在攻击网络,他们的成员需要快速解除绑定!
如果验证者被反复削减,避免额外的削减会让他们有动力这样做。
作为参与提名池的用户来说,尤其应该要注意提名池被slash的情况,这将会是参与提名池中的潜在风险。
因此要时刻关注所涉及到的验证者是否是正在进行不当行为,即使进行调整,以免受到不必要的损失。
Root(可以理解为超级管理者):可以改变提名者、状态切换者或它自己。此外,它可以执行提名者或状态切换者可以执行的任何操作。