波卡代理账户允许用户将一个帐户保留在冷存储中,通过各种代理权限更安全参与网络。

原文标题:《波卡如何设置代理账户?|Polkadot Wiki》
撰文:Polkadot
翻译:PolkaWorld

波卡提供了代理模块,你可以通过它来设置代理账户,从而增加一层安全性。本文是波卡百科(Polkadot Wiki)的一部分。Polkadot Wiki 是由波卡官方撰写的波卡介绍文档,PolkaWorld 正在逐步翻译和连载该文档。

Polkadot 提供了一个模块,允许用户设置代理帐户来代表他们执行有限行为的操作。与 Staking 中的存储和控制账户关系非常相似,代理账户允许用户将一个帐户保留在冷存储中,并使用该账户中代币的权重积极参与网络。

代理类型

你可以通过代理模块设置代理账户。设置代理账户时,必须为关系选择代理类型。Polkadot 提供以下关系:

  • 任何代理
  • 非转账
  • 治理
  • Staking
  • 身份判断

当代理帐户进行代理交易时,Polkadot 会过滤这个交易,以确保代理账户具有代表 cold 帐户进行该交易的适当权限。

任何代理

顾名思义,代理类型 「Any」 允许代理账户进行任何交易,包括余额转账。在大多数情况下,应该避免这一点,因为代理账户比 cold 账户使用频率更高,安全性也较低。

非转账代理

「非转账」类型的代理账户是允许除了余额转账(包括 vested 类型的转账)以外的任何类型交易。

治理代理

「治理」类型将允许代理人进行与治理相关的交易(即民主、理事会、财政部、技术委员会和选举模块)。

有关治理代理的更多信息,请参见 治理 部分 :

Staking 代理

「Staking」代理类型允许进行 staking 相关交易,但不要将 Staking 代理与控制账户混淆。在 Staking 模块内,一些交易必须来自 Stash 存储账户,而其他交易必须来自 controller 控制账户。Stash 账户将保留在冷存储中,而 Controller 账户进行日常交易,例如设置 session 密钥或决定提名哪些验证人。不过,Stash 储蓄账户仍需进行一些交易,比如绑定额外资金或指定新的控制账户。代理账户不会更改存储账户和控制账户的角色,但可以使存储账户的访问频率更低。

身份判断代理

「Identity Judgement」 代理账户允许注册中心对账户的身份进行判断。如果你不熟悉链上的判断和身份,请参阅 本页

匿名代理

Polkadot 包含一个创建匿名代理的函数,该账户只能通过代理访问。也就是说,它生成一个地址,但没有相应的私钥。通常,主账户指定代理账户,但匿名代理则相反。创建代理关系的账户是代理账户,新账户是主账户。对匿名代理使用 exreme care,删除代理关系后,账户将无法访问。

波卡代理账户如何提高安全性?三分钟搞定设置

为什么使用代理账户?

代理账户非常适合用于特定目的,因为它们添加了一层安全性。不同于在一个单独的账户中使用资金,具有独特角色的小型账户可以完成储蓄账户的主要任务。这会将注意力从主账户转移到代理账户。

特别是匿名代理,可以用于无权限管理。在下面的示例中,有一个多重签名,里面有四个不同的账户。其中的两个账户,Alice 和 Bob,有一个匿名代理。如果多重签名帐户想在匿名代理中添加或删除 Alice 或 Bob,甚至添加一个新账户,则匿名代理将负责该更改。如果多重签名账户想在没有匿名代理的情况下修改自身,那么需要创建一个新的多重签名账户。

波卡代理账户如何提高安全性?三分钟搞定设置

如何设置代理账户

使用 Polkadot-JS UI

要设置代理,请导航到 Polkadot JS UI 并单击「Developer」>「Extrinsics」。在这里我们将看到一个与此类似的页面:

波卡代理账户如何提高安全性?三分钟搞定设置

要添加代理,请单击模块选择下拉菜单。下拉列表标记为「提交以下外部文件(submit the following extrinsic)」。选择 proxy 代理模块,然后选择 addProxy extrinsic (在其旁边的下拉菜单中)。要添加代理,需要选择 addProxy (proxy,proxy_type)函数。你设置的所选代理帐户将是具有代理的账户。顶部选定的账户是将作为主账户的账户。

注意:如果在添加代理时看到「未使用」选项,则这不是代理类型。这是一个空的选项,如果你尝试将其添加作为代理账户,则不会发生任何事情。不会创建新代理。

在 Polkadot-JS UI 上创建匿名代理

对于匿名代理,需要调用另一个函数,即 anonymous(proxy_type, index) 。这会让你选择要设置哪种匿名代理,以及索引。

波卡代理账户如何提高安全性?三分钟搞定设置

另一种创建代理的方法

还有另一种方法可以在 Polkadot JS UI 上设置代理。转到导航中的「账户」,然后单击「账户」按钮。对于你在这个页面上的每个账户,点击三个点按钮可以直接「添加代理」创建代理账户。然后将在你的屏幕上弹出一个窗口,你可以在其中选择该特定账户的代理类型。

波卡代理账户如何提高安全性?三分钟搞定设置

注意:不能从「账户」页创建匿名函数,必须在「外部」页上。

移除代理

如果要删除代理,extrinsic 外部页面上有几个函数可以帮助你完成此操作。killAnonymous() 函数可以删除匿名代理。removeProxies() 和 removeProxy() 都可以删除任何其他类型的代理,但前者将删除所有代理,而后者是删除一个选定的代理。

波卡代理账户如何提高安全性?三分钟搞定设置

总结

如果代理类型及其应用程序的概念看起来很抽象,那么它的确很抽象。下面是一个如何使用这些账户的示例。假设你有一个账户作为你的主要代币持有账户,并且不想经常访问它,但是你确实希望参与治理和 Staking。你可以设置治理和 Staking 代理账户。

波卡代理账户如何提高安全性?三分钟搞定设置

在本例中,主账户 A 只会进行两次交易,将账户 B 设置为治理代理账户,账户 C 设置为 staking 代理账户。现在,账户 B 可以代表 A 参与治理活动。

同样,账户 C 可以执行通常与存储账户相关联的操作,例如绑定资金和设置控制账户 D。通常需要存储账户的操作,如绑定额外代币或设置新的控制账户,都可以由其代理账户 C 来处理。如果账户 C 受到破坏,它没有转账相关交易的权限,所以主帐户可以设置一个新的代理来替换它。

通过创建多个账户来代理一个账户,它可以让你在保护私钥的同时还能积极参与网络,从而有更精细的安全措施。

来源链接:wiki.polkadot.network