"Controller" 和 "Stash" 密钥
当我们谈论 “controller” 和 “stash” 密钥时,我们通常在运行验证人或提名 DOT 的语境中讨论它们,但它们是所有用户都需要知道的有用概念。这两个密钥都是帐户密钥的类型。它们的区别在于它们的使用场景,而不是密码差异。上面部分中提到的所有信息都适用于这些密钥。创建新的 controller 或者 stash 密钥时,帐户密钥支持的所有加密算法都是可以选择的。
controller 密钥是一个半在线的密钥,将由用户直接控制,用于提交手动 extrinsics 外部文件。对于验证人或提名人,这意味着 controller 密钥将用于开始或停止验证或提名。Controller 的密钥应该有一些 DOT 用来支付费用,但它们不应该用来保存巨额金额或用来做长期的代币储蓄。因为他们会相对频繁地接触互联网,所以应该小心对待,偶尔可以更换一个新的账户。
在大多数情况下,stash 密钥账户是一个冷钱包,存在于一个安全的、由多层硬件保护的一张纸上。它应该很少(如果有的话)暴露在互联网上或用于提交 extrinsics 外部信息。这把钥匙是用来存放大量资金的。它可以被认为是银行的储蓄账户,理想情况下只有在紧急情况下才可以使用。或者,一个更贴切的比喻是把它想象成埋藏的宝藏,藏在某个随机的岛屿上,只有最初藏它的海盗知道。
由于 stash 账户处于离线状态,因此必须将其资金绑定到特定的 controller 账户。对于非支出行为,controller 账户有 stash 账户资金的支持。例如,在提名、staking 或投票中,controller 可以用 stash 的 weight 来表示其偏好。它将永远无法实际转移或领取 stash 账户中的资金。但是,如果有人获取了你的 controller 密钥,他们可能会将其用于进行存在被 slash 的行为,因此你仍然应该保护它并定期更改。